6.2.2. roles_data ファイルの作成
カスタムの roles_data ファイルは、手動で作成することができますが、個別のロールテンプレートを使用して自動生成することも可能です。director は、ロールテンプレートの管理とカスタムの roles_data ファイルの自動生成を行うためのコマンドをいくつか提供しています。
デフォルトロールのテンプレートを一覧表示するには、openstack overcloud roles list コマンドを使用します。
$ openstack overcloud roles list
BlockStorage
CephStorage
Compute
ComputeHCI
ComputeOvsDpdk
Controller
...
ロールの YAML 定義を確認するには、openstack overcloud roles show コマンドを使用します。
$ openstack overcloud roles show Compute
カスタムの roles_data ファイルを生成するには、openstack overcloud roles generate コマンドを使用して、複数の事前定義済みロールを単一のロールに統合します。たとえば、以下のコマンドは、Controller、Compute、Networker のロールを単一のファイルに統合します。
$ openstack overcloud roles generate -o ~/roles_data.yaml Controller Compute Networker
-o は、作成するファイルの名前を定義します。
これにより、カスタムの roles_data ファイルが作成されます。ただし、上記の例では、Controller と Networker ロールを使用しており、その両方に同じネットワークエージェントが含まれています。これは、ネットワークサービスが Controller から Networker ロールにスケーリングされることを意味します。オーバークラウドは、コントローラー ノードと Networker ノードの間で、ネットワークサービスの負荷のバランスを取ります。
この Networker ロールをスタンドアロンにするには、独自のカスタム Controller ロールと、その他の必要なロールを作成することができます。これにより、独自のカスタムロールから roles_data ファイルを生成できるようになります。
このディレクトリーを、コア Heat テンプレートコレクションから stack ユーザーのホームディレクトリーにコピーします。
$ cp -r /usr/share/openstack-tripleo-heat-templates/roles ~/.
このディレクトリー内でカスタムロールファイルを追加または変更します。このディレクトリーをカスタムロールのソースとして使用するには、前述したロールのサブコマンドに --roles-path オプションを指定します。以下に例を示します。
$ openstack overcloud roles generate -o my_roles_data.yaml \
--roles-path ~/roles \
Controller Compute Networker
このコマンドにより、~/roles ディレクトリー内の個々のロールから、単一の my_roles_data.yaml ファイルが生成されます。
デフォルトのロールコレクションには、ControllerOpenStack ロールも含まれます。このロールには、Networker、Messaging、および Database ロールのサービスは含まれません。ControllerOpenStack は、スタンドアロンの Networker、Messaging、Database ロールと組み合わせて使用することができます。