6.2. コンポーザブルサービスアーキテクチャーの考察
コアの Heat テンプレートコレクションには、puppet/services サブディレクトリーに設定可能なサービステンプレートのコレクションが含まれています。これらのサービスは、次のコマンドで表示できます。
ls /usr/share/openstack-tripleo-heat-templates/puppet/services
$ ls /usr/share/openstack-tripleo-heat-templates/puppet/services
各サービステンプレートには、その目的を識別する説明が含まれています。たとえば、keystone.yaml サービステンプレートには、次の説明が含まれています。
description: > OpenStack Identity (`keystone`) service configured with Puppet
description: >
OpenStack Identity (`keystone`) service configured with Puppet
これらのサービステンプレートは、Red Hat OpenStack Platform デプロイメント固有のリソースとして登録されます。これは、overcloud-resource-registry-puppet.j2.yaml ファイルで定義されている一意な Heat リソース名前空間を使用して、各リソースを呼び出すことができることを意味します。サービスはすべて、リソース種別に OS::TripleO::Services 名前空間を使用します。たとえば、keystone.yaml サービステンプレートは OS::TripleO::Services::Keystone リソースタイプに登録されます。
grep "OS::TripleO::Services::Keystone" /usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.j2.yaml OS::TripleO::Services::Keystone: puppet/services/keystone.yaml
grep "OS::TripleO::Services::Keystone" /usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.j2.yaml
OS::TripleO::Services::Keystone: puppet/services/keystone.yaml
overcloud.j2.yaml Heat テンプレートには、roles_data.yaml ファイル内の各カスタムロールのサービス一覧を定義するための Jinja2-based コードのセクションが含まれています。
デフォルトのロールの場合は、これにより次のサービス一覧パラメーターが作成されます: ControllerServices、ComputeServices、BlockStorageServices、ObjectStorageServices、CephStorageServices
roles_data.yaml ファイル内の各カスタムロールのデフォルトのサービスを定義します。たとえば、デフォルトの Controller ロールには、以下の内容が含まれます。
これらのサービスは、次に ControllerServices パラメーターのデフォルト一覧として定義されます。
環境ファイルを使用してサービスパラメーターのデフォルト一覧を上書きすることもできます。たとえば、環境ファイルで ControllerServices を parameter_default として定義して、roles_data.yaml ファイルからのサービス一覧を上書きすることができます。