TPA and Ansible Tower/Ansible Automation Controller
===================================================

TPAは、スタンドアロンマシンで構成とプロビジョニングの手順を実行し、クラスターをベアメタルとして扱い、結果のインベントリおよびその他の生成されたファイルをTowerにインポートすることにより、RedHat
Ansible Automation Controller旧Ansible Towerで使用できます。 。

独自の仮想環境tpa-venvを含むTowerインスタンスへのTPAインストールは、Towerの展開手順に使用されます。

このドキュメントでは、Ansible
Towerバージョン3.8の適切な手順について説明します。

TPAを使用するためのタワーの準備
-------------------------------

TPA仮想環境のセットアップ
^^^^^^^^^^^^^^^^^^^^^^^^^

-  Towerサーバーの/opt/EDB/TPAの下にtpaexecをインストールします。これは、TPAがパッケージからインストールされるときのデフォルトの場所です。

-  /opt/EDB/TPA/tpa-venvの下に仮想環境を作成し、必要なパッケージをインストールする\ ``tpaexec setup``
   を実行します。

-  TPAディレクトリ /opt/EDB/TPA をTower
   UIの[システム設定]ページの[CUSTOM VIRTUAL ENVIRONMENT
   PATHS]フィールドに追加します。

TPA_2Q_SUBSCRIPTION_TOKEN資格情報タイプの作成
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

以下の説明のように、「TPA_2Q_SUBSCRIPTION_TOKEN」と呼ばれるカスタム資格情報タイプを作成します。

-  Tower UIの[ Credentials Type ]ページに移動します。

-  “NAME”フィールドを”TPA_2Q_SUBSCRIPTION_TOKEN”に設定します。

-  これを「INPUT CONFIGURATION」フィールドに貼り付けます。

.. code:: yaml

       fields:
       - id: tpa_2q_sub_token
         type: string
         label: TPA_2Q_SUBSCRIPTION_TOKEN
       required:
       - tpa_2q_subscription_token

-  これを「INJECTOR CONFIGURATION」フィールドに貼り付けます。

.. code:: yaml

       env:
         TPA_2Q_SUBSCRIPTION_TOKEN: {{ tpa_2q_sub_token }}

-  “SAVE”ボタンをクリックします。

クラスターのセットアップ
------------------------

-  クラスターに使用するホストがTowerインストールで既知であること、SSH経由でアクセスできる資格情報があること、およびansible_host、public_ip、およびprivate_ipが設定されていることを確認します。

-  tpaexecがインストールされているマシンで、ホスト名のリストを含むファイルを1行に1つずつ準備します。

.. code:: text

   mercury
   venus
   mars
   jupiter
   saturn
   neptune

-  ``tpaexec configure`` を実行します。

.. code:: bash

   [tpa]$ tpaexec configure <clustername> \
            --platform bare \
            --use-ansible-tower https://aac.example.com/api \
            --tower-git-repository ssh://git@git.example.com/example \
            --hostnames-from <hostnamefile> \
            --architecture BDR-Always-ON \
            --layout bronze \
            --harp-consensus-protocol bdr \
            --postgresql 14

APIエンドポイントは現在受け入れられ、config.ymlに追加されていますが、使用されていません。
gitリポジトリは、クラスターデータをTowerにインポートするために使用されます。
tpaexecは、このクラスターのリポジトリに独自のブランチを作成するため、そこに既に存在するブランチは関係ありません。これにより、すべてのクラスターに同じリポジトリを使用できます。
 :ref:`Cluster configuration <Cluster configuration>` で説明しているように、\ ``tpaexec configure``
の他のすべてのオプションは引き続き有効です。

これにより、クラスターにちなんだ名前のクラスターディレクトリが作成されます。

-  config.ymlには、トップレベルディクショナリ ``ansible_tower``
   が含まれます。これにより、 ``tpaexec provision``
   はクラスターをTowerクラスターとして処理します。

-  その他の変更が必要な場合は、config.ymlを編集します。

-  ``tpaexec provision``
   を実行して、インベントリおよびその他の関連ファイルを生成します。

-  gitリポジトリを使用してTowerにプロジェクトを追加します。

-  プロジェクトからインベントリを外部ソースとしてインベントリに追加します。

-  TPA仮想環境、インベントリ、および新しく作成したプロジェクトを指定して、Towerでテンプレートを作成します。また、ホストに到達するために必要な資格情報、およびTPAサブスクリプショントークン
   TPA_2Q_SUBSCRIPTION_TOKEN を使用した資格情報も含めます。

-  1つの追加変数\ ``tpa_dir: /opt/EDB/TPA`` を設定します
