Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
6.5. 新しいロールの作成
この例の目的は、OpenStack Networking (neutron
) エージェントのみをホストする新しい Networker ロールを作成することです。この状況では、新しいロール情報を含むカスタム roles_data
ファイルを作成します。
デフォルトの roles_data.yaml
ファイルのカスタムコピーを作成します。
$ cp /usr/share/openstack-tripleo-heat-templates/roles_data.yaml ~/templates/roles_data-network_node.yaml
新しい roles_data
ファイルを編集し、基本およびコアの OpenStack Networking サービスを含む新しい Networker
ロールを作成します。以下に例を示します。
- name: Networker CountDefault: 1 HostnameFormatDefault: '%stackname%-networker-%index%' ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::FluentdClient - OS::TripleO::Services::Kernel - OS::TripleO::Services::NeutronDhcpAgent - OS::TripleO::Services::NeutronL3Agent - OS::TripleO::Services::NeutronMetadataAgent - OS::TripleO::Services::NeutronOvsAgent - OS::TripleO::Services::Ntp - OS::TripleO::Services::SensuClient - OS::TripleO::Services::Snmp - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::VipHosts
また、CountDefault
を 1
に設定して、デフォルトのオーバークラウドには常にネットワークノードが含まれるようにした方がよいでしょう。
既存のオーバークラウド内でサービスをスケーリングする場合には、既存のサービスを Controller ロール上に保持します。新しいオーバークラウドを作成し、OpenStack Networking エージェントのみをスタンドアロンロールに残したい場合は、コントローラーロールの定義から OpenStack Networking エージェントを削除します。
- name: Controller CountDefault: 1 ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephMon - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CephRgw - OS::TripleO::Services::CinderApi - OS::TripleO::Services::CinderBackup - OS::TripleO::Services::CinderScheduler - OS::TripleO::Services::CinderVolume - OS::TripleO::Services::Core - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::GlanceApi - OS::TripleO::Services::GlanceRegistry - OS::TripleO::Services::HeatApi - OS::TripleO::Services::HeatApiCfn - OS::TripleO::Services::HeatApiCloudwatch - OS::TripleO::Services::HeatEngine - OS::TripleO::Services::MySQL - OS::TripleO::Services::NeutronDhcpAgent # Remove this service - OS::TripleO::Services::NeutronL3Agent # Remove this service - OS::TripleO::Services::NeutronMetadataAgent # Remove this service - OS::TripleO::Services::NeutronApi - OS::TripleO::Services::NeutronCorePlugin - OS::TripleO::Services::NeutronOvsAgent # Remove this service - OS::TripleO::Services::RabbitMQ ...
このロールに新しいフレーバーを定義して、特定のノードをタグ付けできるようにする必要がある場合があります。この例では、次のコマンドを使用して Networker
フレーバーを作成します。
$ openstack flavor create --id auto --ram 6144 --disk 40 --vcpus 4 networker $ openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" --property "capabilities:profile"="networker" networker
以下のコマンドを実行して、ノードを新規フレーバーにタグ付けします。
$ openstack baremetal node set --property capabilities='profile:networker,boot_option:local' 58c3d07e-24f2-48a7-bbb6-6843f0e8ee13
次の環境ファイルスニペットを使用して、Networker ノード数とフレーバーを定義します。
parameter_defaults: OvercloudNetworkerFlavor: networker NetworkerCount: 1
openstack overcloud deploy
コマンドの実行時には、新しい roles_data
ファイルと環境ファイルを指定します。以下に例を示します。
$ openstack overcloud deploy --templates -r ~/templates/roles_data-network_node.yaml -e ~/templates/node-count-flavor.yaml
デプロイメントが完了すると、コントローラーノードが 1 台、コンピュートノードが 1 台、ネットワーカーノードが 1 台の 3 ノード設定のオーバークラウドが作成されます。オーバークラウドのノード一覧を表示するには、以下のコマンドを実行します。
$ nova list