このページの目次
ISSU を使用した Red Hat Openstack 13 による Contrail Network のアップグレード
このドキュメントでは、Red Hat Openstack Platform 13(RHOSP13)を使用している環境で、インサービスソフトウェアアップグレード(ISSU)で Contrail Networkingをアップグレードする手順を説明します。
この手順を使用する状況
RHOSP13 を使用している環境で Contrail Networking を実行している場合、この手順をアップグレードするには、この手順を使用します。
この手順は、次の Contrail Network アップグレードで検証済みです。
Contrail Networkingリリースの開始 |
ターゲットContrail Networkingアップグレードリリース |
---|---|
5.0 または 5.1 |
1907 |
1907 |
1908 |
1908 |
1909 |
1909 |
1910 |
1910 |
1911 |
1911 |
1912 |
Contrail Networkingリリース1912.L0および2003以降、Red Hat Openstackオーケストレーションを使用する環境でContrail Networkingをアップグレードするには、ゼロインパクトアップグレード(ZIU)手順を使用します。 Red Hat Openstackを使用した環境でのゼロインパクトアップグレードプロセスを使用したContrail Networkingの更新を参照してください。
この手順を使用して Contrail Networkingリリースを他のリリースにアップグレードする場合は、ジュニパーネットワークスのプロフェッショナルサービスを利用する必要があります。プロフェッショナルサービスとの連携については、ジュニパーの担当者にお問い合わせください。
始める前に
Contrail Networkingリリースの値を取得します ContrailImageTag 。この値は、次の場所にある readme ファイルから取得できます。
Contrail Networkingリリース20: Contrail Networking Registry 20xxへのREADMEアクセス
Contrail Networkingリリース19 :Contrailレジストリ19XXへのREADMEアクセス
オーバークラウドノードの RHEL サブスクリプションを有効にします。
CEPHまたは同様のストレージがない場合は、コンピュートノードのSSH移行を有効にします。
コンピューティングノードをアップグレードするにはワークロードの移行が必要であり、CEPHまたは同様のストレージではVMの移行が可能です。
~/tripleo-heat-templates/environments/contrail/contrail-services.yaml ファイルで値を変更しますMigrationSshKey。
移行用の SSH キーを含むパラメーターは MigrationSshKey 、通常、オーバークラウド展開中に提供されます。このパラメーターは、VM があるコンピューティング ノードから別のコンピューティング ノードに移行できるように、コンピューティング ノード間で SSH キーを渡すために使用されます。このパラメーターは MigrationSshKey 、ファイルに追加 contrail-services.yaml できる省略可能なパラメーターです。既定では、このパラメーターはファイルに含まれ contrail-services.yaml ていません。
次のコマンドを実行して、SSHキーを見つけます。
(undercloud) [stack@queensa ~]$ cat .ssh/id_rsa
(undercloud) [stack@queensa ~]$ cat .ssh/id_rsa.pub
Contrail 設定データベースをバックアップします。
手順
トラブルシューティング
既知の問題は次のとおりです。
OpenStack コントローラのアップグレード実行コマンドの失敗
問題
説明
次のエラーが表示されます。
nodes=overcloud-controller-0 openstack overcloud upgrade run --nodes $nodes --playbook upgrade_steps_playbook.yaml ... TASK [Enable the cinder_volume cluster resource] ******************************* Thursday 25 July 2019 11:38:57 -0400 (0:00:00.887) 0:03:16.905 ********* FAILED - RETRYING: Enable the cinder_volume cluster resource (5 retries left). FAILED - RETRYING: Enable the cinder_volume cluster resource (4 retries left). FAILED - RETRYING: Enable the cinder_volume cluster resource (3 retries left). FAILED - RETRYING: Enable the cinder_volume cluster resource (2 retries left). FAILED - RETRYING: Enable the cinder_volume cluster resource (1 retries left). fatal: [overcloud-controller-0]: FAILED! => {"attempts": 5, "changed": false, "error": "Error: resource 'openstack-cinder-volume' is not running on any node\n", "msg": "Failed, to set the resource openstack-cinder-volume to the state enable", "output": "", "rc": 1} PLAY RECAP ********************************************************************* overcloud-controller-0 : ok=149 changed=68 unreachable=0 failed=1 Thursday 25 July 2019 11:39:31 -0400 (0:00:34.195) 0:03:51.101 *********
詳細は https://access.redhat.com/solutions/4122571 を参照してください。
ソリューション
OpenStack コントローラノードへの SSH 接続を作成します。
次のコマンドを実行します。
sudo docker rm cinder_volume_init_bundle
Cinderボリュームが障害リソースリストにあるかどうかを確認します。
sudo pcs status
Cinder ボリュームが障害リソース・リストにないかどうかを確認します。
sudo pcs resource cleanup
アップグレード
run
コマンドを再実行します。
いずれかのオーバークラウドノードに対するアップグレード実行コマンドの失敗
問題
説明
次のエラーが表示されます。
****************************************************** TASK [include_tasks] *********************************************************** Wednesday 02 October 2019 09:21:02 -0400 (0:00:00.448) 0:00:29.101 ***** fatal: [overcloud-novacompute-1]: FAILED! => {"msg": "No variable found with this name: Compute_pre_deployments"}NO MORE HOSTS LEFT *******************************************************
ソリューション
これは、変数が欠落している場合のデフォルトの動作が壊れています。
tripleo-heat-templates/common/deploy-steps.j2 を編集して、次の変更を適用します。
content_copyzoom_out_map (undercloud) [stack@queensa common]$ diff -U 3 deploy-steps.j2.org deploy-steps.j2 --- deploy-steps.j2.org 2019-10-04 09:09:57.414000000 -0400 +++ deploy-steps.j2 2019-10-04 09:13:51.120000000 -0400 @@ -433,7 +433,7 @@ - include_tasks: deployments.yaml vars: force: false - with_items: "{{ '{{' }} lookup('vars', tripleo_role_name + '_pre_deployments')|default([]) {{ '}}' }}" + with_items: "{{ '{{' }} hostvars[inventory_hostname][tripleo_role_name ~ '_pre_deployments']|default([]) {{ '}}' }}" tags: - overcloud - pre_deploy_steps @@ -521,7 +521,7 @@ - include_tasks: deployments.yaml vars: force: false - with_items: "{{ '{{' }} lookup('vars', tripleo_role_name + '_post_deployments')|default([]) {{ '}}' }}" + with_items: "{{ '{{' }} hostvars[inventory_hostname][tripleo_role_name ~ '_post_deployments']|default([]) {{ '}}' }}" tags: - overcloud - post_deploy_steps
deploy-steps.j2 を編集した後、prepare
ステップ 5 で指定したコマンドを実行します。6.c.完了したら、中断したところからアップグレード手順を続行します。