이 콘텐츠는 선택한 언어로 제공되지 않습니다.

Chapter 13. Upgrading the control plane operating system


Upgrade the operating system on your control plane nodes. The upgrade includes the following tasks:

  • Running the overcloud upgrade prepare command with the system upgrade parameters
  • Running the overcloud system upgrade, which uses Leapp to upgrade RHEL in-place
  • Rebooting the nodes
Important

If you are using Red Hat Ceph Storage, before performing the Leapp upgrade verify if the ceph-common package is present on your control plane nodes. If the ceph-common package is present on a node, take the precautions described in Upgrading RHCS 5 hosts from RHEL 8 to RHEL 9 removes ceph-common package. Services fail to start. to ensure the Red Hat Ceph Storage services restart after the control plane node reboots after the Leapp upgrade.

13.1. Upgrading the control plane nodes

To upgrade the control plane nodes in your environment to Red Hat Enterprise Linux 9.2, you must upgrade one-third of your control plane nodes at a time, starting with the bootstrap nodes.

You upgrade your control plane nodes by using the openstack overcloud upgrade run command. This command performs the following actions:

  • Performs a Leapp upgrade of the operating system.
  • Performs a reboot as a part of the Leapp upgrade.

Each node is rebooted during the system upgrade. The performance of the Pacemaker cluster and the Red Hat Ceph Storage cluster is degraded during this downtime, but there is no outage.

This example includes the following nodes with composable roles:

  • controller-0
  • controller-1
  • controller-2
  • database-0
  • database-1
  • database-2
  • networker-0
  • networker-1
  • networker-2
  • ceph-0
  • ceph-1
  • ceph-2

For information about the duration and impact of this upgrade procedure, see Upgrade duration and impact.

Prerequisites

  • If your environment includes Red Hat Ceph Storage nodes, check whether the nodes have a version lock. You must run the following commands on each Red Hat Ceph Storage node:

    $ yum versionlock list
    Copy to Clipboard Toggle word wrap

    Clear any version locks that are listed:

    $ yum versionlock clear
    Copy to Clipboard Toggle word wrap

Procedure

  1. Log in to the undercloud host as the stack user.
  2. Source the stackrc undercloud credentials file:

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  3. Run the following script without the CONTROL_PLANE_ROLES parameter. Ensure that you include the variables that you used to prepare the containers in Running the overcloud upgrade preparation.

    python3 \
    /usr/share/openstack-tripleo-heat-templates/tools/multi-rhel-container-image-prepare.py \
         ${COMPUTE_ROLES} \
         --enable-multi-rhel \
         --excludes collectd \
         --excludes nova-libvirt \
         --minor-override \
    "{${EL8_TAGS}${EL8_NAMESPACE}${CEPH_OVERRIDE}${NEUTRON_DRIVER}\"no_tag\":\"not_used\"}" \
         --major-override \
         "{${EL9_TAGS}${NAMESPACE}${CEPH_OVERRIDE}${NEUTRON_DRIVER}\"no_tag\":\"not_used\"}" \
         --output-env-file \
    /home/stack/containers-prepare-parameter.yaml
    Copy to Clipboard Toggle word wrap
    Note

    The CONTROL_PLANE_ROLES parameter defines the list of your control plane roles. Removing this parameter from the script prepares the control plane roles for an upgrade to RHEL 9.2. If the CONTROL_PLANE_ROLES parameter is included in the script, the control plane roles remain on RHEL 8.4.

  4. In the skip_rhel_release.yaml file, set the SkipRhelEnforcement parameter to false:

    parameter_defaults:
      SkipRhelEnforcement: false
    Copy to Clipboard Toggle word wrap
  5. Update the overcloud_upgrade_prepare.sh file:

    $ openstack overcloud upgrade prepare --yes \
        ...
        -e /home/stack/system_upgrade.yaml \
        -e /home/stack/containers-prepare-parameter.yaml \
        -e /home/stack/skip_rhel_release.yaml \
        ...
    Copy to Clipboard Toggle word wrap
    • Include the system_upgrade.yaml file with the upgrade-specific parameters (-e).
    • Include the containers-prepare-parameter.yaml file with the control plane roles removed (-e).
    • Include the skip_rhel_release.yaml file with the release parameters (-e).
  6. Run the overcloud_upgrade_prepare.sh script:

    $ sh /home/stack/overcloud_upgrade_prepare.sh
    Copy to Clipboard Toggle word wrap
  7. Fetch any new or modified containers that you require for the system upgrade:

    $ openstack overcloud external-upgrade run  \
         --stack <stack> \
         --tags container_image_prepare 2>&1
    Copy to Clipboard Toggle word wrap
  8. Upgrade the first one-third of the control plane nodes:

    $ openstack overcloud upgrade run --yes \
         --stack <stack> \
         --tags system_upgrade \
         --limit <controller-0>,<database-0>,<messaging-0>,<networker-0>,<ceph-0>
    Copy to Clipboard Toggle word wrap
    • Replace <stack> with the name of your stack.
    • Replace <controller-0>,<database-0>,<messaging-0>,<networker-0>,<ceph-0> with your own node names.
  9. Log in to each upgraded node and verify that the cluster in each node is running:

    $ sudo pcs status
    Copy to Clipboard Toggle word wrap

    Repeat this verification step after you upgrade the second one-third of your control plane nodes, and after you upgrade the last one-third of your control plane nodes.

  10. Upgrade the second one-third of the control plane nodes:

    $ openstack overcloud upgrade run --yes \
         --stack <stack> \
         --tags system_upgrade \
         --limit <controller-1>,<database-1>,<messaging-1>,<networker-1>,<ceph-1>
    Copy to Clipboard Toggle word wrap
    • Replace <controller-1>,<database-1>,<messaging-1>,<networker-1>,<ceph-1> with your own node names.
  11. Upgrade the last one-third of the control plane nodes:

    $ openstack overcloud upgrade run --yes \
         --stack <stack> \
         --tags system_upgrade \
         --limit <controller-2>,<database-2>,<messaging-2>,<networker-2>,<ceph-2>
    Copy to Clipboard Toggle word wrap
    • Replace <controller-2>,<database-2>,<messaging-2>,<networker-2>,<ceph-2> with your own node names.
  12. If you enabled STF, run the upgrade command with no tags. Run this command after the operating system upgrade to update the collectd container on all nodes.

    $ openstack overcloud upgrade run --yes \
         --stack <stack> \
         --limit <undercloud>,<controller-0>,<controller-1>,<controller-2>,<database-0>,<database-1>,<database-2>,<networker-0>,<networker-1>,<networker-2>,<ceph-0>,<ceph-1>,<ceph-2>
    Copy to Clipboard Toggle word wrap
    • Replace <undercloud>,<controller-0>,<controller-1>,<controller-2>,<database-0>,<database-1>,<database-2>,<networker-0>,<networker-1>,<networker-2>,<ceph-0>,<ceph-1>,<ceph-2> with your own node names.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat