第8章 カスタムロールおよびカスタムサービスの使用

オールインワンの Red Hat OpenStack Platform (RHOSP) インストールは、すべての OpenStack サービスを含む単一ノードで実行されます。

/usr/share/openstack-tripleo-heat-templates/roles ディレクトリーの Standalone.yaml ロールファイルは、オールインワンインストールのすべてのサービスが含まれる設定ファイルです。Standalone.yaml ロールファイルのコピーを作成して変更し、インストール内のサービスを有効および無効にすることができます。

Standalone.yaml ファイルには、standalone ロールのサービスのリストが含まれています。以下の例を使用して、このファイルの構文を説明します。

- name: Standalone
  description: |
    A standalone role that includes a minimal set of services. Use this role for testing in a single node configuration with the `openstack tripleo deploy --standalone` command, or with the `openstack overcloud deploy` command.
  CountDefault: 1
  tags:
    - primary
    - controller
  disable_constraints: True
  ServicesDefault:
    - OS::TripleO::Services::Aide
    - OS::TripleO::Services::AodhApi
    - OS::TripleO::Services::AodhEvaluator
    ...
    - OS::TripleO::Services::Tuned
    - OS::TripleO::Services::Vpp
    - OS::TripleO::Services::Zaqar

このロールファイルをデプロイコマンドに追加して、Standalone ロールでスタックを設定します。このロールには、ロールファイルの ServicesDefault: セクションに含めたサービスが含まれます。

[stack@all-in-one]$ sudo openstack tripleo deploy --templates -r /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml

ただし、プロダクションのマルチノード Red Hat OpenStack Platform 環境では、すべてのサービスを単一のノードに含めるのではなく、OpenStack サービスの一部が含まれるロールを各ノードに割り当てます。たとえば、デフォルトの Controller ロールには管理、ネットワーク、および高可用性サービスが含まれ、デフォルトの Compute ロールにはコンピューティングサービスが含まれます。マルチノード環境のデフォルトのロールファイルは、/usr/share/openstack-tripleo-heat-templates/roles_data.yaml ファイルです。このファイルで、以下のロール種別を定義します。

  • Controller
  • Compute
  • BlockStorage
  • ObjectStorage
  • CephStorage

以下の例を使用して、マルチノード環境におけるロールの構文を説明します。

----` - name: Controller description: | Controller role that contains all of the services for database, messaging and network functions.ServicesDefault: - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient …​ - name: Compute description: | Basic Compute Node role ServicesDefault: - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient …​ ----`

デプロイメントコマンドを実行するたびに、ロールファイルを追加する必要があります。デプロイメントコマンドで -r 引数を使用し、このファイルをオーバーライドしてカスタムロールファイルを使用できます。

----` [stack@all-in-one]$ sudo openstack tripleo deploy --templates -r ~/templates/roles_data-custom.yaml ----`

8.1. オールインワン Red Hat OpenStack Platform 環境でのサービスの有効化および無効化

お使いの環境で個別のサービスを有効または無効にするには、以下の手順を実施します。

手順

  1. サービスを有効にするには、新しい環境ファイルを作成し、有効にするサービスから値 OS::Heat::None を削除します。

        - OS::TripleO::Services::<SERVICE>:

    この環境ファイルをデプロイメントコマンドに追加します。

  2. サービスを無効にするには、新しい環境ファイルを作成し、無効にするサービスに値 OS::Heat::None を含めます。

        - OS::TripleO::Services::<SERVICE>: OS::Heat::None

    この環境ファイルをデプロイメントコマンドに追加します。