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
diff --git a/.zuul.yaml b/.zuul.yaml
index cc94369..8f64620 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -492,14 +492,6 @@
USE_PYTHON3: true
- job:
- name: devstack-xenial
- parent: devstack
- nodeset: openstack-single-node-xenial
- description: |
- Simple singlenode test to verify functionality on devstack
- side running on Xenial.
-
-- job:
name: devstack-multinode
parent: devstack
nodeset: openstack-two-node-bionic
@@ -507,15 +499,6 @@
Simple multinode test to verify multinode functionality on devstack side.
This is not meant to be used as a parent job.
-- job:
- name: devstack-multinode-xenial
- parent: devstack
- nodeset: openstack-two-node-xenial
- description: |
- Simple multinode test to verify multinode functionality on devstack
- side running on Xenial.
- This is not meant to be used as a parent job.
-
# NOTE(ianw) Platform tests have traditionally been non-voting because
# we often have to rush things through devstack to stabilise the gate,
# and these platforms don't have the round-the-clock support to avoid
@@ -542,13 +525,6 @@
voting: false
- job:
- name: devstack-platform-xenial
- parent: tempest-full-py3
- description: Ubuntu Xenial platform test
- nodeset: openstack-single-node-xenial
- voting: false
-
-- job:
name: devstack-tox-base
parent: devstack
description: |
@@ -619,14 +595,11 @@
check:
jobs:
- devstack
- - devstack-xenial
- devstack-ipv6
- devstack-platform-centos-7
- devstack-platform-opensuse-15
- devstack-platform-fedora-latest
- - devstack-platform-xenial
- devstack-multinode
- - devstack-multinode-xenial
- devstack-unit-tests
- openstack-tox-bashate
- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa:
@@ -664,10 +637,8 @@
gate:
jobs:
- devstack
- - devstack-xenial
- devstack-ipv6
- devstack-multinode
- - devstack-multinode-xenial
- devstack-unit-tests
- openstack-tox-bashate
- neutron-grenade-multinode:
diff --git a/files/debs/nova b/files/debs/nova
index 5e14aec..e5110e9 100644
--- a/files/debs/nova
+++ b/files/debs/nova
@@ -10,9 +10,8 @@
kpartx
libjs-jquery-tablesorter # Needed for coverage html reports
libmysqlclient-dev
-libvirt-bin # dist:xenial NOPRIME
-libvirt-clients # not:xenial NOPRIME
-libvirt-daemon-system # not:xenial NOPRIME
+libvirt-clients # NOPRIME
+libvirt-daemon-system # NOPRIME
libvirt-dev # NOPRIME
mysql-server # NOPRIME
parted
diff --git a/lib/nova_plugins/functions-libvirt b/lib/nova_plugins/functions-libvirt
index 914ee7b..3566639 100644
--- a/lib/nova_plugins/functions-libvirt
+++ b/lib/nova_plugins/functions-libvirt
@@ -24,17 +24,10 @@
# Currently fairly specific to OpenStackCI hosts
DEBUG_LIBVIRT_COREDUMPS=$(trueorfalse False DEBUG_LIBVIRT_COREDUMPS)
-# Only Xenial is left with libvirt-bin. Everywhere else is libvirtd
-if is_ubuntu && [ ${DISTRO} == "xenial" ]; then
- LIBVIRT_DAEMON=libvirt-bin
-else
- LIBVIRT_DAEMON=libvirtd
-fi
-
# Enable coredumps for libvirt
# Bug: https://bugs.launchpad.net/nova/+bug/1643911
function _enable_coredump {
- local confdir=/etc/systemd/system/${LIBVIRT_DAEMON}.service.d
+ local confdir=/etc/systemd/system/libvirtd.service.d
local conffile=${confdir}/coredump.conf
# Create a coredump directory, and instruct the kernel to save to
@@ -61,12 +54,7 @@
function install_libvirt {
if is_ubuntu; then
- install_package qemu-system
- if [[ ${DISTRO} == "xenial" ]]; then
- install_package libvirt-bin libvirt-dev
- else
- install_package libvirt-clients libvirt-daemon-system libvirt-dev
- fi
+ install_package qemu-system libvirt-clients libvirt-daemon-system libvirt-dev
# uninstall in case the libvirt version changed
pip_uninstall libvirt-python
pip_install_gr libvirt-python
@@ -167,7 +155,7 @@
# Service needs to be started on redhat/fedora -- do a restart for
# sanity after fiddling the config.
- restart_service $LIBVIRT_DAEMON
+ restart_service libvirtd
# Restart virtlogd companion service to ensure it is running properly
# https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1577455
diff --git a/stack.sh b/stack.sh
index b7b37e2..d0206eb 100755
--- a/stack.sh
+++ b/stack.sh
@@ -12,7 +12,7 @@
# a multi-node developer install.
# To keep this script simple we assume you are running on a recent **Ubuntu**
-# (16.04 Xenial or newer), **Fedora** (F24 or newer), or **CentOS/RHEL**
+# (Bionic or newer), **Fedora** (F24 or newer), or **CentOS/RHEL**
# (7 or newer) machine. (It may work on other platforms but support for those
# platforms is left to those who added them to DevStack.) It should work in
# a VM or physical server. Additionally, we maintain a list of ``deb`` and
@@ -221,7 +221,7 @@
# Warn users who aren't on an explicitly supported distro, but allow them to
# override check and attempt installation with ``FORCE=yes ./stack``
-if [[ ! ${DISTRO} =~ (xenial|artful|bionic|stretch|jessie|f29|opensuse-15.0|opensuse-15.1|opensuse-tumbleweed|rhel7) ]]; then
+if [[ ! ${DISTRO} =~ (bionic|stretch|jessie|f29|opensuse-15.0|opensuse-15.1|opensuse-tumbleweed|rhel7) ]]; then
echo "WARNING: this script has not been tested on $DISTRO"
if [[ "$FORCE" != "yes" ]]; then
die $LINENO "If you wish to run this script anyway run with FORCE=yes"
diff --git a/stackrc b/stackrc
index 3fcdadf..15150df 100644
--- a/stackrc
+++ b/stackrc
@@ -656,9 +656,6 @@
;;
esac
-# By default, devstack will use Ubuntu Cloud Archive.
-ENABLE_UBUNTU_CLOUD_ARCHIVE=$(trueorfalse True ENABLE_UBUNTU_CLOUD_ARCHIVE)
-
# Images
# ------
diff --git a/tools/fixup_stuff.sh b/tools/fixup_stuff.sh
index d298937..eb8a76f 100755
--- a/tools/fixup_stuff.sh
+++ b/tools/fixup_stuff.sh
@@ -71,15 +71,9 @@
# Ubuntu Repositories
#--------------------
-# We've found that Libvirt on Xenial is flaky and crashes enough to be
-# a regular top e-r bug. Opt into Ubuntu Cloud Archive if on Xenial to
-# get newer Libvirt.
-# Make it possible to switch this based on an environment variable as
-# libvirt 2.5.0 doesn't handle nested virtualization quite well and this
-# is required for the trove development environment.
-# Also enable universe since it is missing when installing from ISO.
+# Enable universe for bionic since it is missing when installing from ISO.
function fixup_ubuntu {
- if [[ "$DISTRO" != "xenial" && "$DISTRO" != "bionic" ]]; then
+ if [[ "$DISTRO" != "bionic" ]]; then
return
fi
@@ -88,31 +82,6 @@
# Enable universe
sudo add-apt-repository -y universe
-
- if [[ "${ENABLE_UBUNTU_CLOUD_ARCHIVE}" == "False" || "$DISTRO" != "xenial" ]]; then
- return
- fi
- # Use UCA for newer libvirt.
- if [[ -f /etc/ci/mirror_info.sh ]] ; then
- # If we are on a nodepool provided host and it has told us about where
- # we can find local mirrors then use that mirror.
- source /etc/ci/mirror_info.sh
-
- sudo apt-add-repository -y "deb $NODEPOOL_UCA_MIRROR xenial-updates/queens main"
- else
- # Otherwise use upstream UCA
- sudo add-apt-repository -y cloud-archive:queens
- fi
-
- # Disable use of libvirt wheel since a cached wheel build might be
- # against older libvirt binary. Particularly a problem if using
- # the openstack wheel mirrors, but can hit locally too.
- # TODO(clarkb) figure out how to use upstream wheel again.
- iniset -sudo /etc/pip.conf "global" "no-binary" "libvirt-python"
-
- # Force update our APT repos, since we added UCA above.
- REPOS_UPDATED=False
- apt_get_update
}
# Python Packages