add ubuntu noble (24.04) support
This change installs setuptools in the requirements
and global venv to ensure that distutils is present
This change also adds new single and two node
nodeset for noble and a devstack platform job as nonvoting.
Change-Id: Ie1f8ebc5db75d6913239c529ee923395a764e19c
diff --git a/.zuul.yaml b/.zuul.yaml
index 294dd48..50a34ae 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -9,6 +9,16 @@
- controller
- nodeset:
+ name: openstack-single-node-noble
+ nodes:
+ - name: controller
+ label: ubuntu-noble
+ groups:
+ - name: tempest
+ nodes:
+ - controller
+
+- nodeset:
name: openstack-single-node-focal
nodes:
- name: controller
@@ -149,6 +159,36 @@
- compute1
- nodeset:
+ name: openstack-two-node-noble
+ nodes:
+ - name: controller
+ label: ubuntu-noble
+ - name: compute1
+ label: ubuntu-noble
+ groups:
+ # Node where tests are executed and test results collected
+ - name: tempest
+ nodes:
+ - controller
+ # Nodes running the compute service
+ - name: compute
+ nodes:
+ - controller
+ - compute1
+ # Nodes that are not the controller
+ - name: subnode
+ nodes:
+ - compute1
+ # Switch node for multinode networking setup
+ - name: switch
+ nodes:
+ - controller
+ # Peer nodes for multinode networking setup
+ - name: peers
+ nodes:
+ - compute1
+
+- nodeset:
name: openstack-two-node-focal
nodes:
- name: controller
@@ -652,6 +692,17 @@
vars:
configure_swap_size: 4096
+
+- job:
+ name: devstack-platform-ubuntu-noble
+ parent: tempest-full-py3
+ description: Ubuntu 24.04 LTS (noble) platform test
+ nodeset: openstack-single-node-noble
+ timeout: 9000
+ voting: false
+ vars:
+ configure_swap_size: 8192
+
- job:
name: devstack-platform-ubuntu-jammy-ovn-source
parent: devstack-platform-ubuntu-jammy
@@ -849,6 +900,7 @@
- devstack-platform-rocky-blue-onyx
- devstack-platform-ubuntu-jammy-ovn-source
- devstack-platform-ubuntu-jammy-ovs
+ - devstack-platform-ubuntu-noble
- devstack-platform-openEuler-22.03-ovn-source
- devstack-platform-openEuler-22.03-ovs
- devstack-multinode
diff --git a/inc/python b/inc/python
index 43b06eb..2339afd 100644
--- a/inc/python
+++ b/inc/python
@@ -41,7 +41,7 @@
# This package is currently installed via the distro and not
# available on pypi.
python$PYTHON3_VERSION -m venv --system-site-packages $DEVSTACK_VENV
- pip_install -U pip
+ pip_install -U pip setuptools
fi
if [[ ":$PATH:" != *":$DEVSTACK_VENV/bin:"* ]] ; then
export PATH="$DEVSTACK_VENV/bin:$PATH"
diff --git a/lib/infra b/lib/infra
index b983f2b..2aad003 100644
--- a/lib/infra
+++ b/lib/infra
@@ -31,7 +31,7 @@
local PIP_VIRTUAL_ENV="$REQUIREMENTS_DIR/.venv"
[ ! -d $PIP_VIRTUAL_ENV ] && ${VIRTUALENV_CMD} $PIP_VIRTUAL_ENV
# We don't care about testing git pbr in the requirements venv.
- PIP_VIRTUAL_ENV=$PIP_VIRTUAL_ENV pip_install -U pbr
+ PIP_VIRTUAL_ENV=$PIP_VIRTUAL_ENV pip_install -U pbr setuptools
PIP_VIRTUAL_ENV=$PIP_VIRTUAL_ENV pip_install $REQUIREMENTS_DIR
# Unset the PIP_VIRTUAL_ENV so that PBR does not end up trapped
diff --git a/stack.sh b/stack.sh
index 0c36e10..6ae324b 100755
--- a/stack.sh
+++ b/stack.sh
@@ -230,7 +230,7 @@
# Warn users who aren't on an explicitly supported distro, but allow them to
# override check and attempt installation with ``FORCE=yes ./stack``
-SUPPORTED_DISTROS="bookworm|bullseye|jammy|rhel8|rhel9|openEuler-22.03"
+SUPPORTED_DISTROS="bookworm|bullseye|jammy|noble|rhel8|rhel9|openEuler-22.03"
if [[ ! ${DISTRO} =~ $SUPPORTED_DISTROS ]]; then
echo "WARNING: this script has not been tested on $DISTRO"