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

Chapter 11. Upgrading the overcloud


Upgrade Red Hat OpenStack Platform content across the whole overcloud on each stack in your environment.

11.1. Upgrading RHOSP on all nodes in each stack

Upgrade all overcloud nodes to Red Hat OpenStack Platform (RHOSP) 17.1 for each stack, starting with the main stack.

Note

You must ensure that the pacemaker is running on all controllers before you upgrade the overcloud nodes.

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

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. If you do not have a DCN or multi-cell deployment that includes ML2/OVN, upgrade RHOSP on all nodes in your main stack:

    $ openstack overcloud upgrade run --yes --stack <stack> --debug --limit allovercloud,undercloud --playbook all
    Copy to Clipboard Toggle word wrap
    Important

    Do not modify the --limit option. You must upgrade all nodes in the stack at once to avoid workload disruption. For more information about the importance of upgrading all of your overcloud nodes at the same time, see The importance of upgrading Red Hat OpenStack Platform on all overcloud nodes at once.

    • Replace <stack> with the name of the overcloud stack that you want to upgrade the nodes on.

      Repeat this step for each stack in your RHOSP deployment.

  4. If you have a DCN or multi-cell deployment that includes ML2/OVN, upgrade the OVN containers and all host packages on each stack. For both DCN and multi-cell deployments, you must upgrade the central stack and control stack first, respectively:

    $ openstack overcloud upgrade run --stack <stack> --tags setup_packages,ovn --limit allovercloud --yes
    Copy to Clipboard Toggle word wrap
    • Replace <stack> with the name of the stack you are upgrading.
Important

After you run the RHOSP upgrade on the central or control stack, the OVN DBs are migrated from a Pacemaker deployment to an Ansible-controlled cluster. As a result, the endpoint that the OVN controllers connect to changes. This connection is updated during the RHOSP upgrade on each additional stack. Depending on the size of your environment, some stacks might be updated later, which can result in a data plane outage. To avoid this issue, update the connection to use the previous endpoint and new endpoint at the same time. The following example shows the workaround for a multi-cell environment. The workaround is the same for DCN environments that include OVN. Ensure that you export the overcloud-export.yaml file first:

$ cat <<'EOF' > ~/ovn_workaround.yaml
# Playbook
- become: true
  hosts: '{{ ovn_compute_role }}'
  name: OVN workaround playbook
  tasks:
   - name: Read ovn southbound port
     command: puppet lookup --facts /etc/puppet/hieradata/service_configs.json ovn::southbound::port --render-as s
     register: ovn_southbound_port
     failed_when: false
   - name: Read ovn vip
     command: puppet lookup --facts /etc/puppet/hieradata/all_nodes.json ovn_dbs_vip --render-as s
     register: ovn_dbs_vip
   - name: Create the new connection
     set_fact:
        new_ovn_connection: "ssl:{{ovn_dbs_vip.stdout}}:{{ovn_southbound_port.stdout}},ssl:{{parameter_defaults.AllNodesExtraMapData.ovn_dbs_node_ips[0]}}:{{ovn_southbound_port.stdout}},ssl:{{parameter_defaults.AllNodesExtraMapData.ovn_dbs_node_ips[1]}}:{{ovn_southbound_port.stdout}},ssl:{{parameter_defaults.AllNodesExtraMapData.ovn_dbs_node_ips[2]}}:{{ovn_southbound_port.stdout}}"
   - name: showing the new connection
     debug:
       msg: "the new connection is {{ new_ovn_connection }}"
     tags:
       - debug_msg
   - name: Get ovn connection
     command: ovs-vsctl get Open_vSwitch . external_ids:ovn-remote
     register: ovn_connection
   - set_fact:
       change_needed: "{{ ovn_connection.stdout.split(',') | length == 1 }}"
   - name: Reconfigure ovn connection
     when: change_needed|bool
     command: ovs-vsctl set Open_vSwitch . external_ids:ovn-remote="{{new_ovn_connection}}"
     tags:
       - apply_conf
   - name: Reconfigure ovn connection for metadata agents on computes
     when: change_needed|bool
     shell: |
       crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/plugins/networking-ovn/networking-ovn-metadata-agent.ini  ovn ovn_sb_connection "{{ new_ovn_connection }}"
       systemctl restart tripleo_ovn_metadata_agent
     tags:
       - apply_conf
EOF
Copy to Clipboard Toggle word wrap
$ ansible-playbook -i overcloud-deploy/$CELLSTACK/tripleo-ansible-inventory.yaml -e @~/overcloud-deploy/overcloud/overcloud-export.yaml -e ovn_compute_role=Compute ovn_workaround.yaml
Copy to Clipboard Toggle word wrap
  1. Verify that the ovn-controller is updated on all overcloud nodes:

    $ sudo podman ps | grep ovn_controller
    Copy to Clipboard Toggle word wrap

    Sample output

    5ddc21ef9056  undercloud-0.ctlplane.redhat.local:8787/rh-osbs/rhosp17-openstack-ovn-controller:17.1_20230905.1
    kolla_start  20 hours ago  Up 20 hours (healthy)  ovn_controller
    Copy to Clipboard Toggle word wrap

  2. Upgrade the service containers and update the host packages on each stack, starting with the central stack or control stack:

    $ openstack overcloud upgrade run --stack <stack> --skip-tags ovn --limit allovercloud --yes
    Copy to Clipboard Toggle word wrap
    Note

    To avoid a long maintenance window, you can run the upgrade only on the CellController role in your cell stack first, and then run the upgrade on all the nodes in the cell stack in the next maintenance window. For example:

    First maintenance window:

    $ openstack overcloud upgrade run --stack AZ2 --skip-tags ovn --limit CellController --yes
    Copy to Clipboard Toggle word wrap

    Second maintenance window:

    $ openstack overcloud upgrade run --stack AZ2 --skip-tags ovn --limit allovercloud --yes
    Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat