4.3. カスタム NIC 設定の作成
各ロールには、固有の NIC 設定が必要です。NIC テンプレートの基本セットのコピーを作成し、新しいテンプレートを対応する NIC 設定リソースにマッピングするには、以下の手順を実施します。
手順
コア heat テンプレートディレクトリーに移動します。
$ cd /usr/share/openstack-tripleo-heat-templates
tools/process-templates.py
スクリプト、カスタムnetwork_data
ファイル、およびカスタムroles_data
ファイルを使用して、Jinja2 テンプレートをレンダリングします。$ tools/process-templates.py \ -n /home/stack/network_data_spine_leaf.yaml \ -r /home/stack/roles_data_spine_leaf.yaml \ -o /home/stack/openstack-tripleo-heat-templates-spine-leaf
ホームディレクトリーに移動します。
$ cd /home/stack
デフォルト NIC テンプレートのいずれかからコンテンツをコピーし、スパイン/リーフテンプレートのベースとして使用します。たとえば、
single-nic-vlans
NIC テンプレートをコピーするには、以下のコマンドを実行します。$ cp -r openstack-tripleo-heat-templates-spine-leaf/network/config/single-nic-vlans/* /home/stack/templates/spine-leaf-nics/.
/home/stack/templates/spine-leaf-nics/
の各 NIC 設定を編集し、設定スクリプトの場所を絶対パスに変更します。以下のスニペットに示すような、ネットワーク設定のセクションにスクロールします。resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig properties: group: script config: str_replace: template: get_file: ../../scripts/run-os-net-config.sh params: $network_config: network_config:
スクリプトの場所を絶対パスに変更します。
resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig properties: group: script config: str_replace: template: get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh params: $network_config: network_config:
それぞれのリーフの各ファイルについてこの変更を行い、変更を保存します。
注記NIC をさらに変更する場合には、『オーバークラウドの高度なカスタマイズ』の「カスタムネットワークインターフェーステンプレート」を参照してください。
-
spine-leaf-nics.yaml
という名前のファイルを作成し、そのファイルを編集します。 ファイルに
resource_registry
セクションを作成し、*::Net::SoftwareConfig
リソースのセットを追加して、対応する NIC テンプレートにマッピングします。resource_registry: OS::TripleO::Controller::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/controller.yaml OS::TripleO::ComputeLeaf0::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/computeleaf0.yaml OS::TripleO::ComputeLeaf1::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/computeleaf1.yaml OS::TripleO::ComputeLeaf2::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/computeleaf2.yaml OS::TripleO::CephStorageLeaf0::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/ceph-storageleaf0.yaml OS::TripleO::CephStorageLeaf1::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/ceph-storageleaf1.yaml OS::TripleO::CephStorageLeaf2::Net::SoftwareConfig: /home/stack/templates/spine-leaf-nics/ceph-storageleaf2.yaml
これらのリソースマッピングは、デプロイメント時にデフォルトのリソースマッピングをオーバーライドします。
-
spine-leaf-nics.yaml
ファイルを保存します。 レンダリング済みテンプレートのディレクトリーを削除します。
$ rm -rf openstack-tripleo-heat-templates-spine-leaf
上記の手順を実施すると、NIC テンプレートのセットと共に、必要な *::Net::SoftwareConfig
リソースをそれらのテンプレートにマッピングする環境ファイルが作成されます。最終的に openstack overcloud deploy
コマンドを実行する際には、環境ファイルを以下の順番で追加するようにしてください。
-
/usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml
: ネットワーク分離を有効にします。director はこのファイルをnetwork-isolation.j2.yaml
Jinja2 テンプレートからレンダリングする点に注意してください。 -
/usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml
: デフォルトの NIC リソースマッピングが含まれるデフォルトのネットワーク環境ファイル。director はこのファイルをnetwork-environment.j2.yaml
Jinja2 テンプレートからレンダリングする点に注意してください。 -
/home/stack/templates/spine-leaf-nics.yaml
: カスタム NIC リソースマッピングが含まれるこのファイルは、デフォルトの NIC リソースマッピングをオーバーライドします。
以下のコマンドスニペットに、環境ファイルの順番を示します。
$ openstack overcloud deploy --templates ... -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml \ -e /home/stack/templates/spine-leaf-nics.yaml \ ...
リソース
- NIC テンプレートのカスタマイズに関する詳しい情報は、『 オーバークラウドの高度なカスタマイズ』 の 「カスタムネットワークインターフェーステンプレート」 を参照してください。
ネットワーク環境ファイルに情報を追加してスパイン/リーフアーキテクチャーの特定機能を定義するには、以降のセクションに記載する手順を実施します。この設定を完了したら、このファイルを openstack overcloud deploy
コマンドに追加します。