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

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

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

このドキュメントでは、Ansible
Towerバージョン3.8.0に該当する手順について説明します。

TPAを使用するためのTowerの準備
------------------------------

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

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

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

-  Tower
   UIの[システム設定]ページの[カスタム仮想環境パス]フィールドにTPAディレクトリ(/opt/EDB/TPA)を追加します。

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:`クラスター構成 <クラスター構成>` で説明されている\ ``tpaexec configure``
の他のすべてのオプションは引き続き有効です。

これにより、クラスターの名前を付けたクラスターディレクトリが作成されます。

-  config.ymlにはトップレベルの辞書\ ``ansible_tower``
   が含まれるようになり、\ ``tpaexec provision``
   はクラスターをTowerクラスターとして扱います。

-  他の変更を行う必要がある場合はconfig.ymlを編集します。

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

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

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

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

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

-  新しいテンプレートに基づいてジョブを実行して、クラスターをデプロイします。
