7.15. OpenStackConfigGenerator を使用したオーバークラウド設定用の Ansible Playbook の作成

オーバークラウドのインフラストラクチャーをプロビジョニングした後に、オーバークラウドノード上に Red Hat OpenStack Platform (RHOSP) ソフトウェアを設定する Ansible Playbook のセットを作成する必要があります。これらの Playbook を OpenStackPlaybookGenerator リソースで作成し、RHOSP director の config-download 機能を使用して heat 設定を Playbook に変換します。

前提条件

  • OpenShift Container Platform クラスターが稼働し、director Operator が正しくインストールされていることを確認する。
  • oc コマンドラインツールがワークステーションにインストールされていることを確認する。
  • 必要に応じて作成される OpenStackControlPlane および OpenStackBarementalSets。
  • リモート Git リポジトリーの認証情報が含まれる git-secret シークレットを設定します。
  • カスタム heat テンプレートが含まれる tripleo-tarball-config ConfigMap を設定します。
  • カスタム環境ファイルが含まれる heat-env-config ConfigMap を設定します。

手順

  1. ワークステーションに openstack-config-generator.yaml という名前のファイルを作成します。リソース仕様を追加して Ansible Playbook を生成します。たとえば、Playbook を生成する仕様は以下のようになります。

    apiVersion: osp-director.openstack.org/v1beta1
    kind: OpenStackConfigGenerator
    metadata:
      name: default
      namespace: openstack
    spec:
      enableFencing: true
      gitSecret: git-secret
      imageURL: registry.redhat.io/rhosp-rhel8/openstack-tripleoclient:16.2
      heatEnvConfigMap: heat-env-config
      # List of heat environment files to include from tripleo-heat-templates/environments
      heatEnvs:
      - ssl/tls-endpoints-public-dns.yaml
      - ssl/enable-tls.yaml
      tarballConfigMap: tripleo-tarball-config

    リソース仕様に以下の値を設定します。

    metadata.name
    Compute ノードのベアメタルセットの名前に設定します。デフォルトは default です。
    metadata.namespace
    director の Operator の namespace (デフォルトでは openstack) に設定します。
    spec.enableFencing
    フェンシングを有効にするために必要な heat 環境ファイルの自動作成を有効にします。
    注記

    本番 OSP 環境では、フェンシングを有効にする必要があります。pacemaker を実行する仮想マシンには、fence-agents-kubevirt パッケージが必要です。

    spec.gitSecret
    Git 認証の認証情報を含む ConfigMap に設定します (デフォルトでは git-secret)。
    spec.heatEnvs
    Playbook の生成に使用されるデフォルトの Tripleo 環境ファイルのリスト。
    spec.heatEnvConfigMap
    カスタム環境ファイルを含む ConfigMap に設定します (デフォルトは heat-env-config)。
    spec.tarballConfigMap
    カスタムの heat テンプレートを使用して tarball が含まれる ConfigMap (tripleo-tarball-config) に設定します。

    spec セクションで使用できる値の詳細は、openstackconfiggenerator CRD のカスタムリソース定義の仕様スキーマを確認します。

    $ oc describe crd openstackconfiggenerator

    Ansible 設定ジェネレーター仕様の設定が完了したら、ファイルを保存します。

  2. Ansible 設定ジェネレーターを作成します。

    $ oc create -f openstack-config-generator.yaml -n openstack

検証

  1. 設定ジェネレーターのリソースを表示します。

    $ oc get openstackconfiggenerator/default -n openstack