Support CentOS Stream 9
This patch includes changes required to run devstack on CentOS Stream 9
which has been already published in official repos by CentOS team [1]:
- Add RDO deps repository for CS9.
- remove xinetd package from installation for swift. Note that
rsync-daemon is installed which should work fine.
- Replace genisoimage by xorriso in CS9.
- Use /etc/os-release to identify the distro in CS9 as it doesn't
provide lsb_release command.
- Use pip from rpm package instead of from get-pip.py as done in Fedora.
- Add non-voting job devstack-platform-centos-9-stream to the check
pipeline.
Change-Id: Ic67cddabd5069211dc0611994b8b8360bcd61bef
diff --git a/functions-common b/functions-common
index b1ca6ad..bd029dd 100644
--- a/functions-common
+++ b/functions-common
@@ -368,12 +368,19 @@
# - os_VENDOR
# - os_PACKAGE
function GetOSVersion {
- # We only support distros that provide a sane lsb_release
- _ensure_lsb_release
+ # CentOS Stream 9 does not provide lsb_release
+ source /etc/os-release
+ if [[ "${ID}${VERSION}" == "centos9" ]]; then
+ os_RELEASE=${VERSION_ID}
+ os_CODENAME="n/a"
+ os_VENDOR=$(echo $NAME | tr -d '[:space:]')
+ else
+ _ensure_lsb_release
- os_RELEASE=$(lsb_release -r -s)
- os_CODENAME=$(lsb_release -c -s)
- os_VENDOR=$(lsb_release -i -s)
+ os_RELEASE=$(lsb_release -r -s)
+ os_CODENAME=$(lsb_release -c -s)
+ os_VENDOR=$(lsb_release -i -s)
+ fi
if [[ $os_VENDOR =~ (Debian|Ubuntu|LinuxMint) ]]; then
os_PACKAGE="deb"