7.2.5. 障害が発生したベアメタルノードをノード定義ファイルから削除する
ノードのハードウェアまたはネットワーク設定の障害が原因でノードのプロビジョニングが失敗した場合は、プロビジョニング手順を再度実行する前に、失敗したノードを削除できます。プロビジョニング中に失敗したベアメタルノードを削除するには、ノード定義ファイルでスタックから削除するノードにタグを付け、動作中のベアメタルノードをプロビジョニングする前にノードのプロビジョニングを解除します。
前提条件
- アンダークラウドがインストールされます。詳細は、Installing director を参照してください。
- ノードのハードウェア障害が原因で、ベアメタルノードのプロビジョニングが失敗しました。
手順
source コマンドで
stackrcアンダークラウド認証情報ファイルを読み込みます。$ source ~/stackrc-
overcloud-baremetal-deploy.yamlノード定義ファイルを開きます。 ノードが割り当てられているロールの
countパラメーターを減らします。たとえば、以下の設定は、ObjectStorageロールのカウントパラメーターを更新して、ObjectStorage専用のノード数が 3 に減ったことを反映します。- name: ObjectStorage count: 3-
ロールの
instances属性でまだ定義されていない場合は、スタックから削除するノードのhostnameとnameを定義します。 削除するノードに属性
provisioned: falseを追加します。たとえば、スタックからノードovercloud-objectstorage-1を削除するには、overcloud-baremetal-deploy.yamlファイルに以下のスニペットを追加します。- name: ObjectStorage count: 3 instances: - hostname: overcloud-objectstorage-0 name: node00 - hostname: overcloud-objectstorage-1 name: node01 # Removed from cluster due to disk failure provisioned: false - hostname: overcloud-objectstorage-2 name: node02 - hostname: overcloud-objectstorage-3 name: node03ベアメタルノードのプロビジョニングを解除します。
(undercloud)$ openstack overcloud node unprovision \ --stack <stack> \ --network-ports \ /home/stack/templates/overcloud-baremetal-deploy.yaml-
<stack>を、ベアメタルノードがプロビジョニングされるスタックの名前に置き換えます。指定しない場合、デフォルトはovercloudです。
-
オーバークラウドノードをプロビジョニングして、デプロイメントコマンドに含める heat 環境ファイルを更新して生成します。
(undercloud)$ openstack overcloud node provision \ --stack <stack> \ --output <deployment_file> \ /home/stack/templates/overcloud-baremetal-deploy.yaml-
<deployment_file>は、デプロイメントコマンドに含めるために生成する heat 環境ファイルの名前に置き換えます (例:/home/stack/templates/overcloud-baremetal-deployed.yaml)。
-