第11章 オーバークラウドのアップグレード


環境内の各スタック上のオーバークラウド全体で Red Hat OpenStack Platform コンテンツをアップグレードします。

11.1. 各スタック内のすべてのノードでの RHOSP のアップグレード

メインスタックから開始して、スタックごとにすべてのオーバークラウドノードを Red Hat OpenStack Platform (RHOSP) 17.1 にアップグレードします。

注記

オーバークラウドノードをアップグレードする前に、Pacemaker がすべてのコントローラーで実行されていることを確認する必要があります。

このアップグレード手順の所要時間と影響については、アップグレードの所要時間と影響 を参照してください。

手順

  1. アンダークラウドホストに stack ユーザーとしてログインします。
  2. stackrc アンダークラウド認証情報ファイルを入手します。

    $ source ~/stackrc
  3. ML2/OVN を含む DCN またはマルチセルのデプロイメントがない場合は、メインスタックのすべてのノードで RHOSP をアップグレードします。

    $ openstack overcloud upgrade run --yes --stack <stack> --debug --limit allovercloud,undercloud --playbook all
    重要

    the- limit オプションを変更しないでください。ワークロードの中断を避けるために、スタックのすべてのノードを一度にアップグレードする必要があります。全オーバークラウドノードを同時にアップグレードする重要性については、The important of Red Hat OpenStack Platform on all overcloud nodes at once を参照してください。

    • & lt;stack > をノードをアップグレードするオーバークラウドスタックの名前に置き換えます。

      RHOSP デプロイメント内のスタックごとにこの手順を繰り返します。

  4. ML2/OVN を含む DCN またはマルチセルのデプロイメントがある場合は、OVN コンテナーと各スタックのすべてのホストパッケージをアップグレードします。DCN およびマルチセルの両方のデプロイメントの場合、まず中央スタックと制御スタックをアップグレードする必要があります。

    $ openstack overcloud upgrade run --stack <stack> --tags setup_packages,ovn --limit allovercloud --yes
    • & lt;stack& gt; をアップグレードするスタックの名前に置き換えます。
重要

中央のスタックまたは制御スタックで RHOSP アップグレードを実行すると、OVN DB は Pacemaker デプロイメントから Ansible 制御クラスターに移行されます。その結果、OVN コントローラーが接続するエンドポイントが変更されます。この接続は、追加のスタックごとに RHOSP のアップグレード中に更新されます。環境のサイズによっては、一部のスタックが後で更新される可能性があります。これにより、データプレーンが停止する可能性があります。この問題を回避するには、コネクションを更新して、以前のエンドポイントと新しいエンドポイントを同時に使用します。以下の例は、マルチセル環境の回避策を示しています。この回避策は、OVN を含む DCN 環境でも同じです。最初に overcloud-export.yaml ファイルをエクスポートするようにしてください。

$ 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
$ 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
  1. ovn-controller がすべてのオーバークラウドノードで更新されていることを確認します。

    $ sudo podman ps | grep ovn_controller

    出力例

    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

  2. 中央スタックまたは制御スタックから始めて、サービスコンテナーをアップグレードして、各スタック上のホストパッケージを更新します。

    $ openstack overcloud upgrade run --stack <stack> --skip-tags ovn --limit allovercloud --yes
    注記

    長いメンテナンス期間を回避するには、最初にセルスタックの CellController ロールでのみアップグレードを実行し、次に次のメンテナンスウィンドウの cell スタック内の全ノードでアップグレードを実行します。以下に例を示します。

    最初のメンテナンス期間:

    $ openstack overcloud upgrade run --stack AZ2 --skip-tags ovn --limit CellController --yes

    2 番目のメンテナンス期間:

    $ openstack overcloud upgrade run --stack AZ2 --skip-tags ovn --limit allovercloud --yes

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る