Browse code

Drop Xenial support

With the goals of Ussuri being Python 3.6 [1], the python 3.5
environment on Xenial is too old. Remove testing and the most obvious
bits of support from devstack.

Also drop claimed support for artful, which is long EOL.

[1] https://governance.openstack.org/tc/reference/runtimes/ussuri.html

Change-Id: Iefcca99904dde76b34efbbfc0e04515dfa5a09e5

Ian Wienand authored on 2019/11/20 08:41:34
Showing 6 changed files
... ...
@@ -492,14 +492,6 @@
492 492
         USE_PYTHON3: true
493 493
 
494 494
 - job:
495
-    name: devstack-xenial
496
-    parent: devstack
497
-    nodeset: openstack-single-node-xenial
498
-    description: |
499
-      Simple singlenode test to verify functionality on devstack
500
-      side running on Xenial.
501
-
502
-- job:
503 495
     name: devstack-multinode
504 496
     parent: devstack
505 497
     nodeset: openstack-two-node-bionic
... ...
@@ -507,15 +499,6 @@
507 507
       Simple multinode test to verify multinode functionality on devstack side.
508 508
       This is not meant to be used as a parent job.
509 509
 
510
-- job:
511
-    name: devstack-multinode-xenial
512
-    parent: devstack
513
-    nodeset: openstack-two-node-xenial
514
-    description: |
515
-      Simple multinode test to verify multinode functionality on devstack
516
-      side running on Xenial.
517
-      This is not meant to be used as a parent job.
518
-
519 510
 # NOTE(ianw) Platform tests have traditionally been non-voting because
520 511
 # we often have to rush things through devstack to stabilise the gate,
521 512
 # and these platforms don't have the round-the-clock support to avoid
... ...
@@ -542,13 +525,6 @@
542 542
     voting: false
543 543
 
544 544
 - job:
545
-    name: devstack-platform-xenial
546
-    parent: tempest-full-py3
547
-    description: Ubuntu Xenial platform test
548
-    nodeset: openstack-single-node-xenial
549
-    voting: false
550
-
551
-- job:
552 545
     name: devstack-tox-base
553 546
     parent: devstack
554 547
     description: |
... ...
@@ -619,14 +595,11 @@
619 619
     check:
620 620
       jobs:
621 621
         - devstack
622
-        - devstack-xenial
623 622
         - devstack-ipv6
624 623
         - devstack-platform-centos-7
625 624
         - devstack-platform-opensuse-15
626 625
         - devstack-platform-fedora-latest
627
-        - devstack-platform-xenial
628 626
         - devstack-multinode
629
-        - devstack-multinode-xenial
630 627
         - devstack-unit-tests
631 628
         - openstack-tox-bashate
632 629
         - ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa:
... ...
@@ -664,10 +637,8 @@
664 664
     gate:
665 665
       jobs:
666 666
         - devstack
667
-        - devstack-xenial
668 667
         - devstack-ipv6
669 668
         - devstack-multinode
670
-        - devstack-multinode-xenial
671 669
         - devstack-unit-tests
672 670
         - openstack-tox-bashate
673 671
         - neutron-grenade-multinode:
... ...
@@ -10,9 +10,8 @@ iputils-arping
10 10
 kpartx
11 11
 libjs-jquery-tablesorter # Needed for coverage html reports
12 12
 libmysqlclient-dev
13
-libvirt-bin # dist:xenial NOPRIME
14
-libvirt-clients # not:xenial NOPRIME
15
-libvirt-daemon-system # not:xenial NOPRIME
13
+libvirt-clients # NOPRIME
14
+libvirt-daemon-system # NOPRIME
16 15
 libvirt-dev # NOPRIME
17 16
 mysql-server # NOPRIME
18 17
 parted
... ...
@@ -24,17 +24,10 @@ DEBUG_LIBVIRT=$(trueorfalse True DEBUG_LIBVIRT)
24 24
 # Currently fairly specific to OpenStackCI hosts
25 25
 DEBUG_LIBVIRT_COREDUMPS=$(trueorfalse False DEBUG_LIBVIRT_COREDUMPS)
26 26
 
27
-# Only Xenial is left with libvirt-bin.  Everywhere else is libvirtd
28
-if is_ubuntu && [ ${DISTRO} == "xenial" ]; then
29
-    LIBVIRT_DAEMON=libvirt-bin
30
-else
31
-    LIBVIRT_DAEMON=libvirtd
32
-fi
33
-
34 27
 # Enable coredumps for libvirt
35 28
 #  Bug: https://bugs.launchpad.net/nova/+bug/1643911
36 29
 function _enable_coredump {
37
-    local confdir=/etc/systemd/system/${LIBVIRT_DAEMON}.service.d
30
+    local confdir=/etc/systemd/system/libvirtd.service.d
38 31
     local conffile=${confdir}/coredump.conf
39 32
 
40 33
     # Create a coredump directory, and instruct the kernel to save to
... ...
@@ -61,12 +54,7 @@ EOF
61 61
 function install_libvirt {
62 62
 
63 63
     if is_ubuntu; then
64
-        install_package qemu-system
65
-        if [[ ${DISTRO} == "xenial" ]]; then
66
-            install_package libvirt-bin libvirt-dev
67
-        else
68
-            install_package libvirt-clients libvirt-daemon-system libvirt-dev
69
-        fi
64
+        install_package qemu-system libvirt-clients libvirt-daemon-system libvirt-dev
70 65
         # uninstall in case the libvirt version changed
71 66
         pip_uninstall libvirt-python
72 67
         pip_install_gr libvirt-python
... ...
@@ -167,7 +155,7 @@ EOF
167 167
 
168 168
     # Service needs to be started on redhat/fedora -- do a restart for
169 169
     # sanity after fiddling the config.
170
-    restart_service $LIBVIRT_DAEMON
170
+    restart_service libvirtd
171 171
 
172 172
     # Restart virtlogd companion service to ensure it is running properly
173 173
     #  https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1577455
... ...
@@ -12,7 +12,7 @@
12 12
 # a multi-node developer install.
13 13
 
14 14
 # To keep this script simple we assume you are running on a recent **Ubuntu**
15
-# (16.04 Xenial or newer), **Fedora** (F24 or newer), or **CentOS/RHEL**
15
+# (Bionic or newer), **Fedora** (F24 or newer), or **CentOS/RHEL**
16 16
 # (7 or newer) machine. (It may work on other platforms but support for those
17 17
 # platforms is left to those who added them to DevStack.) It should work in
18 18
 # a VM or physical server. Additionally, we maintain a list of ``deb`` and
... ...
@@ -221,7 +221,7 @@ write_devstack_version
221 221
 
222 222
 # Warn users who aren't on an explicitly supported distro, but allow them to
223 223
 # override check and attempt installation with ``FORCE=yes ./stack``
224
-if [[ ! ${DISTRO} =~ (xenial|artful|bionic|stretch|jessie|f29|opensuse-15.0|opensuse-15.1|opensuse-tumbleweed|rhel7) ]]; then
224
+if [[ ! ${DISTRO} =~ (bionic|stretch|jessie|f29|opensuse-15.0|opensuse-15.1|opensuse-tumbleweed|rhel7) ]]; then
225 225
     echo "WARNING: this script has not been tested on $DISTRO"
226 226
     if [[ "$FORCE" != "yes" ]]; then
227 227
         die $LINENO "If you wish to run this script anyway run with FORCE=yes"
... ...
@@ -656,9 +656,6 @@ case "$VIRT_DRIVER" in
656 656
         ;;
657 657
 esac
658 658
 
659
-# By default, devstack will use Ubuntu Cloud Archive.
660
-ENABLE_UBUNTU_CLOUD_ARCHIVE=$(trueorfalse True ENABLE_UBUNTU_CLOUD_ARCHIVE)
661
-
662 659
 # Images
663 660
 # ------
664 661
 
... ...
@@ -71,15 +71,9 @@ function fixup_keystone {
71 71
 
72 72
 # Ubuntu Repositories
73 73
 #--------------------
74
-# We've found that Libvirt on Xenial is flaky and crashes enough to be
75
-# a regular top e-r bug. Opt into Ubuntu Cloud Archive if on Xenial to
76
-# get newer Libvirt.
77
-# Make it possible to switch this based on an environment variable as
78
-# libvirt 2.5.0 doesn't handle nested virtualization quite well and this
79
-# is required for the trove development environment.
80
-# Also enable universe since it is missing when installing from ISO.
74
+# Enable universe for bionic since it is missing when installing from ISO.
81 75
 function fixup_ubuntu {
82
-    if [[ "$DISTRO" != "xenial" && "$DISTRO" != "bionic" ]]; then
76
+    if [[ "$DISTRO" != "bionic" ]]; then
83 77
         return
84 78
     fi
85 79
 
... ...
@@ -88,31 +82,6 @@ function fixup_ubuntu {
88 88
 
89 89
     # Enable universe
90 90
     sudo add-apt-repository -y universe
91
-
92
-    if [[ "${ENABLE_UBUNTU_CLOUD_ARCHIVE}" == "False" || "$DISTRO" != "xenial" ]]; then
93
-        return
94
-    fi
95
-    # Use UCA for newer libvirt.
96
-    if [[ -f /etc/ci/mirror_info.sh ]] ; then
97
-        # If we are on a nodepool provided host and it has told us about where
98
-        # we can find local mirrors then use that mirror.
99
-        source /etc/ci/mirror_info.sh
100
-
101
-        sudo apt-add-repository -y "deb $NODEPOOL_UCA_MIRROR xenial-updates/queens main"
102
-    else
103
-        # Otherwise use upstream UCA
104
-        sudo add-apt-repository -y cloud-archive:queens
105
-    fi
106
-
107
-    # Disable use of libvirt wheel since a cached wheel build might be
108
-    # against older libvirt binary.  Particularly a problem if using
109
-    # the openstack wheel mirrors, but can hit locally too.
110
-    # TODO(clarkb) figure out how to use upstream wheel again.
111
-    iniset -sudo /etc/pip.conf "global" "no-binary" "libvirt-python"
112
-
113
-    # Force update our APT repos, since we added UCA above.
114
-    REPOS_UPDATED=False
115
-    apt_get_update
116 91
 }
117 92
 
118 93
 # Python Packages