CentOS Stream 9
Sponsored Link

Ansible : AWX ジョブテンプレート追加2022/07/22

 
Ansible AWX の基本操作として、Playbook を実行するまでの基本的な設定を例示します。
任意の Playbook を任意のホストで実行するにあたり、事前に以下の作業が必要となります。
・ インベトリー追加
・ 認証情報追加
・ プロジェクト追加
・ ジョブテンプレート追加
ジョブテンプレートを追加するには以下のように操作します。
ジョブテンプレートの追加にあたり、事前に、登録済みのプロジェクトに関連付けた Source Control のリポジトリに Playbook を格納しておく必要があります。
当例では Source Control に、HTTP アクセス可能な Git リポジトリを用意して進めます。
[1] Source Control に設定したリポジトリに、AWX で操作したい対象ホストに対して実行する Playbook を作成しておきます。
当例のように Git リポジトリを設定している場合は、以下を参考にしてください。
# リポジトリのワーキングディレクトリに移動

[cent@dlp ~]$
cd ~/work/project01
# テスト Playbook 作成

[cent@dlp project01]$
vi helloworld.yml
# 新規作成
# 例として 対象ホストで [/tmp/helloworld.txt] を 644 で touch する
# [hosts] の値には 作成予定のジョブテンプレートに関連付けたいインベントリーに設定したグループ名を指定
# ⇒ 下例で指定している [hosts] は こちらの [6] で設定したグループ名

---
- hosts: CentOS
  tasks:
  - name: Test Task
    file:
      path: /tmp/helloworld.txt
      state: touch
      owner: root
      group: root
      mode: 0644

# リポジトリに push

[cent@dlp project01]$
git add helloworld.yml

[cent@dlp project01]$
git commit helloworld.yml -m "Initial Commit"

[cent@dlp project01]$
git remote -v

origin  http://cent@dlp.srv.world/git/project01.git (fetch)
origin  http://cent@dlp.srv.world/git/project01.git (push)
[cent@dlp project01]$
git push origin master

[2] Source Control に設定したリポジトリに Playbook を新規追加した場合は、[Sync] を実行しておきます。
Ansible AWX の Web コンソールにログインし、左ペインで [Projects] を選択して、右ペインで自身が登録したプロジェクトを開き、[Sync] ボタンをクリックしておきます。
[3] ジョブテンプレートを追加します。左ペインで [Templates] をクリックします。
[4] 右ペイン上段の [Add] - [Add job template] をクリックします。
[5]
ジョブテンプレートの情報を入力して [Save] ボタンをクリックし、保存します。
[Name] :   任意の名称を設定
[Job Type] :   ジョブのタイプを指定
[Run] or [Check] - [Check] の場合は Playbook のシンタックスチェックのみ
[Inventory] :   インベントリーを指定
拡大鏡アイコンをクリックすることで、登録済みのインベントリーから選択可
[Project] :   プロジェクトを指定
拡大鏡アイコンをクリックすることで、登録済みのプロジェクトから選択可
[Execution Environment] :   ジョブを実行する際に使用される実行環境
拡大鏡アイコンをクリックすることで、以下から選択可
[AWX EE (latest)], [Control Plane Execution Environment]
[Playbook] :   実行したい Playbook を指定
[Project] で指定したプロジェクトに設定された Source Control リポジトリに存在する Playbook を選択可
[Credentials] :   接続対象ホストへの認証情報を指定
接続対象ホストとは Playbook 中で指定したグループ/ホスト
拡大鏡アイコンをクリックすることで、登録済みの認証情報から選択可
[Privilege Escalation] :   指定した認証情報に設定したユーザーが一般ユーザーで、対象ホスト上で root 権限に昇格する必要がある場合はチェックを入れる

[6] [Save] ボタンで保存後、以下の画面となれば、登録完了です。
[6] ジョブテンプレート追加後、[Templates] のリストに表示されていれば OK です。
関連コンテンツ