2.3. リーフノードのロールの指定

各リーフネットワークのそれぞれのロールには、フレーバーとロールの割り当てが必要です。これにより、ノードを対応するリーフにタグ付けすることができます。各フレーバーを作成してロールに割り当てるには、以下の手順を実施します。

手順

  1. stackrc ファイルを取得します。

    [stack@director ~]$ source ~/stackrc
  2. ノード一覧を取得して UUID を把握します。

    (undercloud)$ openstack baremetal node list
  3. リーフネットワークとロールを識別するカスタムリソースクラスを使用して、ロールに指定する各ベアメタルノードを割り当てます。

    openstack baremetal node set \
     --resource-class baremetal.<ROLE> <node>
    • <ROLE> をロールを識別する名前に置き換えます。
    • <node> をベアメタルノードの ID に置き換えます。

      たとえば、以下のコマンドを実行して、UUID 58c3d07e-24f2-48a7-bbb6-6843f0e8ee13 のノードを Leaf2 上の Compute ロールにタグ付けします。

      (undercloud)$ openstack baremetal node set \
       --resource-class baremetal.COMPUTE-LEAF2 58c3d07e-24f2-48a7-bbb6-6843f0e8ee13
  4. 各ロールがまだ定義されていない場合は、overcloud-baremetal-deploy.yaml に追加します。
  5. ロールのノードに割り当てるリソースクラスを定義します。

    - name: <role>
      count: 1
      defaults:
        resource_class: baremetal.<ROLE>
    • <role> をロールの名前に置き換えます。
    • <ROLE> をロールを識別する名前に置き換えます。
  6. Baremetal-deploy.yaml ファイルで、ロールのノードに割り当てるリソースクラスを定義します。展開するロール、プロファイル、数量、および関連付けられているネットワークを指定します。

    - name: <role>
      count: 1
      hostname_format: <role>-%index%
      ansible_playbooks:
        - playbook: bm-deploy-playbook.yaml
      defaults:
        resource_class: baremetal.<ROLE>
        profile: control
        networks:
          - network: external
            subnet: external_subnet
          - network: internal_api
            subnet: internal_api_subnet01
          - network: storage
            subnet: storage_subnet01
          - network: storage_mgmt
            subnet: storage_mgmt_subnet01
          - network: tenant
            subnet: tenant_subnet01
        network_config:
          template: templates/multiple_nics/multiple_nics_dvr.j2
          default_route_network:
            - external
    • <role> をロールの名前に置き換えます。
    • <ROLE> をロールを識別する名前に置き換えます。

      注記

      /home/stack/<stack> に、デプロイするすべてのスタックに対して、baremetal-deploy.yaml 環境ファイルを作成する必要があります。