4. Ansible-LegacyRole¶
4.1. はじめに¶
4.2. Ansible-LegacyRole概要¶
4.3. Ansible-LegacyRole メニュー構成¶
4.3.1. メニュー/画面一覧¶
- 基本コンソールのメニュー
No |
メニュー画面 |
説明 |
---|---|---|
1 |
オペレーション一覧 |
オペレーション一覧をメンテナンス(閲覧/登録/更新/廃止)できます。 |
- Ansible共通のメニュー
No |
メニュー・画面 |
説明 |
---|---|---|
1 |
機器一覧 |
作業対象の機器情報を管理します。 |
2 |
インターフェース情報 |
Ansible Core、Ansible Automation Controllerサーバのどちらを実行エンジンとし構築作業をするか選択をします。
実行エンジンのサーバへの接続インターフェース情報を管理します。
|
3 |
Ansible Automation Controllerホスト一覧 |
Ansible Automation ControllerのRestAPI実行に必要な情報、および構築資材をAnsible Automation Controllerにファイル転送するために必要な情報を管理します。 |
4 |
グローバル変数管理 |
各モードのPlaybookや対話ファイルで共通利用する変数と具体値を管理します。 |
5 |
ファイル管理 |
各モードのPlaybookや対話ファイルで共通利用する素材ファイルと埋込変数を管理します。 |
6 |
テンプレート管理 |
各モードのPlaybookや対話ファイルで共通利用するテンプレートファイルと埋込変数を管理します。 |
7 |
管理対象外変数リスト |
「 変数抜出対象資材 」で抜出した変数で、 の に表示したくない変数を管理します。 |
8 |
共通変数利用リスト (※1) |
・ ・ に登録されている変数が、どの素材( ・ ・ )で使用しているかを閲覧できます。 |
Tip
- Ansible-LegacyRoleのメニュー
No |
メニュー・画面 |
説明 |
---|---|---|
1 |
Movement一覧 |
Movementの一覧を管理します。 |
2 |
ロールパッケージ管理 |
ロールパッケージを管理します。 |
3 |
Movement-ロール紐付 |
Movementでインクルードするロールパッケージを管理します。 |
4 |
変数ネスト管理 |
多段変数が繰返配列で構成されている場合の最大繰返配列数を管理します。 |
5 |
代入値自動登録設定 |
パラメータシートに登録されているオぺレーションとホスト毎の項目値を紐付けるMovementと変数を管理します。 |
6 |
作業実行 |
作業実行するMovementとオペレーションを選択し実行を指示します。 |
7 |
作業管理 |
作業実行履歴を管理します。 |
8 |
作業状態確認 |
作業実行状態を表示します。 |
9 |
作業対象ホスト |
作業実行毎の作業対象ホストを表示します。 |
10 |
代入値管理 |
作業実行毎の変数の具体値を表示します。 |
11 |
ロール名管理 (※1) |
ロールパッケージ管理にアップロードしたロールパッケージファイル「zip」内に登録されているロール名とロールパッケージの紐付を閲覧できます。 |
12 |
Movement-変数紐付 (※1) |
Movementで使用している変数を管理します。 |
13 |
多段変数メンバー管理 (※1) |
ロールパッケージ管理にアップロードしたロールパッケージファイル「zip」内のデフォルト変数定義ファイルやITA readmeファイルで定義している多段変数の構造を管理します。 |
14 |
多段変数配列組合せ管理 (※1) |
ロールパッケージ管理にアップロードしたロールパッケージファイル「zip」内のデフォルト変数定義ファイルやITA readmeファイルで定義している多段変数配列組合せを管理します。 |
Tip
4.4. Ansible-LegacyRole利用手順¶
4.4.1. Ansible-LegacyRoleの作業フロー¶
作業フロー詳細と参照先
- Ansible Automation Controllerホスト情報を登録(必要に応じて実施)から、Ansible Automation Controllerのホスト情報を登録します。詳細は「 Ansible Automation Controller ホスト一覧 」を参照してください。
- インターフェース情報の登録から、Ansible Core、Ansible Automation Controllerのどちらを実行エンジンにするかを選択し、実行エンジンのサーバへの接続情報を登録します。詳細は「 インターフェース情報 」を参照してください。
4.5. Ansible-LegacyRole メニュー操作方法説明¶
4.5.1. 基本コンソール¶
4.5.2. Ansible共通¶
4.5.3. Ansible-LegacyRole¶
Movement一覧¶
- Movement情報のメンテナンス(閲覧/登録/更新/廃止)を行います。
- 登録 ボタンより、Movement情報の登録を行います。
- 登録画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
MovementID
登録時に自動採番した36桁の文字列が表示されます。
ー
自動入力
ー
Movement名
Movementの名称を入力します。
○
手動入力
最大長255バイト
遅延タイマー
Movementの実行が指定期間遅延した場合に
の を「実行中(遅延)」として警告表示したい場合に指定期間(1~)を入力します。(単位:分)未入力の場合は警告表示しません。
ー
手動入力
0~2,147,483,647
Ansible利用情報
ホスト指定形式
IPアドレスで表現しないホストを指定したい場合に「ホスト名」を選択します。
○
リスト選択
説明欄記載のとおり。
WinRM接続
作業対象がWindowsServerの場合に「True」を選択します。
ー
リスト選択
説明欄記載のとおり。
ヘッダーセクション ※1
ITAが自動生成する親Playbookの先頭からrolesセクションまでのセクションを編集します。
未入力の場合は以下を適用します。
- hosts: all remote_user: "{{ __loginuser__ }}" gather_facts: no become: yes # winrm接続の場合は become: yesは適用しません。
各パラメータ値を変数で記述することも出来ます。
become_user: '{{△vvv△}}' △:半角スペース ':シングル・ダブルコーテーションで必ず囲んで下さい。
パラメータ値を変数で記述する場合の詳細は、「 インベントリファイル追加オプションとヘッダセクションのパラメータ値で変数抜出の対象となる変数の種類と書式 」を参照してください 。
変数の具体値は
から登録します。ー
手動入力
最大長4000バイト
オプションパラメータ
Movement固有のオプションパラメータを入力します。
オプションパラメータについての詳細は「 オプションパラメータ一覧 」を参照してください。
- の が「Ansible Core」の場合ansible-playbookコマンドのオプションパラメータを入力します。
- の が「Ansible Automation Controller」の場合ジョブテンプレートのパラメータを入力します。ジョブテンプレートについての詳細は、Ansible Automation Controller公式マニュアルのユーザガイドを参照してください。
Movement共通のオプションパラメータは
の から入力します。ー
手動入力
最大長4000バイト
ansible.cfg
作業実行時に使用するansible.cfgをアップロードします。
未アップロードの場合は、デフォルトが使用されます。
また、
の にansible.cfgが含まれている場合は、アップロードしたansible.cfgで上書きされます。ー
ファイル選択
最大サイズ100Mバイト
Ansible Automation Controller利用情報
実行環境 ※2
Ansible Automation Controllerに構築されている実行環境が表示されます。
使用する実行環境を選択します。
未選択の場合は、Ansible Automation Controllerに設定されているデフォルトの実行環境が使用されます。
ー
リスト選択
説明欄記載のとおり。
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
Tip
※1 ヘッダーセクションで「become: yes」を設定した場合作業対象に以下の設定が必要です。ログインユーザの sudo権限を NOPASSWD付で/etc/sudoers
に設定します。Demo_user ALL=(ALL) NOPASSWD:ALLTip
※2 「 Ansible Automation Controllerデータ同期 」により取得したデータから選択します。警告
で「True」を選択した場合は接続するホストをすべてWindowsServerとみなします。
ロールパッケージ管理¶
- ユーザが作成したロールパッケージファイル(zip)のメンテナンス(閲覧/登録/更新/廃止)を行います。ロールパッケージファイルは、「roles」のある階層のディレクトリをzipにて圧縮したものを登録してください。ロールパッケージディレクトリ構成などは「 ロールパッケージの記述 」を参照してください。
- 登録 ボタンより、ロールパッケージの登録を行います。
- 登録画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
項番
登録時に自動採番した36桁の文字列が表示されます。
-
自動入力
-
ロールパッケージ名
ITAで管理するロールパッケージ名を入力します。
○
手動入力
最大長255バイト
ロールパッケージファイル
作成したロールパッケージファイル(zip 形式)をアップロードします。
アップロードするロールパッケージファイルに含まれるPlaybookファイルは、文字コードがUTF-8でBOMなしで作成して下さい。
○
ファイル選択
最大サイズ100Mバイト
ターゲット
Linux
Linuxで使用可能なPlaybookの場合、「*」を選択します。
未選択でも、作業実行に影響はありません。
-
リスト選択
説明欄記載のとおり。
Windows
Windowsで使用可能なPlaybookの場合、「*」を選択します。
未選択でも、作業実行に影響はありません。
-
リスト選択
説明欄記載のとおり。
その他
Linux、Windows以外の用途で使用可能なPlaybookの場合、Playbookの用途を入力します。
-
手動入力
最大長4000バイト
Python要否
ターゲットの機器にPythonが必要の場合、「*」を選択します。
未選択でも、作業実行に影響はありません。
-
リスト選択
説明欄記載のとおり。
説明
Playbookについての説明を入力します。
ー
手動入力
最大長4000バイト
説明(en)
Playbookについての説明を英語で入力します。
ー
手動入力
最大長4000バイト
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
警告
警告
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
|
Movement-ロール紐付¶
- Movementでインクルードするロールパッケージのメンテナンス(閲覧/登録/更新/廃止)を行います。
- 登録 ボタンより、Movementでインクルードするロールパッケージの登録を行います。
- 登録画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
項番
登録時に自動採番した36桁の文字列が表示されます。ー
自動入力
ー
Movement
で登録した が表示されます。Movementを選択します。〇
リスト選択
ー
ロールパッケージ名:ロール名
で登録した に含まれているロール名が表示されます。Movementでインクルードするロールパッケージのロールを選択します。同一Movementに複数のロールパッケージは登録出来ません。〇
リスト選択
ー
インクルード順序
ロールの実行順序(1~)を入力します。入力されたインクルード順序(昇順)でロールが実行されます。〇
手動入力
1~2,147,483,647
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
変数ネスト管理¶
- で登録した で定義されている多段変数で、繰返配列が定義されているメンバー変数の配列の最大繰返数のメンテナンス(閲覧/更新)を行います。利用方法については、「 代入値自動登録設定 」を参照てください。
- 編集 ボタンより最大繰返数の更新を行います。
- 登録画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
項番
登録時に自動採番した36桁の文字列が表示されます。ー
自動入力
ー
最大繰返数
配列の最大繰返数を1~1,024の範囲で入力します。最大繰返数の上限値は「管理コンソール - システム設定」より識別ID「MAXIMUM_ITERATION_ANSIBLE-LEGACYROLE」の設定値にて、1~1024の範囲内で変更することが可能です。〇
手動入力
入力値1~1,024(「システム設定」の設定値により変動)
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
警告
代入値自動登録設定¶
- パラメータシートの項目の設定値とMovementの変数との紐付管理(閲覧/登録/更新/廃止)を行います。登録した情報は作業実行によりと に反映されます。
- 登録 ボタンより、パラメータシートの項目の設定値とMovementの変数との紐付登録を行います。
- 登録画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
項番
登録時に自動採番した36桁の文字列が表示されます。
ー
自動入力
ー
パラメータシート(From)
メニューグループ:メニュー:項目
パラメータシートの項目が表示されます。
対象の項目を選択します。
選択対象となるパラメータシートは
で、パラメータシート(ホスト/オペレーションあり)を選択して作成したパラメータシートの項目になります。○
リスト選択
説明欄記載のとおり。
代入順序
パラメータシートがバンドルの場合、パラメータシートで登録している
を入力します。手動入力
1~2,147,483,647
登録方式
で選択した変数の具体値に設定する内容を選択します。
- Value型項目の設定値がで選択した変数の具体値になります。
- Key型項目の名称がで選択した変数の具体値になります。
○
リスト選択
説明欄記載のとおり。
Movement名
で登録した が表示されます。
Movementを選択します。
○
リスト選択
説明欄記載のとおり。
IaC変数(To)
Movement名:変数名
で登録した資材で使用している変数が表示されます。
で選択した項目の具体値を紐付けたい変数を選択します。
○
リスト選択
説明欄記載のとおり。
Movement名:変数名:メンバー変数
で多段変数を選択した場合に多段変数のメンバー変数が表示されます。
メンバー変数を選択します。
リスト選択
説明欄記載のとおり。
代入順序
複数具体値が設定できる変数の場合に必須入力になります。
具体値の代入順序(1~)を入力します。入力値に従い昇順で代入されます。具体値が複数ない場合でも代入順序(1~)を入力します。
手動入力
1~2,147,483,647
NULL連携
パラメータシートの具体値がNULL(空白)の場合に
にNULL(空白)の値を登録するかを選択します。- Trueパラメータシートの値がどのような値でもに登録が行われます。
- Falseパラメータシートに値が入力されていればに登録が行われます。
未選択の場合、
の の値が適用されます。ー
リスト選択
説明欄記載のとおり。
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
Tip
Tip
- 下記のようにロールパッケージの変数定義ファイル(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
Tip
- 下記のようにロールパッケージの変数定義ファイル(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
30
sample-menu
項目2
VAR_substitutionA
10
sample-menu
項目3
VAR_substitutionA
20
sample-menu
項目1
VAR_substitutionB
2
sample-menu
項目2
VAR_substitutionB
4
sample-menu
項目3
VAR_substitutionB
1
sample-menu
項目4
VAR_substitutionB
3
- 作業実行時、ホスト変数ファイル(host_vars/test-host)には、代入値自動登録設定で登録した変数が下記のように出力されます。ホスト変数ファイルへの出力内容
VAR_substitutionA: - value2 - value3 - value1 VAR_substitutionB: - value3 - value1 - value4 - value2
Tip
- 下記のようにロールパッケージの変数定義ファイル(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
- 作業実行時、ホスト変数ファイル(host_vars/test-host)には、代入値自動登録設定で登録した変数が下記のように出力されます。ホスト変数ファイルへの出力内容
VAR_output: - name: value1 user: root: - dev: - dev_user: value2
Tip
- / で下記のように登録します。
¶ ファイル埋込変数名
ファイル素材
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 }}' が反映されていることが確認できます。の
作業実行¶
- 作業実行作業実行 ボタンをクリックすると、作業対象に対して構築作業を実行します。
- ドライランドライラン ボタンをクリックすると、実際に作業対象に対して構築作業をせず、ドライランを行うことができます。ドライランを行った場合の動作は、Ansible-Playbookコマンドの--checkパラメータを指定した実行となります。
- パラメータ確認パラメータ確認 ボタンをクリックすると、実際に作業対象に対して構築作業をせず、 に登録してある情報から作業対象のオペレーションとMovementに紐付く情報を と に反映し、確認することが出来ます。
Tip
作業状態確認¶
- 実行状態表示実行状況に応じた「ステータス」が表示されます。また、実行ログ、エラーログに実行状況の詳細が表示されます。「実行種別」には、作業実行の場合は「通常」、ドライランの場合は「ドライラン」、パラメータ確認の場合は「パラメータ確認」が表示されます。ステータスが想定外エラーで終了した場合、エラーログにメッセージが表示されます。「呼出元Conductor」には、Conductorから実行した場合に、どのConductorから実行されたかを表示します。Ansible-LegacyRoleから直接実行した場合は空欄になります。
- 作業対象ホスト確認作業対象ホスト確認 ボタンで が表示され、作業対象のオペレーションとMovementに絞り込んだホストが表示されます。
- 代入値確認代入値確認 ボタンで が表示され、作業対象のオペレーションとMovementに絞り込んだ変数と具体値が表示されます。
- 緊急停止/予約取り消し緊急停止 ボタンで構築作業を停止させることができます。また、実行前の「予約実行」の作業の場合は、 予約取消 ボタンが表示されます。 予約取消 ボタンで予約実行が取り消せます。
- 実行ログ表示Ansible Automation Controllerで実行した場合、作業対象のの ・ ・ ・ ・ ・ の項目値でグループ化された作業対象の単位でPlaybookが実行され、ansibleの実行ログが分割されます。さらに、か の でジョブスライス数を指定することによりグループ化された作業対象をさらにジョブスライス数で分割しplaybookが実行され、ansibleの実行ログも分割されます。実行ログが分割された場合、実行ログがTabで分割表示され、表示したい実行ログを選択する事ができます。実行ログのTabに表示される名称は以下の2種類があります。exec.log: 全ての実行ログをまとめたログファイルです。exec.log以外: 分割された実行ログファイルです。ファイル命名規則は以下になります。exec_<グループ番号>_<通番>
¶ 要素
内容
グループ番号
作業対象の
の ・ ・ ・ ・ ・ の項目値でグルーブ化した 1 からの通番です。通番
ジョブスライス数の設定によりグループ内を分割した 1 からの通番です。0 の場合はジョブスライス数で分割されなかったことを表します。 - ログ検索実行ログ、エラーログは、各ログのログ検索テキストボックスに検索したい文字列を入力することで、入力した文字列の箇所がハイライトで表示されます。また、「ログ検索」のチェックボックスをチェックすると、該当する行だけが表示されます。実行ログ、エラーログのリフレッシュ表示間隔と最大表示行数を、の と で設定できます。
作業管理¶
- 閲覧画面の項目一覧は以下のとおりです。
¶ 項目
説明
作業No.
自動採番した36桁の文字列が表示されます。
実行種別
実行種別を表示します。
ステータス
作業実行のステータスを表示します。
実行エンジン
作業実行した実行エンジンを表示します。
呼出元Conductor
Conductorから実行した場合にConductor名が表示されます。
実行ユーザ
作業実行したユーザ名が表示されます。
登録日時
作業実行でボタンをクリックした日時が表示されます。
Movement
ID
作業実行で選択したMovementのIDが表示されます。
名称
作業実行で選択したMovementの名称が表示されます。
遅延タイマー
作業実行で選択したMovementの遅延タイマーが表示されます。
Ansible利用情報
ホスト指定形式
作業実行で選択したMovementのホスト指定形式が表示されます。
WinRM接続
作業実行で選択したMovementのWinRM接続が表示されます。
ヘッダーセクション
作業実行で選択したMovementのヘッダーセクションが表示されます。
ansible.cfg
作業実行で選択したMovementのansible.cfgがアップロード出来ます。
Ansible Automation Controller 利用情報
実行環境
作業実行で選択したMovementの実行環境が表示されます。
オペレーション
No.
作業実行で選択したオペレーションのIDが表示されます。
名称
作業実行で選択したオペレーションの名称が表示されます。
投入データ
投入データ一式をzip形式でアップロード出来ます。
結果データ
結果データ一式をzip形式でアップロード出来ます。
作業状況
予約日時
作業実行で予約日時を設定した場合に予約日時が表示されます。
開始日時
作業実行を開始した日時が表示されます。
終了日時
作業実行が終了した日時が表示されます。
収集状況
ステータス
収集機能のステータスを表示します。
収集ログ
収集機能のログがダウンロード出来ます。
Conductorインスタンス番号
Conductorから実行された場合にConductorインスタンス番号を表示します。
作業対象ホスト¶
- 作業実行毎の作業対象ホストを閲覧できます。
- 閲覧画面の項目一覧は以下のとおりです。
¶ 項目
説明
項番
作業実行時に自動採番した36桁の文字列が表示されます。
作業No
作業実行時の作業Noが表示されます。
オペレーション
作業実行時のオペレーションが表示されます。
Movement名
作業実行時のMovementが表示されます。
ホスト名
作業実行時の対象ホストが表示されます。
備考
自由記述欄です。
代入値管理¶
- 作業実行毎の変数の具体値を閲覧できます。
- 閲覧画面の項目一覧は以下のとおりです。
¶ 項目
説明
項番
作業実行時に自動採番した36桁の文字列が表示されます。
作業No
作業実行時の作業Noが表示されます。
オペレーション
作業実行時のオペレーションが表示されます。
Movement名
作業実行時のMovementが表示されます。
ホスト名
作業実行時の作業対象ホストが表示されます。
Movement名:変数名
作業実行時の変数が表示されます。
Movement名:変数名:メンバー変数
多段変数のメンバー変数が表示されます。
具体値
文字列
Sensitive設定
「True」または「False」が表示されます。
値
作業実行時の変数の具体値が表示されます。
- が「True」の場合パラメータシートで入力した具体値は暗号化されITA上では表示されません。変数の具体値は、ansible-vaultで暗号化した内容が設定されます。
- が「False」の場合パラメータシートで入力した具体値が表示されます。
ファイル
作業実行の変数に紐づくファイル名が表示されます。
代入順序
複数具体値変数の場合に、代入順序が表示されます。
備考
自由記述欄です。
4.6. 構築コード記述方法¶
4.6.1. ロールパッケージの記述¶
(上位ディレクトリ)
│
├─── 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 の記述 」をご確認ください。
|
(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ディレクトリの有無は関知しません。
ファイルは、文字コードがUTF-8のBOMなしで作成してください。
サブディレクトリにファイルを配置できます。
|
(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¶
- へッダーセクションヘッダーセクションは、デフォルト値が決まっていますが、の で変更することが出来ます。▼ヘッダーセクションのデフォルト値
- hosts: all remote_user: "{{ __loginuser__ }}" gather_facts: no become: yes # winrm接続の場合は「become: yes」は省略されます。
- rolesセクションアップロードさたロールパッケージ内のロールを、の に従いroleで実行します。
ロールパッケージ内のロール名をディレクトリ階層にした場合の留意点¶
└── 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ディレクトリがありロールとして認識していますので、ロールとして扱いません。
4.6.2. ITAreadme の記述¶
ITA readmeのファイル名の命名規則¶
ロール名 |
作成するファイル名 |
---|---|
mysql |
ita_readme_mysql.yml |
mysql/install |
ita_readme_mysql%install.yml |
警告
ITA readmeのフォーマット¶
Tip
defaults変数定義ファイル |
ITA readme |
変数構造の適用先 |
---|---|---|
定義あり |
定義なし |
デフォルト変数定義ファイル |
定義なし |
定義あり |
ITA readme |
定義あり |
定義あり |
ITA readme |
4.6.3. 「ita_readme」の活用例¶
No. |
観点 |
---|---|
1 |
外部から取得したAnsible-LegacyRoleを編集せず利用する |
2 |
「ita_readme」の役割 |
3 |
「defaults/main.yml」に記載の変数定義およびデフォルト値について |
4 |
「host_varsファイル」と「ITAのパラメータシート」について |
5 |
「defaults/main.yml」に追記したい場合の救済処置 |
6 |
playbookにおけるlength評価への応用 |
7 |
playbookにおけるdefined評価への応用 |
- 観点1:外部から取得したAnsible-LegacyRoleを編集せず利用する外部(Galaxy等)から取得したAnsible-LegacyRole(「roles」ディレクトリ)は編集を加えずに利用いただくことが可能です。そのため「ita_readme」を「roles」ディレクトリの外に置いて、Ansible-LegacyRole(「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のパラメータシート」についてhost_varsファイルはITAのパラメータシートから実行ごとに自動作成されます。
- 観点5:「defaults/main.yml」に追記したい場合の救済処置Ansible-LegacyRole(「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のパラメータシートで取り扱うことが可能となります。変数「VAR_G」に具体値を付与せず実行すると、「defaults/main.yml」および「host_vars」に定義されずに動作するためdefined→falseとなります。反対に、変数「VAR_H」に具体値「kkk」を付与し実行すると、「host_vars」に定義されて動作するためdefined→trueとなります。
4.7. 付録¶
4.7.1. Ansible実行時に使用される投入データとITAメニューの紐づけ¶
Ansible-LegacyRole投入データ¶
メニューグループ |
メニュー |
項目 |
ディレクトリ解凍時のパス |
---|---|---|---|
Ansible-LegacyRole |
ロールパッケージ管理 |
ロールパッケージ |
/roles |
Ansible 共通 |
テンプレート管理 |
テンプレート素材 |
/template_files |
Ansible 共通 |
ファイル管理 |
ファイル素材 |
/copy_files |
Ansible-LegacyRole |
代入値管理 |
具体値(ファイル) |
/upload_files |
Ansible 共通 |
グローバル変数管理 |
変数名/具体値 |
/host_vars |
Ansible-LegacyRole |
代入値管理 |
変数名/具体値 |
/host_vars |
Ansible-LegacyRole |
template 管理 |
テンプレート埋込変数 |
/host_vars |
Ansible-LegacyRole |
ファイル管理 |
ファイル埋込変数 |
/host_vars |
Ansible共通 |
機器一覧 |
ログインユーザ ID
ログインパスワード ※ansible-vault で暗号化
ホスト名
DNSホスト名
IPアドレス
|
/host_vars |
Ansible共通 |
機器一覧 |
ssh 認証鍵ファイル |
/ssh_key_files |
Ansible共通 |
機器一覧 |
サーバ証明書 |
/winrm_ca_files |
Ansible共通 |
インターフェース情報 |
オプションパラメータ |
/AnsibleExecOption.txt |
Ansible-LegacyRole |
Movement一覧 |
オプションパラメータ |
/AnsibleExecOption.txt |
Ansible共通 |
機器一覧 |
ログインユーザ ID
ログインパスワード ※ansible-vault で暗号化
ホスト名
DNSホスト名
IP アドレス
インベントリファイル追加オプション
WinRM 接続情報
接続オプション
|
/hosts |
Ansible-LegacyRole |
Movement-ロール紐付 |
ロール名・インクルード順序 |
/site.yml |