6.3. roles_data ファイルの作成

カスタムの roles_data ファイルは、手動で作成することができますが、個別のロールテンプレートを使用して自動生成することも可能です。director は、ロールテンプレートの管理とカスタムの roles_data ファイルの自動生成を行うためのコマンドをいくつか提供しています。

手順

  1. デフォルトロールのテンプレートをリスト表示します。

    $ openstack overcloud roles list
    BlockStorage
    CephStorage
    Compute
    ComputeHCI
    ComputeOvsDpdk
    Controller
    ...
  2. openstack overcloud roles show コマンドを使用して、YAML 形式のロール定義を表示します。

    $ openstack overcloud roles show Compute
  3. カスタムの roles_data ファイルを生成します。openstack overcloud roles generate コマンドを使用して、複数の事前定義済みロールを単一のロールに統合します。たとえば、以下のコマンドを実行して、ControllerCompute、および Networker ロールが含まれる roles_data.yaml ファイルを生成します。

    $ openstack overcloud roles generate -o ~/roles_data.yaml Controller Compute Networker

    -o オプションを使用して、出力ファイルの名前を定義します。

    このコマンドにより、カスタムの roles_data ファイルが作成されます。ただし、上記の例では、ControllerNetworker ロールを使用しており、その両方に同じネットワークエージェントが含まれています。つまり、ネットワークサービスは Controller ロールから Networker ロールにスケーリングされ、オーバークラウドは Controller ノードと Networker ノード間にネットワークサービスの負荷のバランスを取ります。

    この Networker ロールをスタンドアロンにするには、独自のカスタム Controller ロールと、その他の必要なロールを作成することができます。これにより、独自のカスタムロールから roles_data ファイルを生成できるようになります。

  4. コア heat テンプレートコレクションから stack ユーザーのホームディレクトリーにディレクトリーをコピーします。

    $ cp -r /usr/share/openstack-tripleo-heat-templates/roles ~/.
  5. このディレクトリー内でカスタムロールファイルを追加または変更します。このディレクトリーをカスタムロールのソースとして使用するには、ロールのサブコマンドに --roles-path オプションを指定します。

    $ openstack overcloud roles generate -o my_roles_data.yaml \
      --roles-path ~/roles \
      Controller Compute Networker

    このコマンドにより、~/roles ディレクトリー内の個々のロールから、単一の my_roles_data.yaml ファイルが生成されます。

注記

デフォルトのロールコレクションには、ControllerOpenStack ロールも含まれます。このロールには、NetworkerMessaging、および Database ロールのサービスは含まれません。ControllerOpenStack は、スタンドアロンの NetworkerMessagingDatabase ロールと組み合わせて使用することができます。