Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP Support CentOS Stream 10 #136

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .zuul.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,16 @@
nodes:
- controller

- nodeset:
name: devstack-single-node-centos-10-stream
nodes:
- name: controller
label: centos-10-stream
groups:
- name: tempest
nodes:
- controller

- nodeset:
name: devstack-single-node-opensuse-15
nodes:
Expand Down
9 changes: 6 additions & 3 deletions files/rpms/general
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@ 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
kernel-modules-extra # dist:rhel10 to be removed once iptables-1.8.11-1.el10 available in repo https://gitlab.com/redhat/centos-stream/rpms/iptables/-/commit/ca25de4fcfe4908cf93a8e57aaff49103f577b21 c.f https://issues.redhat.com/browse/RHEL-65224
libffi-devel
libjpeg-turbo-devel # Pillow 3.0.0
libxml2-devel # lxml
Expand All @@ -23,7 +25,8 @@ net-tools
openssh-server
openssl
openssl-devel # to rebuild pyOpenSSL if needed
pcre-devel # for python-pcre
pcre-devel # not:rhel10 for python-pcre
pcre2-devel # dist:rhel10 for python-pcre2
pkgconfig
postgresql-devel # psycopg2
psmisc
Expand Down
2 changes: 1 addition & 1 deletion files/rpms/n-cpu
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cryptsetup
dosfstools
genisoimage # not:rhel9
genisoimage # not:rhel9,rhel10
iscsi-initiator-utils
libosinfo
lvm2
Expand Down
2 changes: 1 addition & 1 deletion files/rpms/nova
Original file line number Diff line number Diff line change
@@ -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
Expand Down
11 changes: 5 additions & 6 deletions functions-common
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,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
Expand All @@ -433,9 +433,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/10 and RHEL 9/10 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:]')
Expand Down Expand Up @@ -482,9 +482,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
Expand Down
12 changes: 6 additions & 6 deletions lib/neutron_plugins/ovn_agent
Original file line number Diff line number Diff line change
Expand Up @@ -709,22 +709,22 @@ function _start_ovn_services {
_start_process "$OVS_VSWITCHD_SERVICE"

if is_service_enabled ovn-northd ; then
_start_process "$OVN_NORTHD_SERVICE"
_start_process "$OVN_NORTHD_SERVICE" && sleep 1
fi
if is_service_enabled ovn-controller ; then
_start_process "$OVN_CONTROLLER_SERVICE"
_start_process "$OVN_CONTROLLER_SERVICE" && sleep 1
fi
if is_service_enabled ovn-controller-vtep ; then
_start_process "$OVN_CONTROLLER_VTEP_SERVICE"
_start_process "$OVN_CONTROLLER_VTEP_SERVICE" && sleep 1
fi
if is_service_enabled ovs-vtep ; then
_start_process "[email protected]"
_start_process "[email protected]" && sleep 1
fi
if is_service_enabled q-ovn-metadata-agent neutron-ovn-metadata-agent ; then
_start_process "[email protected]"
_start_process "[email protected]" && sleep 1
fi
if is_service_enabled q-ovn-agent neutron-ovn-agent ; then
_start_process "[email protected]"
_start_process "[email protected]" && sleep 1
fi
}

Expand Down
14 changes: 10 additions & 4 deletions stack.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion tools/install_pip.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down