简体   繁体   English

如何在 RHEL 9.1 上部署 devstack (OpenStack)?

[英]How to deploy devstack (OpenStack) on RHEL 9.1?

I want to install DevStack(Yoga) on RHEL 9.1 ( https://opendev.org/openstack/DevStack ).我想在 RHEL 9.1 ( https://opendev.org/openstack/DevStack ) 上安装 DevStack(Yoga)。 I attempted to deploy using the official manual ( https://www.redhat.com/sysadmin/get-started-openstack-devstack ).我尝试使用官方手册 ( https://www.redhat.com/sysadmin/get-started-openstack-devstack ) 进行部署。

However, the deployment got stuck due to the unavailability of the "redhat-lsb-core" package while running the '$./stack.sh' command.但是,由于在运行“$./stack.sh”命令时“redhat-lsb-core”包不可用,部署被卡住了。

Any help would be appreciated.任何帮助,将不胜感激。

Looking at the code , it appears that the redhat-lsb-core package is only required by the GetOSVersion function, and there are already explicit provisions in place for both CentOS and Rocky 9, both of which, like RHEL9, do not include the redhat-lsb-core package:查看代码,似乎只有GetOSVersion函数需要redhat-lsb-core包,CentOS和Rocky 9已经有明确规定,两者都和RHEL9一样,不包括redhat -lsb-核心包:

function GetOSVersion {
    # 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:]')
    elif [[ "${ID}${VERSION}" =~ "rocky9" ]]; then
        os_VENDOR="Rocky"
        os_RELEASE=${VERSION_ID}
    else
        _ensure_lsb_release

        os_RELEASE=$(lsb_release -r -s)
        os_CODENAME=$(lsb_release -c -s)
        os_VENDOR=$(lsb_release -i -s)
    fi

    ...

It looks like you could probably get things working in RHEL9 by treating it like centos9, perhaps like this:看起来你可以通过像 centos9 一样对待 RHEL9 来让事情在 RHEL9 中工作,也许是这样的:

function GetOSVersion {
    # 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:]')
    elif [[ "${ID}${VERSION}" == rhel9.* ]]; then
        os_RELEASE=${VERSION_ID}
        os_CODENAME="n/a"
        os_VENDOR=$(echo $NAME | tr -d '[:space:]')
    elif [[ "${ID}${VERSION}" =~ "rocky9" ]]; then
        os_VENDOR="Rocky"
        os_RELEASE=${VERSION_ID}
    else
      ...

On a RHEL 9.1 system, this will set:在 RHEL 9.1 系统上,这将设置:

os_RELEASE=9.1
os_CODENAME=n/a
os_VENDOR=RedHatEnterpriseLinux

That will hopefully be enough to move things forward.希望这足以推动事情向前发展。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM