5.3. Playbook 実行ジョブ
Playbook が実行されると、結果が Output タブに表示されます。Ansible CLI を使用した場合、CLI に同じ情報が表示されます。これはデバッグに役立ちます。
イベントの概要には、この Playbook の一部として実行される次のイベントが表示されます。
- この Playbook が実行された回数が Plays フィールドに表示されます。
- この Playbook に関連付けられたタスクの数は、Tasks フィールドに表示されます。
- この Playbook に関連付けられているホストの数が Hosts フィールドに表示されます。
- Elapsed フィールドで Playbook の実行を完了するのにかかった時間
、、ジョブ出力のダウンロード
、またはジョブの削除
を実行できます。
Output ビューのホストステータスバーのセクションにマウスをかざすと、そのステータスに関連付けられたホストの数が表示されます。
Playbook ジョブの出力には、Jobs Templates ページの Jobs タブからジョブを起動した後もアクセスできます。出力内のラインアイテムタスクをクリックして、ホストの詳細を表示します。
5.3.1. 検索 リンクのコピーリンクがクリップボードにコピーされました!
Search を使用して、特定のイベント、ホスト名、およびそれらのステータスを検索します。特定のステータスの特定のホストのみをフィルターするには、次の有効なステータスのいずれかを指定します。
- ok
- タスクは正常に完了しましたが、ホスト上で変更が実行されなかったことを示します。
- changed
- Playbook タスクが実行されました。Ansible タスクは冪等になるように作成する必要があるため、ホスト上で何も実行せずにタスクが正常に終了する場合があります。このような場合、タスクは ok を返しますが、変更されません。
- failed
- タスクは失敗しました。このホストに対するそれ以降の Playbook の実行は停止されました。
- unreachable
- ホストはネットワークからアクセスできないか、またはそれに関連する別の回復不可能なエラーがあります。
- skipped
- ホストが目標状態に到達するために変更が必要なかったため、Playbook タスクはスキップされました。
- rescued
- 失敗したタスクが表示してから、レスキューセクションが実行されます。
- ignored
-
ignore_errors: yesが設定されていて、失敗したタスクを示しています。
次の例は、到達不能なホストのみを使用した検索を示しています。
検索の使用方法の詳細は、検索 セクションを参照してください。
標準出力ビューには、特定のジョブで発生したイベントが表示されます。
Stdout ペインからイベントの行をクリックすると、別のウィンドウに Host Events ウィンドウが表示されます。このウィンドウには、その特定のイベントの影響を受けたホストが表示されます。
Ansible Automation Platform の最新バージョンにアップグレードするには、すべての履歴 Playbook 出力とイベントを段階的に移行する必要があります。この移行プロセスは段階的に行われ、インストールの完了後にバックグラウンドで自動的に実行されます。非常に大量の履歴ジョブ出力 (数十 GB または数百 GB の出力) を含むインストールでは、移行が完了するまでジョブ出力が欠落する可能性があります。最新のデータが出力の先頭に表示され、その後に古いイベントが続きます。
5.3.2. Playbook 実行の詳細 リンクのコピーリンクがクリップボードにコピーされました!
Details タブにアクセスして、ジョブの実行に関する詳細を表示します。
実行したジョブの次の詳細を表示できます。
Status: 次のいずれかになります。
- Pending: Playbook の実行は作成されましたが、まだキューに入れられていないか、開始されていません。Playbook の実行だけでなく、すべてのジョブは、システムによって実行される準備ができるまで保留状態になります。Playbook の準備ができていない理由としては、現在実行中の依存関係 (次のステップを実行する前にすべての依存関係が完了している必要がある) に含まれていないか、または設定されている場所で実行するのに十分な容量がないことが考えられます。
- Waiting: Playbook 実行はキューに入れられており、実行を待機中です。
- Running: Playbook 実行が進行中です。
- Successful: 直前の Playbook 実行が成功しました。
- Failed: 直前の Playbook 実行が失敗しました。
- Job template: このジョブを起動したジョブテンプレートの名前。
- Inventory: このジョブを実行するために選択されたインベントリー。
- Project: 起動したジョブに関連付けられたプロジェクトの名前。
- Project Status: 起動したジョブに関連付けられたプロジェクトのステータス。
- Playbook: このジョブを起動するために使用される Playbook。
- Execution environment: このジョブで使用される実行環境の名前。
- Credentials: このジョブで使用される認証情報。
- Extra variables: ジョブテンプレートの作成時に渡された追加変数がここに表示されます。
これらの項目のいずれかを選択すると、対応するジョブテンプレート、プロジェクト、およびその他のオブジェクトが表示されます。
5.3.3. Playbook のアクセスおよび情報共有 リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller は、自動化実行環境および Linux コンテナーを使用しているため、Playbook がプロジェクトディレクトリー外のファイルを読み取ることはできません。
デフォルトでは、コンテナー内の ansible-playbook プロセスに公開されるデータは、現在使用しているプロジェクトのみです。
これをジョブ設定でカスタマイズし、追加のディレクトリーをホストからコンテナーに公開できます。
5.3.4. 分離機能および変数 リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller は、コンテナーテクノロジーを使用してジョブを相互に分離します。デフォルトでは、現在のプロジェクトのみがジョブテンプレートを実行するコンテナーに公開されます。
追加のディレクトリーを公開する必要がある場合は、Playbook の実行をカスタマイズする必要があります。ジョブの分離を設定するには、変数を設定します。
デフォルトでは、Automation Controller はシステムの tmp ディレクトリー (デフォルトでは /tmp) をステージング領域として使用します。これは、Jobs settings ページの Job Execution Path フィールド、または /api/v2/settings/jobs の REST API で変更できます。
AWX_ISOLATION_BASE_PATH = "/opt/tmp"
AWX_ISOLATION_BASE_PATH = "/opt/tmp"
ホストから Playbook を実行するコンテナーに追加のディレクトリーを公開する場合は、Jobs Settings ページの Paths to expose to isolated jobs フィールド、または /api/v2/settings/jobs の REST API で以下を使用することで、そのディレクトリーを指定できます。
AWX_ISOLATION_SHOW_PATHS = ['/list/of/', '/paths']
AWX_ISOLATION_SHOW_PATHS = ['/list/of/', '/paths']
- 特定のファイルへのパスを入力すると、そのファイルを含むディレクトリー全体が実行環境内にマウントされます。
-
Playbook で
AWX_ISOLATION_SHOW_PATHSで定義されたキーまたは設定を使用する必要がある場合は、このファイルを/var/lib/awx/.sshに追加します。
ここで説明するフィールドは、Jobs settings ページにあります。