Ansible-driver¶
はじめに¶
Ansible driver概要¶
Ansible Coreについて¶
Ansible Automation Controllerについて¶
Ansible driverについて¶
- Legacy Role モードAnsible標準の機能を用いて各種ホストへ設定を投入します。構築コードをパッケージとして登録し、作業パターンをRoleの組み合わせで構成します。製品部門などが提供するRoleパッケージを用いて、製品のインストール、環境構築などを行う際に使われることを想定します。
Ansible driverでの変数取り扱い¶
変数の種類¶
通常変数¶
概要¶
playbookにおける表記¶
書式¶
{{ VAR_xxx }}
#xxx: 半角英数字とアンダースコア( _ )
正しい記述例¶
VAR_users: root
- name: ファイル内容確認
command: cat /tmp/{{ VAR_SAMPLE }}
誤った記述例¶
- "{{"または"}}" と変数名の間に「半角スペース」がない
command: cat /tmp/{{VAR_SAMPLE }}
command: cat /tmp/{{ VAR_SAMPLE}}
- "{{"または"}}" と変数名の間の「半角スペース」が2個以上ある
command: cat /tmp/{{ VAR_SAMPLE }}
command: cat /tmp/{{ VAR_SAMPLE }}
- 変数名が129文字以上ある
- 登録の場合Movementを選択しても変数名に候補として表示しません。作業実行時に変数未定義のエラーとなります。
- 更新の場合 (代入値管理登録後にITA追加ルール外の記載のplaybookに更新した場合)変数名に「ID変換失敗(n)」(※nは登録時の管理番号)と表示します。作業実行時に変数未定義のエラーとなります。
- エラーの例(実行ログ)"msg": "The task includes an option with an undefined variable. The error was: 'VAR_PAUSE_time' is undefined
複数具体値変数¶
概要¶
playbookにおける表記¶
書式¶
{{ VAR_xxx }}
#xxx: 半角英数字とアンダースコア( _ )
正しい記述例¶
VAR_users:
- root
- mysql
誤った記述例¶
多段変数¶
概要¶
playbookにおける表記¶
書式¶
{{ VAR_xxx }}
#xxx: 半角英数字とアンダースコア( _ )
正しい記述例¶
VAR_users:
- user-name: alice
authorized: password
誤った記述例¶
グローバル変数¶
概要¶
playbookにおける表記¶
書式¶
{{ GBL_xxx }}
#xxx: 半角英数字とアンダースコア( _ )
正しい記述例¶
- name: ファイル内容確認
command: cat /tmp/{{ GBL_SAMPLE }}
誤った記述例¶
- 接頭文字(GBL_)が小文字になっている
command: cat /tmp/{{ gbl_SAMPLE }}
- 接頭文字(GBL_)の「_」がない
command: cat /tmp/{{ GBLSAMPLE }}
- 変数名が129文字以上ある
- 作業実行時にグローバル変数の置換が行われないためエラーとなります。
- エラーの例(実行ログ)"msg": "'gbl_wait_for_delay' is undefined"
テンプレート埋込変数¶
概要¶
playbookにおける表記¶
書式¶
{{ TPF_xxx }}
#xxx: 半角英数字とアンダースコア( _ )
正しい記述例¶
- name: ファイル内容確認
template: src={{ TPF_SAMPLE }} dest=/tmp/SAMPLE.txt
誤った記述例¶
- "{{"または"}}" と変数名の間に「半角スペース」がない
template: src={{TPF_SAMPLE }} dest=/tmp/SAMPLE.txt
template: src={{ TPF_SAMPLE}} dest=/tmp/SAMPLE.txt
- "{{"または"}}" と変数名の間の「半角スペース」が2個以上ある
template: src={{ TPF_SAMPLE }} dest=/tmp/SAMPLE.txt
- 接頭文字(TPF_)が小文字になっている
template: src={{ tpf_SAMPLE }} dest=/tmp/SAMPLE.txt
- 接頭文字(TPF_)の「_」がない
template: src={{ TPFSAMPLE }} dest=/tmp/SAMPLE.txt
- 変数名が129文字以上ある
- 登録したテンプレート素材への置換が行われません。
- エラーの例(実行ログ)"msg": "'TPFSAMPLE' is undefined"
ファイル埋込変数¶
概要¶
playbookにおける表記¶
書式¶
{{ CPF_xxx }}
#xxx: 半角英数字とアンダースコア( _ )
正しい記述例¶
- name: ファイル内容確認
copy: src={{ CPF_SAMPLE }} dest=/tmp/SAMPLE.txt
誤った記述例¶
- "{{"または"}}" と変数名の間に「半角スペース」がない
copy: src={{CPF_SAMPLE }} dest=/tmp/SAMPLE.txt
copy: src={{ CPF_SAMPLE}} dest=/tmp/SAMPLE.txt
- "{{"または"}}" と変数名の間の「半角スペース」が2個以上ある
copy: src={{ CPF_SAMPLE }} dest=/tmp/SAMPLE.txt
- 接頭文字(CPF_)が小文字になっている
copy: src={{ cpf_SAMPLE }} dest=/tmp/SAMPLE.txt
- 接頭文字(CPF_)の「_」がない
copy: src={{ CPFSAMPLE }} dest=/tmp/SAMPLE.txt
- 変数名が129文字以上ある
- 作業実行時にファイル埋込変数の置換が行われないためエラーとなります。
- エラーの例(実行ログ)Template embedded variable is not registered in the template list. (Role:roles/echo PlayBook:roles/echo/tasks/main.yml line:3 Template embedded variable:TPF_aa)
ITA独自変数¶
概要¶
機器一覧¶
項目名 |
変数名 |
---|---|
ホスト名 |
__loginhostname__ |
プロトコル |
__loginprotocol__ |
ログインユーザID |
__loginuser__ |
ログインパスワード |
__loginpassword__ |
オペレーション¶
項目名 |
変数名 |
---|---|
オペレーション |
__operation__ |
データ連携¶
項目名 |
変数名 |
---|---|
作業ディレクトリパス |
__workflowdir__ |
項目名 |
変数名 |
---|---|
Conductor作業ディレクトリパス |
__conductor_workflowdir__ |
項目名 |
変数名 |
---|---|
ステータスファイルパス |
__movement_status_filepath__ |
変数の抜出および具体値登録¶
- Ansible-Legacy Role「ロールパッケージ管理 (本書: ロールパッケージ管理 )」でアップロードしたロールパッケージ内のdefaults変数定義ファイルより変数定義の抜出を行います。詳しくは「ロールパッケージの記述(本書: ロールパッケージ管理 )」を参照してください。また、アップロードしたロールパッケージ内のplaybookより、以下の書式の変数定義を抜出します。
¶ 変数名
書式
ロールパッケージ内のディレクトリ
具体値の設定
tasks
templates
handlers
meta
その他
グローバル変数
{{ GBL_xxx }} {{ GBL_xxx | フィルタ }}
○
×
具体値の登録は「 グローバル変数管理 」メニューより行います。
テンプレート埋込変数
{{ TPF_xxx }} {{ TPF_xxx | フィルタ }}
具体値の登録は「テンプレート管理」メニューより行います。
ファイル埋込変数
{{ CPF_xxx }} {{ CPF_xxx | フィルタ }}
具体値の登録は「ファイル管理」メニューより行います。
※ 〇:変数定義抜出対象のplaybook ×:変数定義抜出対象外のplaybook
代入値登録による変数の扱い¶
- 代入値管理機能で登録した値
- Playbook中の変数に指定した値詳細は 「 代入値管理 」を参照してください。
Ansible driver コンソールメニュー構成¶
メニュー/画面一覧¶
- ITA 基本コンソールのメニューAnsible driverで利用するITA基本コンソールのメニュー一覧を以下に記述します。
¶ No
メニューグループ
メニュー・画面
説明
1
基本コンソール
オペレーション一覧
オペレーション一覧をメンテナンス(閲覧/登録/更新/廃止)できます
- Ansible共通コンソールのメニューAnsible共通コンソールのメニュー一覧を以下に記述します。
¶ No
メニューグループ
メニュー・画面
説明
1
Ansible共通コンソール
機器一覧
作業対象ホストの情報をメンテナンス(閲覧/登録/更新/廃止)できます。
2
インターフェース情報
Ansible Core、Ansible Automation Controllerサーバのどちらを実行エンジンとし構築作業をするか選択をします。
ITAシステム・Ansibledriverサーバと実行エンジンのサーバが共有するディレクトリのパスおよび、実行エンジンのサーバへの接続インターフェース情報を管理します。
3
Ansible Automation Controllerホスト一覧
Ansible Automation ControllerのRestAPI実行に必要な情報、および構築資材をAnsible Automation Controllerにファイル転送するために必要な情報を管理します。
4
グローバル変数管理
Playbookや対話ファイルなどで共通利用する変数(以降、グローバル変数と称す)と具体値を管理します。
5
ファイル管理
Playbook内の各モジュールで使用する素材ファイルと埋め込み変数を管理します。
6
テンプレート管理
Playbook内のtemplateモジュールでなどで使用するテンプレートファイルと埋め込み変数を管理します。
7
共通変数利用リスト(※1)
テンプレート管理、ファイル管理、グローバル管理に登録されている変数をどの素材(ロール)で使用しているかを閲覧できます。
8
管理対象外変数リスト(※1)
ロールパッケージ管理のデフォルト変数定義やテンプレート管理の変数定義で定義している変数で、代入値自動登録の変数一覧に表示したくない変数をメンテナンス(参照/更新/廃止/復活)できます。
変数名は正規表記で記載できます。
(例) ansible_* *:ワイルドカード
ansible_[0-9a-zA-Z_]*
注釈
※1 非表示メニューは、バックヤード機能でデータの登録・更新を行うメニューです。Ansible Driver機能をインストールした状態では表示されないメニューに設定されています。非表示メニューを表示するには、管理コンソール を参照してください。で各メニューの復活処理を行います。詳細は - Ansibleコンソールのメニュー各Ansibleコンソールに対応するメニュー一覧を以下に記述します。
¶ No
メニュー・画面
説明
1
ロール名管理 (※1)
ロールパッケージ管理にアップロードしたロールパッケージファイル「zip」内に登録しているロール名とロールパッケージの紐付を閲覧できます。
2
Movement一覧
Movementの一覧を管理します。
3
ロールパッケージ管理
ロールパッケージを管理します。
4
Movement-ロール紐付
Movementとロールパッケージの関連付けを管理します。
5
Movement-変数紐付 (※1)
Movementと変数名の紐付を閲覧できます。
6
変数ネスト管理
多段変数が繰返配列で構成されている場合の最大繰返配列数を管理します。
7
代入値自動登録設定
CMDBのメニューに登録されているオぺレーションとホスト毎の項目値を紐付けるMovementと変数を管理します。
8
作業実行
作業実行するMovementとオペレーションを選択し実行を指示します。
9
作業管理
作業実行履歴を管理します。
10
作業状態確認
作業実行状態を表示します。
11
作業対象ホスト
Movementで使用するホストを管理します。
12
代入値管理
変数の代入値を管理します。
13
多段変数メンバー管理 (※1)
ロールパッケージ管理にアップロードしたロールパッケージファイル「zip」内のデフォルト変数定義ファイルや ITAreadmeファイルで定義している多段変数の構造を閲覧できます。
14
多段変数配列組合せ管理 (※1)
ロールパッケージ管理にアップロードしたロールパッケージファイル「zip」内のデフォルト変数定義ファイルや ITAreadmeファイルで定義している多段変数配列組合せを閲覧できます。
注釈
※1 非表示メニューは、バックヤード機能でデータの登録・更新を行うメニューです。Ansible Driver機能をインストールした状態では表示されないメニューに設定されています。非表示メニューを表示するには、管理コンソール を参照してください。で各メニューの復活処理を行います。詳細は
Ansible driver利用手順¶
Ansible-LegacyRole作業フロー¶
作業フロー詳細と参照先
- インターフェース情報の登録Ansible共通コンソールのインターフェース情報の画面から、Ansible Core、Ansible Automation Controllerサーバのどちらを実行エンジンにするかを選択し、実行エンジンのサーバへの接続情報を登録します。詳細は インターフェース情報 を参照してください。
- 作業パターン(Movement)の登録Ansible-LegacyRoleコンソールのMovement一覧の画面から、作業用のMovementを登録します。詳細は Movement一覧 を参照してください。
- ロールパッケージの登録Ansible-LegacyRoleコンソールのロールパッケージ管理の画面から、作業で使用するロールパッケージを登録します。詳細は ロールパッケージ管理 を参照してください。
- グローバル変数の登録(必要に応じて実施)Ansible共通コンソールのグローバル変数管理の画面から、Playbookで使用するグローバル変数を登録します。詳細は グローバル変数管理 を参照してください。
- テンプレートファイルの登録(必要に応じて実施)Ansible共通コンソールのテンプレート管理の画面から、ロールパッケージのtemplateモジュールなどで使用しているテンプレートファイル(src: で指定する素材)とテンプレート埋込変数を登録します。詳細は テンプレート管理 を参照してください。
- 管理対象外変数の登録(必要に応じて実施)Ansible共通コンソールの管理対象外変数リストの画面から、ロールパッケージ管理のデフォルト変数定義やテンプレート管理の変数定義で定義している変数で、代入値自動登録の変数一覧に表示したくない変数を登録します。詳細は 管理対象外変数リスト を参照してください。
- Movementにロールパッケージを指定Ansible-LegacyRoleコンソールのMovement-ロール紐付の画面から、登録したMovementにロールパッケージを指定します。詳細は Movement-ロール紐付 を参照してください。
- 多段変数の最大繰返数を指定(必要に応じて実施)Ansible-LegacyRoleコンソールの多段変数最大繰返管理の画面から、多段変数で配列定義されているメンバー変数の配列の最大繰返数を指定します。詳細は 変数ネスト管理 を参照してください。
- パラメータシートの作成メニュー作成コンソールのメニュー作成・定義の画面から、作業対象サーバの設定に使用するデータを登録するためのメニューを作成します。詳細は メニュー作成機能 を参照してください。
- 代入値自動登録設定Ansible-LegacyRoleコンソールの代入値自動登録設定の画面から、パラメータシートに登録されているオペレーションとホスト毎の項目の設定値と、Movementの変数を紐付けます。詳細は 代入値自動登録設定 を参照してください。
- 作業状態確認Ansible-LegacyRoleコンソールの作業状態確認の画面から、実行した作業の状態がリアルタイムで表示されます。また、作業の緊急停止や、実行ログ、エラーログを監視することができます。詳細は 作業状態確認 を参照してください。
Ansible driver機能・操作方法説明¶
項目…① |
説明…② |
入力必須…③ |
入力方法…④ |
制約事項…⑤ |
---|---|---|---|---|
- 項目サブメニュー内の項目名です。
- 説明項目に対する説明です。
- 入力必須○:項目に対する内容の入力が必須の項目です。ー:項目に対する内容の入力が任意の項目です。
- 入力方法
- 手動入力:手動での入力が必要な項目です。
- 自動入力:自動で内容が入力される項目です。
- チェックボックス:チェックボックス形式の項目です。
- ボタン:ラジオボタン形式の項目です。
- リスト選択:リストボックス形式の項目です。
- 制約事項項目に対する制約事項(文字数制限など)です。
基本コンソール¶
オペレーション一覧¶
Ansible共通コンソール¶
機器一覧¶
- では、作業対象ホストの情報のメンテナンス(閲覧/登録/更新/廃止)を行います。
- + 登録 ボタンより、機器情報の登録を行います。
- 登録画面の共通項目一覧は以下のとおりです。Ansible driverを利用する場合には、Ansible利用情報を入力してください。未入力で作業実行した場合、想定外エラーとなる場合があります。
¶ 項目
説明
入力必須
入力方法
制約事項
管理システム項番
登録情報を識別する一意のIDが自動入力されます。
ー
手動入力
ー
HW機器種別
HW機器の種別を選択します。
・NW(ネットワーク)
・ST(ストレージ)
・SV(サーバー)
ー
リスト選択
ー
ホスト名
ホスト名を記入します。
○
手動入力
最大長255バイト
DNSホスト名
DNSサーバーを使用してホスト名が解決できる名称を入力します。
手動入力
最大長255バイト
IPアドレス
IPアドレス(xxx.xxx.xxx.xxx形式)を記入します。
手動入力
最大長15バイト
ログインパスワード
ユーザ
ログインユーザを記入します。
手動入力
最大長255バイト
パスワード
パスワードを指定します。
手動入力
最大長255バイト
ssh鍵認証情報
ssh秘密鍵ファイル
ssh秘密鍵ファイルを指定して鍵認証する場合の秘密鍵ファイルを入力します。アップロードしたファイルは暗号化されて保存されます。
※登録後はダウンロード不可となります。
ー
ファイル選択
最大サイズ100Mバイト
パスフレーズ
ssh秘密鍵ファイルにパスフレーズが設定されている場合、パスフレーズを入力します。
ー
手動入力
最大長255バイト
Ansible利用情報
Legacy/Role利用情報
認証方式
Ansible・Ansible Automation Controller から機器へ接続する際の認証方式を選択します。
●パスワード認証
ログインパスワードの管理で●の選択と、ログインパスワードの入力が必須です。
●鍵認証(パスフレーズなし)
ssh秘密鍵ファイル(id_ras)のアップロードが必須です。
●鍵認証(パスフレーズあり)
ssh秘密鍵ファイル(id_ras)のアップロードと、パスフレーズの入力が必須です。
●鍵認証(鍵交換済み)※1
ssh秘密鍵ファイル(id_ras)のアップロードは必要ありません。
●パスワード認証(winrm)
必要に応じてWinRM接続情報を入力します。
尚、パスワード認証(winrm)以外の認証方式の場合、機器側に以下の設定が必要です。
ログインユーザの sudo権限を NOPASSWD付で
/etc/sudoers
に設定します。Exp)
Demo_user ALL=(ALL) NOPASSWD:ALL
リスト選択
説明欄記載のとおり
WinRM接続情報
ポート番号
WindowsServerにWinRM接続する際のポート番号を入力します。
未入力の場合はデフォルト(5985)でのWinRM接続となります。
ー
手動入力
説明欄記載のとおり
サーバ証明書
WinRM接続ポートでhttpsのポート番号を指定した場合にサーバ゙証明書を入力します。
アップロードしたファイルは暗号化されて保存されます。
※登録後はダウンロード不可となります。
サーバ証明書の認証を省く場合、インベントリファイル追加オプションに下記を追記してください。
ansible_winrm_server_cert_validation: ignore
ー
ファイル選択
最大サイズ100Mバイト
接続オプション
(ssh接続の場合)
/etc/ansible.cfg/ssh_args
に設定しているsshオプション以外のオプションを設定したい場合、設定したいオプションを入力します。(telnet接続の場合)
telnet接続時のオプションを設定したい場合、設定したいオプションを入力します。
ー
手動入力
最大長4000バイト
インベントリファイル追加オプション
ITAが設定していないインベントリファイルのオプションパラメータをyaml形式で入力します。
Exp)
ansible_connection: network_cli ansible_network_os: ios ansible_become: yes ansible_become_method: enable
各パラメータ値を変数で記述することも出来ます。
ansible_become_password: '{{ VAR_passwd }}'
具体値に変数を記述する場合
'{{ VAR_passwd }}'
':シングル・ダブルコーテーションで囲む「必須」
ー
手動入力
最大長4000バイト
Ansible Automation Controller 利用情報
インスタンスグループ名※2
Ansible Automation Controller がクラスタ構成の場合、どのインスタンスグループで実行するかを選択します。ここで設定した、インスタンスグループはインベントリオブジェクトに設定されます。
未選択の場合はAnsible Automation Controller のデフォルトのインスタンスグループになります。
Ansible Automation Controller がクラスタ構成でない場合は、未選択で構いません。
ー
リスト選択
ー
接続タイプ
Ansible Automation Controller認証情報の接続タイプを設定します。通常はmachineを選択します。
ansible_connectionをlocalに設定する必要があるNetwork OSの場合にNetworkを選択します。
Networkを選択した場合、インベントリファイル追加オプションにPlatform Options(ansible_connection以外)を設定する必要があります。
Exp)
インベントリファイル追加オプションの設定例
Network OSがiosの場合の設定値
ansible_network_os: ios ansible_become: yes ansible_become_method: enable
Ansible Automation Controllerの認証情報の接続タイプについては、ドキュメント 認証情報タイ プ を参照してください。
Network OSとansible_connectionの関連やPlatform Optionsについては、Ansibleドキュメント Platform Options を参照してください。
○
リスト選択
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
注釈
※1 認証方式が鍵認証(鍵交換済み)に設定する為に必要な公開鍵ファイルの配布- Ansible Coreの場合ansibleがインストールされているサーバーの実行ユーザー「Ansible共通コンソール=>インターフェース情報に設定されている実行ユーザー」から作業対象ホストにssh接続します。実行ユーザーの公開鍵ファイルをログイン先ユーザーのauthorized_keysにコピーしてください。
- Ansible Automation Controllerの場合Ansible Automation Controllerのawxユーザーから作業対象ホストにssh接続しています。awxユーザーの公開鍵ファイルをログイン先ユーザーのauthorized_keysにコピーしてください。ブラウザよりAnsible Automation Controllerにログインし、「設定」→「ジョブ」→「分離されたジョブに公開するパス」に
/var/lib/awx/.ssh/
を設定します。尚、AnsibleTower4.x以降、awxユーザーの.sshディレクトリが扱えない為、作業対象ホストと鍵認証(鍵交換済み)での接続は出来ません。
注釈
※2 Ansible driverのバックヤード機能 「Ansible Automation Controllerデータ同期」により取得したデータから選択します。
インターフェース情報¶
- では、Ansible Core、AnsibleTower、Ansible Automation Controllerのいずれかを実行エンジンに選択し、ITAシステム・Ansible driverサーバと実行エンジンのサーバが共有するディレクトリのパスのおよび実行エンジンのサーバへの接続インターフェース情報のメンテナンス(閲覧/更新)を行います。
- 編集 ボタンより、インターフェース情報の登録を行います。
- インタフェース情報画面の項目一覧は以下のとおりです。インタフェース情報が未登録または、複数レコード登録されている状態で作業実行した場合、作業実行は想定外エラーとなります。
¶ 項目
説明
入力必須
入力方法
制約事項
実行エンジン
実行するエンジンを下記の2種類から選択します。
・Ansible Core
・Ansible Automation Controller
○
リスト選択
Ansible
Automation
Controller
インターフェース
代表ホスト
Ansible Automation Controllerホスト一覧に登録されているホストの一覧より、ITAと通信するAnsible Automation Controllerを選択します。
ー
リスト選択
実行エンジンがAnsible Core以外の場合に入力必須
プロトコル
Ansible Automation Controllerサーバとのプロトコルを http / https のどちらかを入力します。
ー
手動入力
実行エンジンがAnsible Core以外の場合に入力必須
ポート
Ansible Automation Controllerサーバの接続ポート(80/443)を入力します。通常はHTTPS(443)です。
ー
手動入力
実行エンジンがAnsible Core以外の場合に入力必須
組織名
Ansible Automation Controllerサーバに登録されている組織名を選択します。
ー
リスト選択
認証トークン
ITAからAnsible Automation Controllerサーバに接続するユーザーの認証トークンを入力します。
ー
手動入力
最大長255バイト
実行エンジンがAnsible Core以外の場合に入力必須
実行時データ削除
作業実行時にITAとAnsible Automation Controller 内に一時的に生成したデータリソースを作業終了後に削除するかを選択します。 「削除する」を選択した場合に削除されるデータリソースは「 実行時データ削除で削除されるデータリソース 」を参照してください。
ー
リスト選択
実行エンジンがAnsible Core以外の場合に入力必須
Proxy
Address
プロキシサーバのアドレスを入力します。
ITAがプロキシ環境下にある場合、Ansible/Ansible Automation Controllerサーバまでの疎通のために設定が必要な場合があります。
プロキシサーバのURLが
http://procy.gate.co.jp:8080の場合
Addressにはhttp://procy.gate.co.jpを入力します。
Portには 8080を入力します。
ー
手動入力
最大255バイト
Port
プロキシサーバのポートを入力します。
ITAがプロキシ環境下にある場合、Ansible/Ansible Automation Controllerサーバまでの疎通のために設定が必要な場合があります。
ー
手動入力
Ansible-vaultパスワード
ansible-vaultコマンドで変数の具体値を暗号化する場合のパスワードを入力します。
空白の場合は、デフォルト値が使用します。
ー
手動入力
最大長64バイト
オプションパラメータ
Movement共通のオプションパラメータを入力します。
実行エンジンがAnsible Coreの場合はansible-playbookコマンドのオプションパラメータ、実行エンジンがAnsible Core以外の場合はジョブテンプレートのパラメータを入力します。
Movement固有のオプションパラメータはMovement一覧で入力します。
オプションパラメータの詳細については、「 オプションパラメータ一覧 」を参照してください。
ー
手動入力
最大長4000バイト
NULL連携
代入値自動登録設定でパラメータシートの具体値がNULL(空白)の場合に、代入値管理への登録をNULL(空白)の値で行うか設定します。
代入値自動登録設定メニューの「NULL連携」が空白の場合この値が適用されます。
・「有効」の場合、パラメータシートの値がどのような値でも代入値管理への登録が行われます。
・「無効」の場合、パラメータシートに値が入っている場合のみ代入値管理への登録が行われます。
○
リスト選択
ー
状態監視周期(単位ミリ秒)
「作業状態確認」で表示されるログのリフレッシュ間隔を入力します。通常は3000ミリ秒程度が推奨値です。
○
手動入力
最小値1000ミリ秒
進行状態表示行数
「作業状態確認」での進行ログ・エラーログの最大表示行数を入力します。
ステータスが[未実行]、[準備中]、[実行中]、[実行中(遅延)]の場合、指定した行数でログを出力します。
ステータスが[完了]、[完了(異常)]、[想定外エラー]、[緊急停止]、[未実行(予約)]、[予約取消]の場合、指定した行数ではなくすべてのログを出力します。
環境毎にチューニングを要しますが、通常は1000行程度が推奨値です。
○
手動入力
ー
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
Ansible Automation Controller ホスト一覧¶
- では、Ansible Automation ControllerのRestAPI実行に必要な情報、および構築資材をAnsible Automation Controllerにファイル転送するために必要な情報のメンテナンス(閲覧/登録/更新/廃止)を行います。クラスタ構成の場合は、構成している全てのサーバを登録してください。ただし、Ansible Automation Controllerのhop nodeの登録は不要です。
- + 登録 ボタンより、Ansible Automation Controllerのホスト情報の登録を行います。
- Ansible Automation Controller ホスト一覧画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
ホスト
Ansible Automation Controllerサーバのホスト名(またはIPアドレス)を入力します。
HTTPS通信の場合はホスト名が推奨です。
○
手動入力
最大長255バイト
認証方式
Ansible Automation Controllerサーバへファイル転送(scp)で接続する際の認証方式を選択します。
●パスワード認証
ログインユーザとパスワードの入力が必須です。
●鍵認証(パスフレーズなし)
ssh秘密鍵ファイル(id_ras)のアップロードが必須です。
●鍵認証(パスフレーズあり)
ssh秘密鍵ファイル(id_ras)のアップロードと、パスフレーズの入力が必須です。
●鍵認証(鍵交換済み)※
ssh秘密鍵ファイル(id_ras)のアップロードは必要ありません。
○
手動入力
最大長30バイト
ユーザー
Ansible Automation Controllerサーバへファイル転送(scp)で接続する際のログインユーザを入力します。
ログインユーザは、Ansible Automation Controllerインストール時に生成されるawxユーザーにパスワードを設定し、使用することを強く推奨します。
○
手動入力
最大長255バイト
パスワード
認証方式でパスワード認証を選択した場合に必須入力となります。 ログインユーザのパスワードを指定します。
ー
手動入力
最大長30バイト
ssh鍵認証情報
ssh秘密鍵ファイル
ssh秘密鍵ファイルを指定して鍵認証する場合の秘密鍵ファイルを入力します。 アップロードしたファイルは暗号化されて保存されます。※登録後はダウンロード不可となります。
ー
ファイル選択
最大サイズ100Mバイト
パスフレーズ
ssh秘密鍵ファイルにパスフレーズが設定されている場合、パスフレーズを入力します。
ー
手動入力
最大長255バイト
isolatedTower
クラスタ構成で構築されている場合で、対象ノードがAnsibleTowerのisolatednode/Ansible Automation Controllerのexecution node の場合、「●」を選択します。
ー
リスト選択
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
注釈
※ 認証方式が鍵認証(鍵交換済み)に設定する為に必要な公開鍵ファイルの配布ITAがインストールされているサーバーのrootからAnsible Automation Controllerのawxユーザーでssh接続します。rootの公開鍵ファイルをAnsible Automation Controllerのawxユーザーのauthorized_keysにコピーして下さい。
グローバル変数管理¶
- では、Playbookで利用するグローバル変数名のメンテナンス(閲覧/登録/更新/廃止)を行います。
- + 登録 ボタンより、グローバル変数管理情報の登録を行います。
- グローバル変数管理画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
グローバル変数名
変数名を入力します。
変数名は、「GBL_****」形式で入力します。
**** :半角英数字とアンダースコア( _ )が利用可能です。(最小値:1バイト、最大値:255バイト)
○
手動入力
説明欄記載のとおり
具体値
具体値を入力します。複数行の具体値も入力できますが、Pioneerの対話ファイルで使用しているグローバル変数で複数行の具体値を設定すると、作業実行時にエラーとなります。
ー
手動入力
最大長4000バイト
変数名説明
変数に対する説明・コメントを入力します。
ー
手動入力
最大長4000バイト
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
ファイル管理¶
- では、Playbook内で定義している各モジュールで使用するファイルとファイル埋込変数のメンテナンス(閲覧/登録/更新/廃止)を行います。ファイル管理でファイル素材を登録しておくことで、Playbook内で定義している各モジュールで使用するファイルをファイル埋込変数名で指定することができます。
- + 登録 ボタンより、ファイル管理情報の登録を行います。
- 登録画面の項目は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
ファイル埋込
変数名
各モジュールのパラメータに埋め込む変数名を入力します。
変数名は、「CPF_****」形式で入力します。
****:半角英数字とアンダースコア( _ )が利用可能です。(最小値:1バイト、最大値:128バイト)
○
手動入力
説明欄記載のとおり
ファイル素材
各モジュールで使用するファイルをアップロードします。
○
ファイル登録
最大サイズ100Mバイト
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
注釈
- ファイル管理で登録したhostsファイルをファイル埋め込み変数を使用して作業対象サーバの/etc/配下にコピーする場合
- ファイル管理メニューから下記のようにhostsファイルを登録します。
¶ ファイル埋込変数名
ファイル素材
CPF_hosts
hosts
- 下記のようにPlaybookを記述します。※destはファイル名も記述してください。ファイル名の指定がない場合、登録したファイル素材のファイル名の前にITAの管理番号が付与された名前のファイル名で処理されます。たとえば、dest=/etc/ とした場合、ファイル名は/etc/10桁の数値_hostsとなります。Playbookの記述
- copy: src='{{ CPF_hosts }}' dest=/etc/hosts
- ファイル管理で登録したtool.tgzファイルをファイル埋込変数を使用して作業対象サーバの/usr/local/bin/配下に解凍する場合
- ファイル管理メニューから下記のようにtool.tgzファイルを登録します。
¶ ファイル埋込変数名
ファイル素材
CPF_tool_tgz
tool.tgz
- 下記のようにPlaybookを記述します。Playbookの記述
- unarchive: src={{ CPF_tool_tgz }} dest=/usr/local/bin
テンプレート管理¶
- では、Playbookで定義しているtemplateモジュールやios_configモジュールなどのパラメータで使用するJinja2テンプレートファイルとテンプレート埋込変数のメンテナンス(閲覧/登録/更新/廃止)を行います。テンプレート管理でテンプレート素材を登録しておくことで、Playbook内で定義しているtemplateモジュールなどで使用するtemplateファイルをテンプレート埋込変数で指定することができます。
- + 登録 ボタンより、テンプレート管理情報の登録を行います。
- 登録画面の項目は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
テンプレート埋込変数名
templateモジュールやios_configモジュールなどのパラメータに埋め込む変数名を入力します。変数名は、「TPF_****」形式で入力します。****:半角英数字とアンダースコア( _ )が利用可能です。(最小値:1バイト、最大値:255バイト)○
手動入力
説明欄記載のとおり
テンプレート素材
モジュールのパラメータで使用するJinja2テンプレートファイルをアップロードします。
○
ファイル登録
テキスト形式最大サイズ100Mバイト変数定義
テンプレート素材で使用している変数を定義します。具体値は定義のみで使用することはありません。Ansible-LegacyRoleのみで使用するテンプレートで、default変数定義ファイルなどに変数定義をしている場合、変数定義は省略できます。同名の変数を複数のテンプレートで使用する場合、変数定義を合わせる必要があります。変数定義が一致していない場合は登録でエラーとなります。変数定義はAnsibleの仕様に準拠していますが、ITA独自仕様があります。変数名の命名規則は「 変数の種類 」と同様です。ー
手動入力
最大長4000バイト
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
警告
Tip
種類 |
留意事項 |
---|---|
通常変数 |
具体値は省略可能です。 e.g.) VAR_sample_1: none
VAR_sample_2:
|
複数具体値変数 |
具体値は省略可能です。 e.g.) VAR_sample_1:
- none
VAR_sample_2: []
|
多段変数 |
階層化された変数構造が定義出来ます。 e.g.) VAR_sample_1:
- item1: none
item2:
VAR_sample_2:
- array:
- item1: none
item2:
同名の変数をdefault変数定義ファイルなどに定義している場合は、変数定義を合わせる必要があります。変数定義が一致していない場合は登録でエラーとなります。 |
グローバル変数 |
具体値は省略可能です。 e.g.) GBL_sample_1: none
GBL_sample_2:
|
ITA独自変数 |
変数の定義は不要です。 |
注釈
- テンプレート管理メニューから下記のようにhostsファイルを登録します。
¶ テンプレート埋込変数名
テンプレート素材
TPF_hosts
hosts
- 下記のようにPlaybookを記述します。※destはファイル名も記述してください。ファイル名の指定がない場合、登録したテンプレート素材のファイル名の前にITAの管理番号が付与された名前のファイル名で処理されます。たとえば、dest=/etc/ とした場合、ファイル名は/etc/10桁の数値_hostsとなります。Playbookの記述
- template: src='{{ TPF_hosts }}' dest=/etc/hosts
管理対象外変数リスト¶
- では、ロールパッケージ管理のデフォルト変数定義やテンプレート管理の変数定義で定義している変数で、代入値自動登録の変数一覧に表示したくない変数のメンテナンス(参照/更新/廃止/復活)を行います。
- + 登録 ボタンより、オペレーション情報の登録を行います。
- 管理対象外変数リスト画面の項目一覧は以下のとおりです。
¶ コマンド
注意事項
入力必須
入力方法
制約事項
変数名
ロールパッケージ管理のデフォルト変数定義やテンプレート管理の変数定義で定義している変数で、代入値自動登録の変数一覧に表示したくない変数名を入力します。
〇
手動入力
説明欄記載のとおり
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
Ansible-LegacyRoleコンソール¶
Movement一覧¶
- ではMovement名のメンテナンス(閲覧/登録/更新/廃止)を行います。
- + 登録 ボタンより、Movement情報の登録を行います。
- 登録画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
Movement名
Movementの名称を入力します。
○
手動入力
最大長255バイト
遅延タイマー
Movementが指定期間遅延した場合にステータスを遅延として警告表示したい場合に指定期間(1~)を入力します。(単位:分)
未入力の場合は警告表示しません。
ー
手動入力
ー
Ansible利用情報
ホスト指定形式
特別にIPアドレスで表現しないホストを指定したい場合に「ホスト名」を選択します。
通常はIPが推奨です。
○
リスト選択
ー
WinRM接続
対象ホストがWindowsServerの場合に、「●」を選択します。
ー
リスト選択
ー
ヘッダーセクション
ITAが自動生成する親Playbookの先頭からtasksまたはrolesセクションまでのセクションを編集します。
未入力の場合は、以下を適用します。
# Ansible - hosts: all remote_user: "{{ __loginuser__ }}" gather_facts: no become: yes # Ansible Automation Controller - hosts: all gather_facts: no become: yes
※winrm接続の場合は become: yesは適用しません。
ー
手動入力
最大長4000バイト
オプションパラメータ
Movement固有のオプションパラメータを入力します。
実行エンジンがAnsible Coreの場合はansible-playbookコマンドのオプションパラメータ、実行エンジ ンがAnsible Core以外の場合はジョブテンプレートのパラメータを入力します。
オプションパラメータの詳細については、「 オプションパラメータ一覧 」を参照してください。
ー
手動入力
最大長4000バイト
ansible.cfg
作業実行時に使用するansible.cfgをアップロードします。
未アップロードの場合は、デフォルトが使用されます。
また、ロールパッケージ管理でアップロードされているzipファイルにansible.cfgが含まれている場合は、この項目でアップロードしたansible.cfgで上書きされます。
ー
ファイル選択
最大サイズ100Mバイト
Ansible Automation Controller利用情報
実行環境
Ansible Automation Controllerサーバに構築されている実行環境が表示されています。
実行する実行環境を選択します。
未選択の場合は、デフォルト「Default execution environment」が使用されます。
ー
リスト選択
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
警告
WinRM接続で「●」を選択した場合は接続するホストをすべてWindowsServerとみなします。
ロールパッケージ管理¶
- ユーザーが作成したロールパッケージファイルのメンテナンス(閲覧/登録/更新/廃止)を行います。ロールパッケージファイルは、「roles」のある階層のディレクトリをzipにて圧縮したものを登録してください。ロールパッケージディレクトリ構成などは「 ロールパッケージ(Ansible-Legacy Role)の記述 」を参照してください。
- + 登録 ボタンより、ロールパッケージ情報の登録を行います。
- 登録画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
ロールパッケージ名
ITAで管理するロールパッケージ名を入力します。
○
手動入力
最大長255バイト
ロールパッケージファイル
作成したロールパッケージファイル(zip形式)をアップロードします。
アップロードするロールパッケージファイルに含まれるPlaybookファイルは文字コードがUTF-8でBOMなしで作成してください。
UTF-8でBOMなし以外のPlaybookファイルが含まれていると登録時にエラーとなります。
詳しくは、「 ロールパッケージ(Ansible-Legacy Role)の記述 」を参照してください。
○
ファイル選択
最大サイズ100Mバイト
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
Movement-ロール紐付¶
- Movementで実行するロールパッケージのメンテナンス(閲覧/登録/更新/廃止)を行います。
- + 登録 ボタンより、Movement-ロール紐付の登録を行います。
- 登録画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
Movement
Movement一覧で登録したMovementが表示されます。
○
リスト選択
ー
ロールパッケージ名
ロールパッケージ管理で登録したロールパッケージが表示されます。実行するロールパッケージを選択します。
同一Movementに複数のロールパッケージは登録出来ません。
○
リスト選択
ー
ロール名
ロールパッケージ名で選択したロールパッケージに含まれているロール名が表示されます。実行するロールパッケージ内のロールを選択します。
○
ー
インクルード順序
ロールの実行順序(1~:一意値)を入力します。
入力されたインクルード順序(昇順)でロールが実行されます。
○
手動入力
半角整数
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
変数ネスト管理¶
- ロールパッケージ管理 」で登録したロールパッケージで定義されている多段変数内で繰返配列定義されているメンバー変数の配列の最大繰返数のメンテナンス(閲覧/更新)を行います。では、「
- 編集 ボタンより最大繰返数の更新を行います。
- 登録画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
最大繰返数
配列の最大繰返数を1~99,999,999の範囲で入力します。
○
手動入力
入力値1~99,999,999
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
警告
代入値自動登録設定¶
- メニュー作成機能で作成したパラメータシートの項目の設定値とMovementの変数を紐付けます。登録した情報は内部の処理により代入値管理と作業対象ホストに反映されます。
- + 登録 ボタンより代入値自動登録設定を行います。
- 登録画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
パラメータシート(From)
メニューグループ:メニュー:項目
メニュー作成機能で作成したパラメータシートの項目が表示されます。
対象の項目を選択します。
○
リスト選択
ー
代入順序
メニュー作成機能で作成したパラメータシートが縦型メニューの場合、パラメータシートで登録している代入順序を入力します。
手動入力
1~2147483647
登録方式
Value型:項目の設定値を紐付けた変数の具体値とする場合に選択します。
Key型:項目の名称を紐付けた変数の具体値とする場合に選択します。
項目の設定値が空白の場合は紐付け対象外となります。
○
リスト選択
ー
Movement名
Movement一覧で登録したMovementが表示されます。
Movementを選択します。
○
リスト選択
ー
IaC変数(To)
Movement名:変数名
Movement-ロール紐付で登録した資材で使用している変数が表示されます。
具体値に紐付けたい変数を選択します。
○
リスト選択
ー
Movement名:変数名:メンバー変数
変数名で多段変数を選択した場合に多段変数のメンバー変数が表示されます。
メンバー変数を選択します。
リスト選択
代入順序
複数具体値が設定できる変数の場合のみ必須入力になります。
具体値の代入順序(1~)を入力します。入力値に従い昇順で代入されます。具体値が複数ない場合でも代入順序(1~)を入力します。
手動入力
1~2147483647
NULL連携
パラメータシートの具体値がNULL(空白)の場合に、代入値管理への登録をNULL(空白)の値で行うか設定します。
・「True」の場合、パラメータシートの値がどのような値でも代入値管理への登録が行われます。
・「False」の場合、パラメータシートに値が入っている場合のみ代入値管理への登録が行われます。
・空白の場合、Ansibleインターフェース情報の「NULL連携」の値が適用されます。
※4
リスト選択
ー
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
※1:パラメータシート(縦メニュー)を使用する場合のみ必須※2:選択した変数が多段変数の場合のみ必須※3:選択した変数が複数具体値設定可能な変数の場合のみ必須※4:任意
注釈
注釈
- 下記のようにロールパッケージの変数定義ファイル(defaults/main.yml)に変数を定義して、でロールパッケージを登録します。変数定義ファイルの記述内容
VAR_aaaa: - name: alice object: obj1 directory: - craete_dir: /dir password: - craete_pass: sample: - sample_pass: pass1 - craete_pass: sample: - sample_pass: pass2 user: root: - craete_users: prod: - prod_user: user1 dev: - dev_user: user2
- 1. のように変数を定義してロールパッケージを登録した場合、には下記のように登録され、 ではデフォルトで下記のメンバー変数が選択できます。
¶ 変数名
メンバー変数名
最大繰返数
VAR_aaaa
0
1
VAR_aaaa
0.directory
1
VAR_aaaa
0.password
1
VAR_aaaa
0.password.sample
1
VAR_aaaa
0.user.root
1
VAR_aaaa
0.user.root.dev
1
VAR_aaaa
0.user.root.prod
1
¶ 変数名
メンバー変数名
VAR_aaaa
[0].directory[0].create_dir
VAR_aaaa
[0].name
VAR_aaaa
[0].object
VAR_aaaa
[0].password[0].create_pass
VAR_aaaa
[0].password[0].sample[0].sample_pass
VAR_aaaa
[0].user.root[0].create_users
VAR_aaaa
[0].user.root[0].dev[0].dev_user
VAR_aaaa
[0].user.root[0].prod[0].prod_user
- でメンバー変数「0.user.root.prod」の最大繰返数を初期値"1"から"3"に更新します。
¶ 変数名
メンバー変数名
最大繰返数
VAR_aaaa
0.user.root.prod
3
- 3. のようにメンバー変数を更新した場合、で選択できるメンバー変数も下記のように更新されます。(メンバー変数 [0].user.root[0].prod[1].prod_user と [0].user.root[0].prod[2].prod_user がプルダウンに追加されました。)
¶ 変数名
メンバー変数名
VAR_aaaa
[0].directory[0].create_dir
VAR_aaaa
[0].name
VAR_aaaa
[0].object
VAR_aaaa
[0].password[0].create_pass
VAR_aaaa
[0].password[0].sample[0].sample_pass
VAR_aaaa
[0].user.root[0].create_users
VAR_aaaa
[0].user.root[0].dev[0].dev_user
VAR_aaaa
[0].user.root[0].prod[0].prod_user
VAR_aaaa
[0].user.root[0].prod[1].prod_user
VAR_aaaa
[0].user.root[0].prod[2].prod_user
注釈
- 下記のようにロールパッケージの変数定義ファイル(defaults/main.yml)に変数を定義して、でロールパッケージを登録します。変数定義ファイルの記述内容
VAR_substitutionA: - user-name - group-name - meta-name VAR_substitutionB: - login - authorized - space - cluster
- で紐付対象メニューに登録されている項目の設定値とRole内の変数を紐付けします。
¶ ホスト名
オペレーション名
パラメータ
項目1
項目2
項目3
項目4
test-host
test-ope
value1
value2
value3
value4
¶ メニュー名
項目
変数名
代入順序
sample-menu
項目1
VAR_substitutionA
3
sample-menu
項目2
VAR_substitutionA
1
sample-menu
項目3
VAR_substitutionA
2
sample-menu
項目1
VAR_substitutionB
2
sample-menu
項目2
VAR_substitutionB
4
sample-menu
項目3
VAR_substitutionB
1
sample-menu
項目4
VAR_substitutionB
3
- 作業実行時、投入データ(InputData_xxxx.zip)内のホスト変数ファイル(host_vars/test-host)には、代入値自動登録設定で登録した変数が下記のように出力されます。ホスト変数ファイルへの出力内容
VAR_substitutionA: - value2 - value3 - value1 VAR_substitutionB: - value3 - value1 - value4 - value2
注釈
- 下記のようにロールパッケージの変数定義ファイル(defaults/main.yml)に変数を定義して、でロールパッケージを登録します。変数定義ファイルの記述内容
VAR_output: - name: alice group: root user: root: - craete_users: prod: - prod_user: user1 dev: - dev_user: user2
- で紐付対象メニューに登録されている項目の設定値とRole内の変数を紐付けします。
¶ ホスト名
オペレーション名
パラメータ
項目1
項目2
test-host
test-ope
value1
value2
¶ メニュー名
項目
変数名
メンバー変数名
sample-menu
項目1
VAR_output
[0].name
sample-menu
項目2
VAR_output
[0].user.root[0].dev[0].dev_user
- 作業実行時、投入データ(InputData_xxxx.zip)内のホスト変数ファイル(host_vars/test-host)には、代入値自動登録設定で登録した変数が下記のように出力されます。ホスト変数ファイルへの出力内容
VAR_output: - name: value1 user: root: - dev: - dev_user: value2
注釈
- で下記のように登録します。
¶ ファイル埋込変数名
ファイル素材
CPF_test
test_file.txt
¶ テンプレート埋込変数名
テンプレート素材
TPF_sample
sample.tpl
- で「Ansible共通:ファイル管理:ファイル埋込変数名」「Ansible共通:テンプレート管理:テンプレート埋込変数名」をパラメータシートの項目としてメニュー作成後、 で項目の設定値としてファイル埋込変数とテンプレート埋込変数を登録します。
¶ ホスト名
オペレーション名
パラメータ
ファイル管理
テンプレート管理
test-host
test-ope
CPF_test
TPF_sample
- で2. のパラメータシートに登録した項目の設定値とPlaybookの変数を紐付して で作業実行します。
¶ メニュー名
項目
変数名
サンプルパラメータシート
ファイル管理
VAR_filetest
サンプルパラメータシート
テンプレート管理
VAR_temptest
- 代入値確認 ボタンで具体値に '{{ CPF_test }}' '{{ TPF_sample }}' が反映されていることが確認できます。のまた、作業実行後、作業対象サーバに1. で登録したファイル素材とテンプレート素材が設置されます。
作業実行¶
- ドライラン「ドライラン」ボタンをクリックすると、実際に対象機器に対して構築作業をせず、ドライランを行うことができます。ドライランを行った場合の動作は、Ansible-Playbookコマンドの--checkパラメータを指定してroleを実行します。
- 予約日時の指定「予約日時」を入力することで、実行を予約することがきます。「予約日時」には、未来の日時のみ登録可能です。
作業状態確認¶
- 実行状態表示実行状況に即し、「ステータス」が表示されます。また、実行ログ、エラーログに実行状況の詳細が表示されます。「実行種別」には、ドライランの場合は「ドライラン」、それ以外は「通常」が表示されます。ステータスが想定外エラーで終了した場合、Webコンテンツの登録不備が原因であれば、エラーログにメッセージが表示されます。また、「 インターフェース情報 」の登録不備等で、Ansible RestAPIとの通信に失敗した場合にはエラーログにメッセージが表示されません。この場合は、アプリケーションログにエラー情報が記録されます。必要に応じてアプリケーションログを確認ください。Conductorから実行した場合に、「呼出元Conductor」には、どのConductorから実行されたかを表示します。Ansible-LegacyRoleドライバから直接実行した場合は空欄になります。「実行ユーザ」には、作業実行メニューより「実行」ボタンまたは「ドライラン」ボタンを押下した際のログインユーザが表示されます。
- 作業対象ホスト確認作業対象ホスト確認 ボタンで「 作業対象ホスト 」が表示され、作業対象のオペレーションとMovementに絞り込んだホストが表示されます。
- 代入値確認代入値確認 ボタンで「 代入値管理 」が表示され、作業対象のオペレーションとMovementに絞り込んだ代入値が表示されます。
- 緊急停止/予約取り消し緊急停止 ボタンで構築作業を停止させることができます。また、実行前の「予約実行」の作業の場合は、 予約取消 ボタンが表示されます。 予約取消 ボタンで予約実行が取り消せます。
- 実行ログ表示Ansible Automation Controllerで実行した場合、構築対象機器の機器一覧のユーザー・パスワード・インスタンスグルーブなのどの項目値でグループ化された構築対象機器の単位でPlaybookが実行され、ansibleの実行ログが分割されます。さらに、Movement一覧のオプションパラメータでジョブスライス数を指定することによりグループ化された構築対象機器をさらにジョブスライス数で分割しplaybookが実行され、ansibleの実行ログも分割されます。実行ログが分割された場合、表示ログファイルのプルダウンが表示され、表示したいログファイルを選択する事ができます。表示ログファイルのプルダウンに表示されるログファイル名は以下の2種類があります。exec.log: 全ての実行ログをまとめたログファイルです。exec.log以外: 分割された実行ログファイルです。ファイル命名規則は以下になります。Ita_<mode名>_executions_jobtpl_<作業番号>_<グループ番号>_<通番>
¶ 要素
内容
mode名
実行したモード名 legacy_role
作業番号
作業管理メニューの作業実行No
グループ番号
構築対象機器の機器一覧のユーザー・パスワード・インスタンスグルーブなのどの項目値でグルーブ化した1からの通番です。
通番
ジョブスライス数の設定によりグループ内を分割した1からの通番です。
0の場合はジョブスライス数による分割がなかったことのを表します。
- ログ検索実行ログ、エラーログは、フィルタリングができます。各ログのフィルタのテキストボックスに検索したい文字列を入力し、「該当行のみ表示」のチェックボックスをチェックすることで該当する行だけが表示されます。実行ログ、エラーログのリフレッシュ表示間隔と最大表示行数を、「 インターフェース情報 」の「状態監視周期(単位ミリ秒)」と「進行状態表示行数」で設定できます。
- 結果データ実行ログ、エラーログなどをダウンロードすることができます。
作業管理¶
作業対象ホスト¶
- では、オペレーションに紐付くMovementおよびホストを閲覧できます。
- 閲覧画面の項目一覧は以下のとおりです。
¶ 項目
説明
作業No
作業実行時に自動採番した36桁の文字列が表示されます。
オペレーション
オペレーション一覧に登録されているオペレーションが表示されます。
Movement名
Movement一覧に登録されているMovementが表示されます。
ホスト名
機器一覧に登録されているホスト名が表示されます。
備考
自由記述欄です。
代入値管理¶
- オペレーションに紐付くMovementで利用されるRole内の変数に代入する具体値を閲覧できます。
- 閲覧画面の項目一覧は以下のとおりです。
¶ 項目
説明
作業No
作業実行時に自動採番した36桁の文字列が表示されます。
オペレーション
作業対象ホストに登録されているオペレーションが表示されます。
Movement名
作業対象ホストに登録されているデータの中から、選択されたオペレーションに紐づくMovementが表示されます。
ホスト名
作業対象ホストに登録されているデータで選択されたオペレーションとMovementに紐づくホストが表示されます。
Movement名:変数名
Movement-ロール紐付に登録されている資材の中から、選択されたMovementにアタッチしている変数名が表示されます。
Movement名:変数名:メンバー変数
変数名で多段変数を選択した場合に多段変数のメンバー変数が表示されます。
具体値
文字列
Sensitive設定
「OFF」または「ON」が表示されます。
Ansibleに渡すホスト変数ファイルには、ansible-vaultで暗号化された内容が設定されます。
値
オペレーション/Movement/ホストで使用する変数の具体値が表示されます。
代入値自動登録設定でファイル埋込変数とテンプレート埋込変数をPlaybookの変数に紐付した場合、具体値には '{{ CPF_xxxx }}' '{{ TPF_xxxx }}'が表示されます。
ファイル
オペレーション/Movement/ホストで使用する変数にファイルを埋込む場合に、埋込むファイルがアップロードされます。
代入順序
複数具体値が設定できる変数の場合のみ表示されます。
備考
自由記述欄です。
構築コード記述方法¶
ロールパッケージ(Ansible-Legacy Role)の記述¶
(上位ディレクトリ)
│
├─── site.yml ・・・・・・・・・・・・・・・・・・・・・・・・ (1)
│
├─── hosts ・・・・・・・・・・・・・・・・・・・・・・・・ (2)
│
├─── group_vars ・・・・・・・・・・・・・・・・・・・・・・・・ (3)
│
├─── host_vars ・・・・・・・・・・・・・・・・・・・・・・・・ (4)
│
├─── ITA readme ・・・・・・・・・・・・・・・・・・・・・・・・ (5)
│
└─── roles ・・・・・・・・・・・・・・・・・・・・・・・・ (6)
│
├─ [role名①] ・・・・・・・・・・・・・・・・・・・・・・・・ (7)
│ │
│ ├── readme.md ・・・・・・・・・・・・・・・・・・・・・・・・ (8)
│ │
│ ├── tasks ・・・・・・・・・・・・・・・・・・・・・・・・ (9)
│ │ ├── main.yml
│ │ └── user_files
│ │ └── user.yml
│ │
│ ├── handlers ・・・・・・・・・・・・・・・・・・・・・・・・ (10)
│ │ ├── main.yml
│ │ └── user_files
│ │ └── user.yml
│ │
│ ├── templates ・・・・・・・・・・・・・・・・・・・・・・・・ (11)
│ │ ├── hosts.j2
│ │ └── user_files
│ │ └── user.j2
│ │
│ ├── files ・・・・・・・・・・・・・・・・・・・・・・・・ (12)
│ │ └── sudoers
│ │
│ ├── vars ・・・・・・・・・・・・・・・・・・・・・・・・ (13)
│ │ └─ main.yml
│ │
│ ├── defaults ・・・・・・・・・・・・・・・・・・・・・・・・ (14)
│ │ ├── main.yml
│ │ └── user_files
│ │ └── user.yml
│ │
│ ├── meta ・・・・・・・・・・・・・・・・・・・・・・・・ (15)
│ │ └── main.yml
│ │
│ 上記以外のディレクトリやファイルが存在する場合、 ITAは関知しません。
│
└─ [role名②] ロールの数に特に制限はありません。
含めるべきファイル
〇 :必要
△ :任意
|
ITAでの取り扱い |
|
---|---|---|
(1) site.yml (マスターPlaybook) |
△ |
ITAで作成されるため、存在する場合は上書きされます。 |
(2) hosts |
△ |
ITAで作成されるため、存在する場合は上書きされます。 |
(3) group_vars |
△ |
ITAで作成されるため、存在する場合は上書きされます。 |
(4) host_vars |
△ |
ITAで作成されるため、存在する場合は上書きされます。 |
(5) ITA readme |
△ |
ITA readmeはロール毎に定義します。無くてもエラーにはなりません。
ITA readmeは、文字コードがUTF-8のBOMなしで作成してください。
詳細については「 ITAreadme(Ansible-Legacy Role)の記述 」をご確認ください。
|
(6) roles |
〇 |
rolesディレクトリが存在しない場合はアップロードでエラーになります。 |
(7) roles/[role 名①] |
〇 |
role名ディレクトリが存在しない場合はアップロードでエラーになります。
tasksディレクトリを含むディレクトリをroleとして扱います。
ディレクトリ階層が深くても問題ありません。
|
(8) roles/[role 名①]/readme.md |
△ |
ITA は関知しません。 |
(9) roles/[role 名①]/tasks |
〇 |
tasksディレクトリは必須です。
playbookファイルは、文字コードがUTF-8のBOMなで作成してください。
main.ymlがない場合はアップロードでエラーになります。
main.yml以外のファイルも配置できます。
サブディレクトリにmain.yml以外のファイルを配置できます。
|
(10) roles/[role 名①]/handlers |
△ |
handlersディレクトリの有無は関知しません。
playbookファイルは、文字コードがUTF-8のBOMなしで作成してください。
main.ymlの有無は関知しません。
main.yml以外のファイルも配置できます。
サブディレクトリにファイルを配置できます。
|
(11) roles/[role 名①]/templates |
△ |
templatesディレクトリの有無は関知しません。
サブディレクトリにファイルを配置できます。
|
(12) roles/[role 名①]/files |
△ |
filesディレクトリの有無は関知しません。
ファイル及びサブディレクトリの有無は関知しません。
ファイル内容は関知しません。
|
(13) roles/[role 名①]/vars |
△ |
varsディレクトリの有無は関知しません。
playbookファイルは、文字コードがUTF-8のBOMなしで作成してください。
ファイル及びサブディレクトリの有無は関知しません。
ファイル内容は関知しません。
|
(14) roles/[role 名①]/defaults |
△ |
defaultsディレクトリの有無は関知しません。
playbookファイルは、文字コードがUTF-8のBOMなしで作成してください。
main.ymlの有無は関知しません。
main.yml以外のファイルも配置できます。
サブディレクトリにmain.yml以外のファイルを配置できます。
|
(15) roles/[role 名①]/meta |
△ |
metaディレクトリの有無は関知しません。
playbookファイルは、文字コードがUTF-8のBOMなしで作成してください。
ファイル及びサブディレクトリの有無は関知しません。
ファイル内容は関知しません。
|
マスターPlaybook¶
① へッダーセクション¶
- Ansible Coreの場合
# ヘッダーセクションのデフォルト値
- hosts: all
remote_user: "{{ __loginuser__ }}"
gather_facts: no
become: no
- Ansible Automation Controllerの場合
# ヘッダーセクションのデフォルト値
- hosts: all
gather_facts: no
become: yes
② rolesセクション¶
Ansible Role Directory Structureにおける所定ディクレトリのサブディレクトリについて注意事項¶
ロールパッケージ内のロール名をディレクトリ階層にした場合の留意点¶
└── roles
├── parent
│ ├── sample_role1
│ │ ├── defaults
│ │ └── tasks
│ └── sample_role2
│ ├── defaults
│ ├── sample_role3
│ │ ├── defaults
│ │ └── tasks
│ ├── sample_role4
│ │ ├── defaults
│ │ └── tasks
│ └── tasks
├── sample_role5
│ └── defaults
└── sample_role6
├── defaults
└── tasks
- ロールとして認識するディレクトリは、tasksディレクトリがあるディレクトリになります。この例だと、ロールして扱うディレクトリ階層(ロール名)は以下の3個になります。
parent/sample_role1
parent/sample_role2
sample_role6
- tasksディレクトリが複数あるディレクトリ階層の除外parent/sample_role2/sample_role3とparent/sample_role2/sample_role4にもtasksディレクトリがありますが、parent/sample_role2にtasksディレクトリがありロールとして認識していますので、ロールとして扱いません。
ITAreadme(Ansible-Legacy Role)の記述¶
ITA readmeのファイル名の命名規則¶
ロール名 |
作成するファイル名 |
---|---|
mysql |
ita_readme_mysql.yml |
mysql/install |
ita_readme_mysql%install.yml |
警告
ITA readmeのフォーマット¶
注釈
defaults変数定義ファイル |
ITA readme |
変数定義の採用先 |
---|---|---|
定義あり |
定義なし |
デフォルト変数定義ファイル |
定義なし |
定義あり |
ITA readme |
定義あり |
定義あり |
ITA readme |
defaults変数定義ファイル |
ITA readme |
変数定義の採用先 |
---|---|---|
あり |
なし |
デフォルト変数定義ファイルを採用。 |
なし |
あり |
デフォルト値なしの扱いとなる。 |
あり |
あり |
デフォルト変数定義ファイルを採用。 ただし、変数定義が一致している場合のみ。変数定義が一致していない場合はデフォルト値なしの扱いとなる。 |
「ita_readme」の活用例(Ansible-Legacy Role)¶
No. |
観点 |
---|---|
1 |
外部から取得したAnsible-Legacy Roleを編集せず利用する |
2 |
「ita_readme」の役割 |
3 |
「defaults/main.yml」に記載の変数定義およびデフォルト値について |
4 |
「host_varsファイル」と「ITAのCMDB」について |
5 |
「defaults/main.yml」に追記したい場合の救済処置 |
6 |
playbookにおけるlength評価への応用 |
7 |
playbookにおけるdefined評価への応用 |
- 観点1:外部から取得したAnsible-Legacy Roleを編集せず利用する外部(Galaxy等)から取得したAnsible-Legacy Role(「roles」ディレクトリ)は編集を加えずに利用いただくことが可能です。そのため「ita_readme」を「roles」ディレクトリの外に置いて、Ansible-Legacy Role(「roles」ディレクトリ)内で使われている変数にパラメータを与えることが可能となっております。
- 観点2:「ita_readme」の役割について「ita_readme」は変数名および変数の型をITAに伝えるための機能です。言い換えれば、「ita_readme」は変数の具体値(パラメータ)を定義するための機能ではありません(具体値を記載してもITAで認識しません)。具体値を与える方法を以降の観点で説明します。
- 観点3:「defaults/main.yml」に記載の変数定義およびデフォルト値について「roles」配下の「defaults/main.yml」はそのまま変更なくansibleに渡されます。変数定義およびデフォルト値はhost_varsで定義されない限り有効となります。(例:『VAR_A:aaa』)
- 観点4:「host_varsファイル」と「ITAのCMDB」についてhost_varsファイルはITAのCMDB(パラメータシート)から実行ごとに自動作成されます。
- 観点5:「defaults/main.yml」に追記したい場合の救済処置Ansible-Legacy Role(「roles」ディレクトリ)に変更を加えたい場合、救済処置として「ita_readme」に変数名および型を記述することが可能です。既に「defaults/main.yml」に記載がある変数を、改めて「ita_readme」に定義する必要はありません。もし二つのファイルで同じ変数が定義されている場合は、「ita_readme」側が優位になります。※下図のとおり、変数「VAR_H」を「ita_readme」に記述することで変数の追加が可能
- 観点6:playbookにおけるlength評価への応用変数に対し具体値があるか否かによって、length評価における条件分岐に活用することが可能です。例えば、「defaults/main.yml」に『VAR_C:[]』がある状態で、変数「VAR_C」に具体値を与えずに実行した場合length=0となります。反対に、何らかの具体値を与えて実行した場合length>0となります。(例:『VAR_X:sss』)
- 観点7:playbookにおけるdefined評価への応用変数に対し具体値を定義しているか否かによって、defined評価による条件分岐に活用することが可能です。例えば、「defaults/main.yml」で定義のない変数「VAR_G」と「VAR_H」を、「ita_readme」で定義を記述します。「ita_readme」に記述することで、ITAのCMDB(パラメータシート)で取り扱うことが可能となります。変数「VAR_G」に具体値を付与せず実行すると、「defaults/main.yml」および「host_vars」に定義されずに動作するためdefined→falseとなります。反対に、変数「VAR_H」に具体値「kkk」を付与し実行すると、「host_vars」に定義されて動作するためdefined→trueとなります。
BackYardコンテンツ¶
変数自動登録¶
メニュー |
Legacy Role |
---|---|
Playbook素材集 |
× |
ロールパッケージ管理 |
○ |
対話ファイル素材集 |
× |
警告
No. |
ロールパッケージ |
ロール |
defaults/main.yml |
動作 (※) |
パターン |
---|---|---|---|---|---|
1 |
package_A |
role1 |
VAR_SAMPLE:
- { VAR_001: "aaaa" , VAR_002:"bbbb" }
|
〇 |
・変数名が同じ
・配列変数のメンバー変数の定義が同じ
・メンバー変数の記載順序が異なる
|
role2 |
VAR_SAMPLE:
- { VAR_002: "bbbb" , VAR_001:"aaaa" }
|
||||
2 |
package_A |
role1 |
VAR_SAMPLE:
- { VAR_001: "aaaa" , VAR_002:"bbbb" }
|
× |
・変数名が同じ
・配列変数のメンバー変数の定義が異なる
|
role2 |
VAR_SAMPLE:
- { VAR_003: "aaaa" , VAR_004:"bbbb" }
|
||||
3 |
package_A |
role1 |
VAR_SAMPLE:
- { VAR_001: "aaaa" , VAR_002:"bbbb" }
|
× |
・変数名が同じ
・一般の変数と配列変数が混在している
|
role2 |
VAR_SAMPLE: aaaa
|
||||
4 |
package_A |
role1 |
VAR_SAMPLE:
- { VAR_001: "aaaa" , VAR_002:"bbbb" }
|
〇 |
・変数名が同じ
・配列変数のメンバー変数の定義が同じ
・メンバー変数の記載順序が異なる
|
package_B |
role1 |
VAR_SAMPLE:
- { VAR_002: "bbbb" , VAR_001:"aaaa" }
|
|||
5 |
package_A |
role1 |
VAR_SAMPLE:
- { VAR_001: "aaaa" , VAR_002:"bbbb" }
|
〇 |
・変数名が同じ
・配列変数のメンバー変数の定義が異なる
|
package_B |
role1 |
VAR_SAMPLE:
- { VAR_003: "aaaa" , VAR_004:"bbbb" }
|
|||
6 |
package_A |
role1 |
VAR_SAMPLE:
- { VAR_001: "aaaa" , VAR_002:"bbbb" }
|
〇 |
・変数名が同じ
・一般の変数と配列変数が混在している
|
package_B |
role1 |
VAR_SAMPLE: aaaa
|
付録¶
Ansible実行時に使用される投入データとITAメニューの紐づけ¶
Ansible-LegacyRole投入データ¶
メニューグループ |
メニュー |
項目 |
ディレクトリ解凍時のパス |
---|---|---|---|
Ansible-LegacyRole |
Playbook素材集 |
プレイブック素材 |
/child_playbooks |
Ansible 共通 |
テンプレート管理 |
テンプレート素材 |
/template_files |
Ansible 共通 |
ファイル管理 |
ファイル素材 |
/copy_files |
Ansible-LegacyRole |
代入値管理 |
ファイル素材 |
/upload_files |
Ansible 共通 |
グローバル変数管理 |
変数名/具体値 |
/host_vars |
Ansible-LegacyRole |
代入値管理 |
変数名/具体値(文字列) |
/host_vars |
Ansible-LegacyRole |
代入値管理 |
変数名/具体値(ファイル) |
/host_vars |
Ansible-LegacyRole |
template 管理 |
テンプレート素材 |
/host_vars |
Ansible-LegacyRole |
ファイル管理 |
ファイル変数名 |
/host_vars |
Ansible共通 |
機器一覧 |
プロトコル |
/host_vars |
Ansible共通 |
機器一覧 |
ログインユーザ ID |
/host_vars |
Ansible共通 |
機器一覧 |
ログインパスワード ※ansible-vault で暗号化 |
/host_vars |
Ansible共通 |
機器一覧 |
ホスト名 |
/host_vars |
Ansible共通 |
機器一覧 |
ssh 認証鍵ファイル |
/ssh_key_files |
Ansible共通 |
機器一覧 |
サーバ証明書 |
/winrm_ca_files |
Ansible 共通 |
インターフェース情報 |
オプションパラメータ |
/AnsibleExecOption.txt |
Ansible-LegacyRole |
Movement 一覧 |
オプションパラメータ |
/AnsibleExecOption.txt |
Ansible共通 |
機器一覧 |
ログインユーザ ID |
/hosts |
Ansible共通 |
機器一覧 |
ログインパスワード ※ansible-vault で暗号化 |
/hosts |
Ansible共通 |
機器一覧 |
ホスト名 |
/hosts |
Ansible共通 |
機器一覧 |
IP アドレス |
/hosts |
Ansible共通 |
機器一覧 |
インベントリファイル追加オプション |
/hosts |
Ansible共通 |
機器一覧 |
WinRM 接続情報 |
/hosts |
Ansible共通 |
機器一覧 |
接続オプション ※ansible_ssh_extra_args の値 |
/hosts |
Ansible-LegacyRole |
Playbook 素材集 |
プレイブック素材 |
/playbook.yml |
Ansible-LegacyRole |
Movement-Playbook紐付 (Movement-対話種別紐付、Movement-ロール紐付) |
インクルード順序 |
/playbook.yml |
Ansible実行時に作成される結果データ¶
Legacy-Role 結果データに保存されるファイル一覧¶
ファイル名 |
記録内容 |
AnsibleCoreの場合 |
AnsibleAutomationControllerの場合 |
---|---|---|---|
result.txt |
Ansibleの実行結果を記録 |
〇 |
|
xxx.pid |
Ansible-playbbokコマンドのプロセスIDを記録するファイル。 xxx:Ansible-playbbokコマンドのプロセスID |
〇 |
|
error.log |
作業実行時にITAがなにかしらのエラーによりエラーメッセージを出力した場合、または、Ansible-playbbokコマンドがなにかとらのエラーによりエラーメッセージを出力した場合のエラー出力先ファイル。 作業実行確認のエラーログに表示に表示される内容。 |
〇 |
〇 |
exec.log |
Ansible-playbbokが出力した実行ログを一部加工したログファイル。作業実行確認の実行ログに表示される内容。 |
〇 |
〇 |
exec.log.org |
Ansible-playbbokが出力した実行ログ |
〇 |
〇 |
Ita_<mode名>_ executions_jobtpl_<作業番号>_<グループ番号> |
分割された実行ログファイルです。 ファイル名の命名規則は 作業状態確認 の⑥実行ログ表示を参照してください。 |
〇 |
|
forced.txt |
緊急停止をした場合の記録ファイル |
〇 |
|
user_files |
実行したplaybookでITA独自変数「__workflowdir__」になにかしらのファイル出力をした場合のファイルが記録されるディレクトリ。 |
〇 |
〇 |
オプションパラメータ一覧¶
- Ansible共通=>インターフェース情報=>オプションパラメータ
- Movement一覧=>オプションパラメータ
ansible-playbook -h
オプションパラメータ |
指定方法 |
AnsibleAutomationControllerの設定箇所 |
備考 |
---|---|---|---|
-v --verbose |
-v -vv -vvv -vvvv -vvvvv --verbose |
テンプレート 画面の[詳細 ]に指定した vの数を設定 |
・vの合計値を適用 ・--verboseは、-vと同様 例:--verbose -vvv の場合、-vvvvと同様 ・vを6以上指定した場合 、vは5の指定となる |
-f --forks |
-f FORKS --forks=FORKS |
テンプレートの[フォーク]に指定したFORKSが設定される |
・FORKSには数値を指定 ・複数定義した場合、最後に定義したパラメータが有効 例:-f 1-forks=10の場合、--forks=10が有効となる ・数値以外が指定された場合、エラーとなる |
-l --limit |
-l SUBSET --limit=SUBSET |
テンプレートの[制限]に指定したSUBMITが設定される |
・SUBSET:機器一覧にあるホスト名 ・複数定義した場合、最後に定義したパラメータが有効 |
-e --extra-vars |
-e EXTRA_VARS --extra-vars=EXTRA_VARS |
テンプレートの[追加変数]に変数名:具体値の形式で設定される |
・EXTRA_VARS:変数名、具体値をjson形式またはyaml形式 例:json形式の場合 -extra-vars={"VAR_1":"directory","VAR_2":"0755"} yaml形式の場合 -extra-vars=VAR_1:directory\nVAR_2:0755 ・複数定義した場合、最後に定義したパラメータが有効 |
-t --tags |
-t TAGS --tags=TAGS |
テンプレートの[ジョブタグ]に設定したTAGSが設定される |
・TAGS:タグ名 ・複数個のパラメータを許容 |
-b --become |
-b --become |
テンプレートのオプション[権限昇格の有効化]がチェックされる |
・少なくとも1つ指定すればパラメータが有効 |
-D --diff |
-D --diff |
テンプレートの[変更]の表示が有効化される |
・少なくとも1つ指定すればパラメータが有効 |
--skip-tags |
--skip-tags=SKIP_TAGS |
テンプレートの[スキップタグ]に設定したSKIP_TAGSが設定される |
・SKIP_TAGS:スキップタグ名 ・複数個のパラメータを許容 |
--st art-at-task |
--start-at-task=START_AT_TASK |
※Ansible Automation ControllerのWebUI には--start-at-taskの表示はない。 |
・複数定義した場合、最後に定義したパラメータが有効 |
-ufc --use _fact_cache |
-ufc --use_fact_cache |
テンプレートのオプション[ファクトキャッシュの有効化]がチェックされる |
・少なくとも1つ指定すればパラメータが有効 |
-as --allow_simultaneous |
-as --allow_simultaneous |
テンプレートのオプション[同時実行ジョブの有効化]がチェックされる |
・少なくとも1つ指定すればパラメータが有効 |
-jsc --jobslice_count |
-jscジョブスライス数 --job_slice_count=ジョブスライス数 |
テンプレートの[ジョブスライス数]に指定したジョブスライス数が設定される |
・ジョブスライス数には数値を指定 ・複数定義した場合、最後に定義したパラメータが有効 |
Ansible Automation ControllerでITA独自変数を利用する場合の留意事項¶
ITA独自変数を利用して作成したファイルの取り扱い¶
- Movementをconductorから実行している場合、Movement実行前に該当conductorインスタンス配下のファイルをAnsible Automation Controller(各実行ノード)のITA作業用ディレクトリ配下にファイル転送
- Movement実行前に該当Movement配下のファイルをAnsible Automation Controller(各実行ノード)のITA作業用ディレクトリにファイル転送
- Movementをconductorから実行している場合、Movement実行後にAnsible Automation Controller(各実行ノード)のITA作業用ディレクトリの該当Movementで作成したファイルを結果データにファイル転送
- Movement実行後にAnsible Automation Controller(各実行ノード)のITA作業用ディレクトリの該当conductorインスタンス配下に作成したファイルを結果データにファイル転送
留意事項¶
- ファイル名はansible「__loginhostname__」を含めるなどして、Movementに紐づいているターゲットホスト毎に同一ファイル名に出力しないように工夫してください。
- conductorから実行する場合、複数のMovementで同一ファイル名への出力しないよう工夫してください。
実行時データ削除で削除されるデータリソース¶
データリソース |
リソースタイプ |
実行エンジン |
備考 |
---|---|---|---|
Ansible Automation Controller |
|||
ITA作業用ディレクトリ /var/lib/exastro/ita_<区分>_executions_10桁の作業番号 |
ディレクトリ |
〇 |
|
SCM管理ディレクトリ /var/lib/awx/projects/ita_<区分>_executions_作業番号 |
ディレクトリ |
※ |
※プロジェクトリソースの削除により削除される |
インベントリ リソース名: ita_<区分>_executions_inventory_作業番号_通番 |
リソース |
〇 |
|
認証情報 リソース名: ita_<区分>_executions_credential_作業番号_通番 ita_<区分>_executions_vault_credential_作業番号 ita_<区分>_executions_git_credential_作業番号 |
リソース |
〇 |
|
プロジェクト リソース名: ita_<区分>_executions_project_作業番号 |
リソース |
〇 |
|
ジョブテンプレート リソース名: ita_<区分>_executions_jobtpl_作業番号_通番 |
リソース |
〇 |
|
ワークフロージョブテンプレート リソース名: ita_<区分>_executions_workflowtpl_作業番号 |
リソース |
〇 |
|
ジョブ リソース名: Job番号—ita_<区分>_executions_workflowtpl_作業番号 Job番号—ita_<区分>_executions_jobtpl_作業番号 |
リソース |
〇 |
データリソース |
リソースタイプ |
実行エンジン |
備考 |
---|---|---|---|
Ansible Automation Controller |
|||
Git リポジトリ ワークスペース共有パス/driver/ansible/git_repositories/<区分>_作業番号 |
Gitリポジトリ |
〇 |
ディレクトリごと削除 |