Menu Close

8.6. ベアメタルノードのスケールダウン

スタックから削除するノードを ~/overcloud-baremetal-deploy.yaml ファイルでタグ付けし、オーバークラウドを再デプロイしてから、--baremetal-deployment オプションを指定して openstack overcloud node delete コマンドにこのファイルを追加します。

前提条件

手順

  1. source コマンドで stackrc アンダークラウド認証情報ファイルを読み込みます。

    $ source ~/stackrc
  2. ベアメタルノードのプロビジョニングに使用した ~/overcloud-baremetal-deploy.yaml ファイルを編集し、スケールダウンするロールの count パラメーターを減らします。また、スタックから削除するノードごとに以下の属性を定義する必要もあります。

    • ノードの名前。
    • ノードに関連付けられたホスト名。
    • provisioned: false 属性。

      たとえば、スタックからノード overcloud-controller-1 を削除するには、~/overcloud-baremetal-deploy.yaml ファイルに以下のスニペットを追加します。

      - name: Controller
        count: 2
        instances:
        - hostname: overcloud-controller-0
          name: node00
        - hostname: overcloud-controller-1
          name: node01
          # Removed from cluster due to disk failure
          provisioned: false
        - hostname: overcloud-controller-2
          name: node02
  3. ~/overcloud-baremetal-deploy.yaml ファイルを指定し、--output オプションで出力ファイルを定義して、プロビジョニングコマンドを実行します。

    (undercloud)$ openstack overcloud node provision \
    --stack stack \
    --output ~/overcloud-baremetal-deployed.yaml \
    ~/overcloud-baremetal-deploy.yaml
  4. デプロイメントに該当するその他の環境ファイルと共に、プロビジョニングコマンドによって生成される ~/overcloud-baremetal-deployed.yaml ファイルを指定して、オーバークラウドを再デプロイします。

    (undercloud)$ openstack overcloud deploy \
      ...
      -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml \
      -e ~/overcloud-baremetal-deployed.yaml \
      --deployed-server \
      --disable-validations \
      ...

    オーバークラウドの再デプロイ後、provisioned: false 属性で定義したノードがスタックには存在しなくなります。ただし、これらのノードは provisioned の状態で稼働したままです。

    注記

    スタックから一時的にノードを削除する場合は、オーバークラウドを属性 provisioned: false でデプロイしてから属性 provisioned: true で再デプロイすることで、ノードをスタックに戻すことができます。

  5. --baremetal-deployment オプションで ~/overcloud-baremetal-deploy.yaml ファイルを指定して、openstack overcloud node delete コマンドを実行します。

    (undercloud)$ openstack overcloud node delete \
    --stack stack \
    --baremetal-deployment ~/overcloud-baremetal-deploy.yaml
    注記

    スタックから削除するノードを、openstack overcloud node delete コマンドのコマンド引数に含めないでください。