Merge "Support CentOS Stream 10"

This commit is contained in:
Zuul
2025-08-12 20:44:04 +00:00
committed by Gerrit Code Review
8 changed files with 74 additions and 17 deletions

View File

@@ -38,6 +38,16 @@
nodes:
- controller
- nodeset:
name: devstack-single-node-centos-10-stream
nodes:
- name: controller
label: centos-10-stream-8GB
groups:
- name: tempest
nodes:
- controller
- nodeset:
name: devstack-single-node-centos-9-stream
nodes:
@@ -86,6 +96,36 @@
nodes:
- controller
- nodeset:
name: openstack-two-node-centos-10-stream
nodes:
- name: controller
label: centos-10-stream-8GB
- name: compute1
label: centos-10-stream-8GB
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-centos-9-stream
nodes:
@@ -729,6 +769,14 @@
# 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
# becoming blockers in that situation.
- job:
name: devstack-platform-centos-10-stream
parent: tempest-full-py3
description: CentOS 10 Stream platform test
nodeset: devstack-single-node-centos-10-stream
timeout: 9000
voting: false
- job:
name: devstack-platform-centos-9-stream
parent: tempest-full-py3
@@ -911,6 +959,7 @@
- devstack
- devstack-ipv6
- devstack-enforce-scope
- devstack-platform-centos-10-stream
- devstack-platform-centos-9-stream
- devstack-platform-debian-bookworm
- devstack-platform-rocky-blue-onyx
@@ -994,6 +1043,7 @@
- devstack-no-tls-proxy
periodic-weekly:
jobs:
- devstack-platform-centos-10-stream
- devstack-platform-centos-9-stream
- devstack-platform-debian-bookworm
- devstack-platform-rocky-blue-onyx

View File

@@ -10,9 +10,10 @@ glibc-langpack-en # dist:rhel9
graphviz # needed only for docs
httpd
httpd-devel
iptables-nft # dist:rhel9
iptables-nft # dist:rhel9,rhel10
iptables-services
java-1.8.0-openjdk-headless
java-1.8.0-openjdk-headless # not:rhel10
java-21-openjdk-headless # dist:rhel10
libffi-devel
libjpeg-turbo-devel # Pillow 3.0.0
libxml2-devel # lxml
@@ -23,7 +24,8 @@ net-tools
openssh-server
openssl
openssl-devel # to rebuild pyOpenSSL if needed
pcre-devel # for python-pcre
pcre2-devel # dist:rhel10 for python-pcre2
pcre-devel # not:rhel10 for python-pcre
pkgconfig
postgresql-devel # psycopg2
psmisc

View File

@@ -1,6 +1,6 @@
cryptsetup
dosfstools
genisoimage # not:rhel9
genisoimage # not:rhel9,rhel10
iscsi-initiator-utils
libosinfo
lvm2

View File

@@ -1,7 +1,7 @@
conntrack-tools
curl
ebtables
genisoimage # not:rhel9 required for config_drive
genisoimage # not:rhel9,rhel10 required for config_drive
iptables
iputils
kernel-modules # not:openEuler-22.03

View File

@@ -4,4 +4,4 @@ memcached
rsync-daemon
sqlite
xfsprogs
xinetd # not:f36,rhel9
xinetd # not:f36,rhel9,rhel10

View File

@@ -423,7 +423,7 @@ function _ensure_lsb_release {
elif [[ -x $(command -v zypper 2>/dev/null) ]]; then
sudo zypper -n install lsb-release
elif [[ -x $(command -v dnf 2>/dev/null) ]]; then
sudo dnf install -y redhat-lsb-core || sudo dnf install -y openeuler-lsb
sudo dnf install -y python3-distro || sudo dnf install -y openeuler-lsb
else
die $LINENO "Unable to find or auto-install lsb_release"
fi
@@ -436,9 +436,9 @@ function _ensure_lsb_release {
# - os_VENDOR
# - os_PACKAGE
function GetOSVersion {
# CentOS Stream 9 and RHEL 9 do not provide lsb_release
# CentOS Stream 9 or later and RHEL 9 or later do not provide lsb_release
source /etc/os-release
if [[ "${ID}${VERSION}" == "centos9" ]] || [[ "${ID}${VERSION}" =~ "rhel9" ]]; then
if [[ "${ID}${VERSION}" =~ "centos" ]] || [[ "${ID}${VERSION}" =~ "rhel" ]]; then
os_RELEASE=${VERSION_ID}
os_CODENAME="n/a"
os_VENDOR=$(echo $NAME | tr -d '[:space:]')
@@ -485,9 +485,8 @@ function GetDistro {
"$os_VENDOR" =~ (OracleServer) || \
"$os_VENDOR" =~ (Rocky) || \
"$os_VENDOR" =~ (Virtuozzo) ]]; then
# Drop the . release as we assume it's compatible
# XXX re-evaluate when we get RHEL10
DISTRO="rhel${os_RELEASE::1}"
MAJOR_VERSION=$(echo $os_RELEASE | cut -d. -f1)
DISTRO="rhel${MAJOR_VERSION}"
elif [[ "$os_VENDOR" =~ (openEuler) ]]; then
DISTRO="openEuler-$os_RELEASE"
else

View File

@@ -230,7 +230,7 @@ write_devstack_version
# 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|jammy|noble|rhel9"
SUPPORTED_DISTROS="bookworm|jammy|noble|rhel9|rhel10"
if [[ ! ${DISTRO} =~ $SUPPORTED_DISTROS ]]; then
echo "WARNING: this script has not been tested on $DISTRO"
@@ -302,16 +302,17 @@ function _install_epel {
}
function _install_rdo {
if [[ $DISTRO == "rhel9" ]]; then
if [[ $DISTRO =~ "rhel" ]]; then
VERSION=${DISTRO:4:2}
rdo_release=${TARGET_BRANCH#*/}
if [[ "$TARGET_BRANCH" == "master" ]]; then
# adding delorean-deps repo to provide current master rpms
sudo wget https://trunk.rdoproject.org/centos9-master/delorean-deps.repo -O /etc/yum.repos.d/delorean-deps.repo
sudo wget https://trunk.rdoproject.org/centos${VERSION}-master/delorean-deps.repo -O /etc/yum.repos.d/delorean-deps.repo
else
if sudo dnf provides centos-release-openstack-${rdo_release} >/dev/null 2>&1; then
sudo dnf -y install centos-release-openstack-${rdo_release}
else
sudo wget https://trunk.rdoproject.org/centos9-${rdo_release}/delorean-deps.repo -O /etc/yum.repos.d/delorean-deps.repo
sudo wget https://trunk.rdoproject.org/centos${VERSION}-${rdo_release}/delorean-deps.repo -O /etc/yum.repos.d/delorean-deps.repo
fi
fi
fi
@@ -408,6 +409,11 @@ elif [[ $DISTRO == "rhel9" ]]; then
if is_package_installed curl-minimal; then
sudo dnf swap -y curl-minimal curl
fi
elif [[ $DISTRO == "rhel10" ]]; then
# for CentOS Stream 10 repository
sudo dnf config-manager --set-enabled crb
# rabbitmq and other packages are provided by RDO repositories.
_install_rdo
elif [[ $DISTRO == "openEuler-22.03" ]]; then
# There are some problem in openEuler. We should fix it first. Some required
# package/action runs before fixup script. So we can't fix there.

View File

@@ -127,7 +127,7 @@ if [[ -n $PYPI_ALTERNATIVE_URL ]]; then
configure_pypi_alternative_url
fi
if is_fedora && [[ ${DISTRO} == f* || ${DISTRO} == rhel9 ]]; then
if is_fedora && [[ ${DISTRO} == f* || ${DISTRO} == rhel* ]]; then
# get-pip.py will not install over the python3-pip package in
# Fedora 34 any more.
# https://bugzilla.redhat.com/show_bug.cgi?id=1988935