1. Ansible共通

1.1. はじめに

本書では、Ansible driverの共通機能および操作方法について説明します。

1.2. Ansible driver概要

本章では、Ansible Core、Ansible Automation ControllerおよびAnsible driverについて説明します。

1.2.1. Ansible Coreについて

Ansible Coreとは、多数の構築管理対象に対して、アプリーケーション/システムのデプロイ作業を容易にするPF構築自動化ツールです。
Ansible Coreは、PlaybookというYAML形式のテキストファイルに定型処理をタスクとして記述し、それをAnsible Coreに実行させることにより、さまざまな処理を実現できます。
タスクはモジュールと呼ばれる処理プログラムと紐付いており、さまざまな機器に対する制御を行うことができます。
Ansible Coreの詳細情報については、Ansible公式マニュアルを参照してください。

1.2.2. Ansible Automation Controllerについて

Ansible Automation Controllerとは、PF構築自動化ツールであるAnsibleにアクセスコントロール、ジョブスケジューリング、タスクの可視化などの機能を拡張した管理プラットフォームです。
“プロジェクト”、”インベントリ”、”認証情報”の組合せで”ジョブテンプレート”を作成しAnsibleを実行できます。
複数の“ジョブテンプレート”を組み合せて”ワークフロージョブテンプレート”を作成することによって、より多彩な作業フローを表現することができます。
Ansible Automation Controllerの詳細情報については、Ansible Automation Controller公式マニュアルを参照してください。
ITAで対応可能なAnsible Automation Controllerのバージョンは、 Ansible Automation Platform を参照してください。
最新のバージョンに対応した記法は使えないことがありますので、ご注意ください。

1.2.3. Ansible driverについて

Ansible driverは、ITAの機能で、ITAで登録した作業対象のサーバ・ストレージ・ネットワーク各機器に対し、Ansible Core、Ansible Automation Controllerのどちらを経由するかを選択し、Playbookの処理を自動的に行います。
Exastro概要
Ansible driverには用途に応じて以下の3つのモードを用意しています。
  1. Legacy モード
    Ansible標準の機能を用いて各種ホストへ設定を投入します。
    構築コードを単体YAMLファイルとして登録し、作業パターンをその組み合わせで構成します。
    サーバ・ストレージ・ネットワーク各機器の環境設定などの作業用に使われることを想定します。
  2. Legacy Role モード
    Legacyモードと同じく、Ansible標準の機能を用いて各種ホストへ設定を投入します。
    構築コードをパッケージとして登録し、作業パターンをRoleの組み合わせで構成します。
    製品部門などが提供するRoleパッケージを用いて、製品のインストール、環境構築などを行う際に使われることを想定します。
  3. Pioneer モード
    Ansibleに独自モジュールを追加し、対話形式による設定投入を可能とします。
    Telnet, SSHでログイン可能なサーバ・ストレージ・ネットワーク各機器に対応しています。作業対象と直接やり取りが必要となるため、相応のITスキルが必要となります。

1.3. Ansible driverでの変数取り扱い

Ansible driverでは、Playbook中の変数の具体値をITAから設定することができます。

1.3.1. 変数の種類

Playbook中の変数で、ITAの変数として扱える変数は以下の7種類があります。

通常変数

変数名に対して具体値を1つ定義できる変数です。

e.g.) Playbook内での記述例
# Ansible-LegacyRoleでの変数定義例
user: user1

# Playbook内での記述例
- name: Create user
  user:
    name: "{{ user }}"

複数具体値変数

変数名に対して具体値を複数定義できる変数です。

e.g.) Playbook内での記述例
# Ansible-LegacyRoleでの変数定義例
users:
  - user1
  - user2

# Playbook内での記述例
- name: Create user
  user:
    name: "{{ item }}"
  with_items: "{{ users }}"

多段変数

階層化された変数です。
多段変数はAnsible-LegacyRoleでしか扱えません。

e.g.) Playbook内での記述例
# Ansible-LegacyRoleでの変数定義例
users:
  - name: user3
    groups: root
  - name: user4
    groups: root

# Playbook内での記述例
- name: Create user
  user:
    name: "{{ item.name }}"
  with_items: "{{ users }}"

グローバル変数

Ansible共通 ▶ グローバル変数管理 から登録する変数です。
e.g.) Playbook内での記述例
- command: echo {{ GBL_user }}

テンプレート埋込変数

Ansible共通 ▶ テンプレート管理 から登録する変数です。
e.g.) Playbook内での記述例
- template: src={{ TPF_SAMPLE }} dest=/tmp/SAMPLE.txt

ファイル埋込変数

Ansible共通 ▶ ファイル管理 から登録する変数です。
e.g.) Playbook内での記述例
- copy: src={{ CPF_SAMPLE }} dest=/tmp/SAMPLE.txt

ITA独自変数

ITA 独自で定義している変数です。
機器一覧
基本コンソール ▶ 機器一覧 の下記項目を変数として扱えます。

項目名

変数名

ホスト名

__inventory_hostname__

DNSホスト名

__dnshostname__

IPアドレス

__ipaddress__

プロトコル

__loginprotocol__

ログインユーザID

__loginuser__

ログインパスワード

__loginpassword__

Tip

変数名の前後の「__」は半角アンダーバー2文字です。
Ansible共通 ▶ 機器一覧 の項目が設定されている場合に使用可能な変数です。項目が未設定で 各モード ▶ 作業実行 から作業実行した場合はエラーになります。
オペレーション
作業実行時に選択された 基本コンソール ▶ オペレーション一覧 のオペレーションを変数として扱えます。

項目名

変数名

オペレーション

__operation__

設定値 : 「YYYY/MM/DD HH:MM」_「オペレーションID」:「オペレーション名称」
YYYY/MM/DD HH:MM: 基本コンソール ▶ オペレーション一覧実施予定日時
オペレーションID: 基本コンソール ▶ オペレーション一覧オペレーションID
オペレーション名称: 基本コンソール ▶ オペレーション一覧オペレーション名称

ConductorインスタンスID
Conductor実行時の Conductor ▶ Conductor作業確認ConductorインスタンスID を変数として扱えます。
Conductorについての詳細は「 Conductor 」を参照してください。

項目名

変数名

ConductorインスタンスID

__conductor_id__

__conductor_id__はConductor実行の場合に使用可能な変数です。
各モード ▶ 作業実行 から作業実行した場合はエラーになります。

データ連携
作業実行時の作業ディレクトリパスを下記の変数として扱えます。

項目名

変数名

作業ディレクトリパス

__workflowdir__

Playbook内で作業ディレクトリパス配下にファイルを作成することで、 各モード ▶ 作業管理結果データ からファイルをダウンロードすることができます。

Conductor実行時の各Movementで共有するディレクトリパスを下記の変数として扱えます。

項目名

変数名

Conductor作業ディレクトリパス

__conductor_workflowdir__

Playbook内でConductor作業ディレクトリパス配下にファイルを作成することで、Conductor内の各Movement間でファイルを共有することが出来ます。
また、 各モード ▶ 作業実行 から作業実行した場合は、__workflowdir__と同じパスが設定されます。

Conductor ▶ Conductor編集/作業実行Status file branchノード で参照するステータスファイルのファイルパスを下記の変数として扱えます。
Status file branchノード についての詳細は「 Conductor 」を参照してください。

項目名

変数名

ステータスファイルパス

__movement_status_filepath__


収集機能で使用する各ファイルパスを下記の変数として扱えます。
収集機能についての詳細は「 収集機能 」を参照してください。

項目名

変数名

作業ディレクトリ(in)の「_parameters」のパス

__parameters_dir_for_epc__

作業ディレクトリ(in)の「_parameters_file」のパス

__parameters_file_dir_for_epc__

作業結果ディレクトリ(out)の「_parameters」のパス

__parameter_dir__

作業結果ディレクトリ(out)の「_parameters_file」のパス

__parameters_file_dir__

「_parameters」:ソースファイル(パラメータ)格納先用
「_parameters_file」:収集したファイルの格納先用
※パラメータの対象がファイルアップロードカラムの場合のファイル配置

1.3.2. 変数の抜出および具体値登録

変数抜出対象資材

変数抜出対象の資材を登録した場合、登録された情報から変数を抜出します。
表 1.114 変数抜出対象のメニュー・項目

メニュー

項目

モード

変数抜出の書式

Ansible-Legacy

Ansible-Pioneer

Ansible-LegacyRole

Playbook素材集

Playbook素材

×

×

詳細は「 Playbook素材で変数抜出の対象となる変数の種類と書式 」を参照してください。

対話ファイル素材集

対話ファイル素材

×

×

詳細は「 対話ファイル素材で変数抜出の対象となる変数の種類と書式 」を参照してください 。

ロールパッケージ管理

ロールパッケージファイル(ZIP形式)

×

×

詳細は「 ロールパッケージファイル(ZIP形式)で変数抜出の対象となる変数の種類と書式 」を参照してください 。

テンプレート管理

変数定義

詳細は「 テンプレート管理 」を参照してください 。

機器一覧

インベントリファイル追加オプション

×

詳細は「 インベントリファイル追加オプションとヘッダセクションのパラメータ値で変数抜出の対象となる変数の種類と書式 」を参照してください 。

Movement一覧

ヘッダセクション

×

詳細は「 インベントリファイル追加オプションとヘッダセクションのパラメータ値で変数抜出の対象となる変数の種類と書式 」を参照してください 。

パラメータシート

プルダウン選択でテンプレート管理を選択している項目

詳細は「 テンプレート管理 」を参照してください 。

Tip

〇:抜出対象 ×:抜出対象外
Playbook素材で変数抜出の対象となる変数の種類と書式
Ansible-Legacy ▶ Playbook素材集Playbook素材 で変数抜出の対象となる変数の種類と書式は、以下の図のとおりです。
表 1.115 Playbook素材で変数抜出の対象となる変数の種類と書式

変数

書式

具体値の設定

通常変数

複数具体値変数

{{△vvv△}}

{{△vvv△|△フィルタ△}}

具体値の登録は Ansible-Legacy ▶ 代入値自動登録設定 より行います。 Ansible-Legacy ▶ 代入値自動登録設定代入順序 が入力されている場合、複数具体値変数として扱います。

グローバル変数

{{△GBL_xxx△}}

{{△GBL_xxx△|△フィルタ△}}

具体値の登録は Ansible共通 ▶ グローバル変数管理 より行います。

テンプレート埋込変数

{{△TPF_xxx△}}

{{△TPF_xxx△|△フィルタ△}}

具体値の登録は Ansible共通 ▶ テンプレート管理 より行います。

ファイル埋込変数

{{△CPF_xxx△}}

{{△CPF_xxx△|△フィルタ△}}

具体値の登録は Ansible共通 ▶ ファイル管理 より行います。

ITA独自変数

詳細は「 ITA独自変数 」を参照してください。

Tip

各変数名についての補足
△:半角スペース
vvv: 255バイト以内の半角英数字とアンダースコア( _ )
xxx: 251バイト以内の半角英数字とアンダースコア( _ )
対話ファイル素材で変数抜出の対象となる変数の種類と書式
Ansible-Legacy ▶ 対話ファイル素材集対話ファイル素材 で変数抜出の対象となる変数の種類と書式は、以下の図のとおりです。
表 1.116 対話ファイル素材で変数抜出の対象となる変数の種類と書式

変数

書式

具体値の設定

通常変数

複数具体値変数

{{△vvv△}}

具体値の登録は Ansible-Pioneer ▶ 代入値自動登録設定 より行います。 Ansible-Pioneer ▶ 代入値自動登録設定代入順序 が入力されている場合、複数具体値変数として扱います。

グローバル変数

{{△GBL_xxx△}}

具体値の登録は Ansible共通 ▶ グローバル変数管理 より行います。

テンプレート埋込変数

{{△TPF_xxx△}}

具体値の登録は Ansible共通 ▶ テンプレート管理 より行います。

ファイル埋込変数

{{△CPF_xxx△}}

具体値の登録は Ansible共通 ▶ ファイル管理 より行います。

ITA独自変数

詳細は「 ITA独自変数 」を参照してください。

Tip

各変数名についての補足
△:半角スペース
vvv: 255バイト以内の半角英数字とアンダースコア( _ )
xxx: 251バイト以内の半角英数字とアンダースコア( _ )
ロールパッケージファイル(ZIP形式)で変数抜出の対象となる変数の種類と書式
Ansible-Legacy ▶ ロールパッケージ管理ロールパッケージファイル(ZIP形式) で変数抜出の対象となる変数の種類と書式は、以下の図のとおりです。
表 1.117 ロールパッケージファイル(ZIP形式)で変数抜出の対象となる変数の種類と書式

変数名

書式

ITA readme

ロールパッケージ内のディレクトリ

具体値の設定

defaults

tasks

templates

handlers

meta

その他

通常変数

e.g.)

vvv: value

具体値は省略可能です。

×

×

具体値の登録は Ansible-LegacyRole ▶ 代入値自動登録設定 より行います。

複数具体値変数

e.g.)

vvv:
  - value
vvv: []

具体値は省略可能です。

多段変数

e.g.)

vvv:
  - item1: value1  ←メンバー変数
    item2: value2  ←メンバー変数
vvv:
  - array:
      - item1: value1 ←メンバー変数
        item2: value2 ←メンバー変数

具体値は省略可能です。

グローバル変数

{{△GBL_xxx△}}

{{△GBL_xxx△|△フィルタ△}}

×

×

×

具体値の登録は Ansible共通 ▶ グローバル変数管理 より行います。

テンプレート埋込変数

{{△TPF_xxx△}}

{{△TPF_xxx△|△フィルタ△}}

具体値の登録は Ansible共通 ▶ テンプレート管理 より行います。

ファイル埋込変数

{{△CPF_xxx△}}

{{△CPF_xxx△|△フィルタ△}}

具体値の登録は Ansible共通 ▶ ファイル管理 より行います。

ITA独自変数

詳細は「 ITA独自変数 」をを参照してください。

Tip

〇:変数定義抜出対象 ×:変数定義抜出対象外

Tip

各変数名についての補足
△:半角スペース
vvv: 255バイト以内の半角英数字とアンダースコア( _ )
xxx: 251バイト以内の半角英数字とアンダースコア( _ )
メンバー変数は、下記の7文字を除くascii文字(0x20~0x7e)が使用出来ます。
" . [ ] ' \ :
尚、コーテーションで囲ないと変数名の先頭に使用出来ない文字がいくつかあります。
詳細は、Ansible公式マニュアルのYaml syntaxを参照してください。
インベントリファイル追加オプションとヘッダセクションのパラメータ値で変数抜出の対象となる変数の種類と書式
Ansible-Legacy ▶ 機器一覧インベントリファイル追加オプション各モード ▶ Movement一覧ヘッダセクション のパラメータ値で変数抜出の対象となる変数の種類と書式は、以下の図のとおりです。
表 1.118 パラメータ値で変数抜出の対象となる変数の種類と書式

種類

利用可否

書式

具体値の設定

通常変数

複数具体値変数

多段変数

{{△vvv△}}

{{△vvv△|△フィルタ△}}

・Ansible-Legacyの場合

通常変数と複数具体値変数が扱えます。

Ansible-Legacy ▶ 代入値自動登録設定代入順序 が入力されている場合、複数具体値変数として扱います。

・Ansible-LegacyRoleの場合

通常変数と複数具体値変数と多段変数が扱えます。

Ansible-LegacyRole ▶ ロールパッケージ管理ロールパッケージファイル(ZIP形式) で登録したロールパッケージか、 Ansible共通 ▶ テンプレート管理変数定義 で同名の変数が定義されている場合は、定義されている種類の変数として扱います。

変数が定義されていない場合、通常変数として扱います。

具体値の登録は Ansible-LegacyRole ▶ 代入値自動登録設定 より行います。

グローバル変数

×

ファイル埋込変数

×

テンプレート埋込変数

×

ITA独自変数

詳細は「 ITA独自変数 」を参照してください。

Tip

各変数名についての補足
△:半角スペース
vvv: 255バイト以内の半角英数字とアンダースコア( _ )

変数の具体値

Ansible-Legacy
抜出された変数の具体値はパラメータシートの項目に具体値を設定し Ansible-Legacy ▶ 代入値自動登録設定 で各変数に紐付けを行うことで設定され、作業実行時にホスト変数ファイルに出力されます。
作業実行時に Ansible-Legacy ▶ 代入値管理 を介してホスト変数ファイルに変数の具体値が出力されるまでの関係を、以下の図に示します。
パラメータシートについての詳細は、「 パラメータシート作成機能 」を参照してください。
Ansible-Legacy ホスト変数ファイルに変数の具体値が出力されるまでの流れ

図 1.87 Ansible-Legacy ホスト変数ファイルに変数の具体値が出力されるまでの流れ

① 「 変数抜出対象資材 」により、変数抜出対象の資材より変数を抜出し、 Ansible-Legacy ▶ 代入値自動登録設定 で変数が選択可能になります。
② パラメータシートの項目に紐付する変数の具体値を登録します。
Ansible-Legacy ▶ 代入値自動登録設定 でパラメータシートの項目と変数の紐付を登録します。
④ 作業実行により Ansible-Legacy ▶ 代入値自動登録設定 で紐付ているパラメータシートの項目と変数の情報を Ansible-Legacy ▶ 代入値管理 に反映し、ホスト変数ファイルに出力します。
Ansible-Pioneer
抜出された変数の具体値はパラメータシートの項目に具体値を設定し Ansible-Pioneer ▶ 代入値自動登録設定 で各変数に紐付けを行うことで設定され、作業実行時にホスト変数ファイルへ出力されます。
作業実行時に Ansible-Pioneer ▶ 代入値管理 を介してホスト変数ファイルに変数の具体値が出力されるまでの関係を、以下の図に示します。
Ansible-Pioneer ホスト変数ファイルに変数の具体値が出力されるまでの流れ

図 1.88 Ansible-Pioneer ホスト変数ファイルに変数の具体値が出力されるまでの流れ

① 「 変数抜出対象資材 」により、変数抜出対象の資材より変数を抜出し、 Ansible-Pioneer ▶ 代入値自動登録設定 で変数が選択可能になります。
② パラメータシートの項目に紐付する変数の具体値を登録します。
Ansible-Pioneer ▶ 代入値自動登録設定 でパラメータシートの項目と変数の紐付を登録します。
④ 作業実行により Ansible-Pioneer ▶ 代入値自動登録設定 で紐付ているパラメータシートの項目と変数の情報を Ansible-Pioneer ▶ 代入値管理 に反映し、ホスト変数ファイルに出力します。
Ansible-LegacyRole
抜出された変数の具体値はパラメータシートの項目に具体値を設定し Ansible-LegacyRole ▶ 代入値自動登録設定 で各変数に紐付けを行うことで設定され、作業実行時にホスト変数ファイルへ出力されます。
作業実行時に Ansible-LegacyRole ▶ 代入値管理 を介してホスト変数ファイルに変数の具体値が出力されるまでの関係を、以下の図に示します。
Ansible-LegacyRole ホスト変数ファイルに変数の具体値が出力されるまでの流れ

図 1.89 Ansible-LegacyRole ホスト変数ファイルに変数の具体値が出力されるまでの流れ

① 「 変数抜出対象資材 」により、変数抜出対象の資材より変数を抜出し、 Ansible-LegacyRole ▶ 代入値自動登録設定 で変数が選択可能になります。
② パラメータシートの項目に紐付する変数の具体値を登録します。
Ansible-LegacyRole ▶ 代入値自動登録設定 でパラメータシートの項目と変数の紐付を登録します。
④ 作業実行により Ansible-LegacyRole ▶ 代入値自動登録設定 で紐付ているパラメータシートの項目と変数の情報を Ansible-LegacyRole ▶ 代入値管理 に反映し、ホスト変数ファイルに出力します。
Ansible-LegacyRole ▶ 代入値自動登録設定 で登録した変数の具体値は、ホスト変数定義ファイル(host_vars)に出力されます。
この結果、ansibleが扱う変数の具体値の優先順位は以下のようになります。
  1. ホスト変数定義ファイルの値
  2. defaults変数定義ファイルに定義した値

1.4. Ansible共通メニュー構成

本章では、Ansible共通のメニュー構成について説明します。

1.4.1. メニュー/画面一覧

Ansible共通のメニュー一覧を以下に記述します。
表 1.119 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

管理対象外変数リスト

変数抜出対象資材 」で抜出した変数で、各モード ▶ 代入値自動登録設定Movement名:変数名 に表示したくない変数を管理します。

8

共通変数利用リスト (※1)

Ansible共通 ▶ グローバル変数管理Ansible共通 ▶ ファイル管理Ansible共通 ▶ テンプレート管理 に登録されている変数が、どの素材( Ansible-Legacy ▶ Playbook素材集Ansible-Pioneer ▶ 対話ファイル素材集Ansible-LegacyRole ▶ ロールパッケージ管理 )で使用しているかを閲覧できます。

Tip

※1 非表示メニューは、内部処理で使用するメニューです。
ITAをインストールした状態では表示されないメニューに設定されています。
非表示メニューを表示するには、管理コンソール ▶ ロール・メニュー紐付管理 で各メニューの復活処理を行います。詳細は「 管理コンソール 」を参照してください。
内部処理で使用するメニューには、登録を行わないようにしてください。

1.5. メニュー操作方法説明

本章では、Ansible共通のメニューの操作について記載します。

1.5.1. 機器一覧

  1. 作業対象となる機器情報のメンテナンス(閲覧/登録/更新/廃止)を行います。
    ITAをインストールすると、ローカル実行用の機器「localhost」が機器一覧に登録されます。
    「localhost」を指定して作業実行するとansibleホスト内で作業が実行されます。
    pioneerで「localhost」は使用できません。
    サブメニュー画面(機器一覧)

    図 1.90 サブメニュー画面(機器一覧)

  2. 登録 ボタンより、作業対象となる機器情報の登録を行います。
    登録画面(機器一覧)

    図 1.91 登録画面(機器一覧)

  3. 登録画面の項目一覧は以下のとおりです。
    表 1.120 登録画面項目一覧(機器一覧)

    項目

    説明

    入力必須

    入力方法

    制約事項

    管理システム項番

    登録時に自動採番した36桁の文字列が表示されます。

    自動入力

    HW機器種別

    HW機器の種別を選択します。

    • NW(ネットワーク)
    • ST(ストレージ)
    • SV(サーバー)

    リスト選択

    説明欄記載のとおり

    ホスト名

    ホスト名を入力します。

    Ansible実行時のインベントリホストとして扱います。

    手動入力

    最大長255バイト

    DNSホスト名

    DNSサーバーを使用してホスト名が解決できる名称を入力します。

    手動入力

    最大長255バイト

    IPアドレス

    IPアドレス(xxx.xxx.xxx.xxxIPv4形式)を入力します。

    手動入力

    最大長15バイト

    ログインパスワード

    ユーザ

    ログインユーザを入力します。

    手動入力

    最大長255バイト

    パスワード

    パスワードを入力します。

    手動入力

    最大長255バイト

    ssh鍵認証情報

    ssh秘密鍵ファイル

    ssh秘密鍵ファイルを指定して鍵認証する場合の秘密鍵ファイルを入力します。

    アップロードしたファイルは暗号化されて保存されます。

    ※登録後はダウンロード不可となります。

    ファイル選択

    最大サイズ100Mバイト

    パスフレーズ

    ssh秘密鍵ファイルにパスフレーズが設定されている場合、パスフレーズを入力します。

    手動入力

    最大長255バイト

    Ansible利用情報

    Legacy/Role利用情報

    認証方式

    Ansible core・Ansible Automation Controllerから作業対象へ接続する際の認証方式を選択します。

    • パスワード認証
      ログインパスワードの入力が必須です。
    • 鍵認証(パスフレーズなし)
      ssh秘密鍵ファイル(id_ras)のアップロードが必須です。
    • 鍵認証(パスフレーズあり)
      ssh秘密鍵ファイル(id_ras)のアップロード と、パスフレーズの入力が必須です。
    • パスワード認証(winrm)
      必要に応じてWinRM接続情報を入力します。

    リスト選択

    説明欄記載のとおり

    WinRM接続情報

    ポート番号

    WindowsServerにWinRM接続する際のポート番号を入力します。

    未入力の場合はデフォルト(5985 :http)で接続します。

    手動入力

    0~65,535

    サーバ証明書

    WinRM接続ポートでhttpsのポート番号を指定した場合にサーバ証明書を入力します。

    アップロードしたファイルは暗号化されて保存されます。

    ※登録後はダウンロード不可となります。

    サーバ証明書の認証を省く場合、インベントリファイル追加オプションに下記を追記してください。

    ansible_winrm_server_cert_validation: ignore
    

    ファイル選択

    最大サイズ100Mバイト

    Pioneer利用情報

    プロトコル

    Pioneerから作業対象に接続する際のプロトコルを選択します。

    • ssh
      認証方式 はパスワード認証(winrm)以外を選択 してださい。
    • telnet
      認証方式 で選択した認証方式は使用せずにtelnetで接続します。
      ユーザパスワード の入力が必須です。

    リスト選択

    説明欄記載のとおり

    OS種別

    作業対象のOSを選択します。

    OS種は Ansible-Pioneer ▶ OS種別 から登録します。

    リスト選択

    説明欄記載のとおり

    LANG

    ログインユーザ のLANGを選択します。

    未選択の場合はデフォルト「utf-8」になります。

    ー ー

    リスト選択

    説明欄記載のとおり

    接続オプション

    作業対象に接続する際に設定したいオプションを入力します。

    • ssh接続の場合
      /etc/ansible.cfg/ssh_args/etc/ansible/ansible.cfg に設定しているsshオプション以外のオプションを入力します。
    • telnet接続の場合
      telnet接続時のオプションを入力します。

    手動入力

    最大長4000バイト

    インベントリファイル追加オプション

    ITAが作成するインベントリファイルに追加するパラメータがある場合に、パラメータをyaml形式で入力します。

    尚、Ansible-Pioneerでは適用しません。

    ITAが作成するインベントリファイルについては「 ITAが作成するインベントリファイル 」を参照してください。

    e.g.)

    ansible_connection: network_cli
    ansible_network_os: ios
    ansible_become: yes
    ansible_become_method: enable
    

    各パラメータ値を変数で記述することも出来ます。

    ansible_become_password: '{{△vvv△}}'
    
    △:半角スペース
    ':シングル・ダブルコーテーションで必ず囲んで下さい。
    

    パラメータ値を変数で記述する場合の詳細は、「 インベントリファイル追加オプションとヘッダセクションのパラメータ値で変数抜出の対象となる変数の種類と書式 」を参照してください 。

    変数の具体値は 各モード ▶ 代入値自動登録設定 から登録します。

    手動入力

    最大長4000バイト

    Ansible Automation Controller 利用 情報

    インスタンスグループ名※1

    Ansible Automation Controllerがクラスタ構成の場合、どのインスタンスグループで実行するかを選択します。

    未選択の場合はAnsible Automation Controllerに設定されているデフォルトのインスタンスグループになります。

    Ansible Automation Controllerがクラスタ構成でない場合は、未選択で構いません。

    リスト選択

    説明欄記載のとおり

    接続タイプ

    Ansible Automation Controllerの認証情報の接続タイプを選択します。

    通常は「machine」を選択します。

    「ansible_connectionをlocal」に設定する必要があるNetwork OSなど場合に「Network」を選択します。

    • 「Network」を選択した場合
      インベントリファイル追加 オプション にPlatform Options(ansible_connection以外)を設定する必要が あります。

    e.g.)

    インベントリファイル追加オプションの設定例

    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バイト

    Tip

    ※1「 Ansible Automation Controllerデータ同期 」で取得したデータから選択します。

1.5.2. インターフェース情報

  1. Ansible Core、Ansible Automation Controllerのいずれかを実行エンジンに選択し、実行エンジンのサーバへの接続インターフェース情報のメンテナンス(閲覧/更新)を行います。
    サブメニュー画面(インタフェース情報)

    図 1.92 サブメニュー画面(インタフェース情報)

  2. 編集 ボタンより、インターフェース情報の更新を行います。
    登録画面(インタフェース情報)

    図 1.93 登録画面(インタフェース情報)

  3. 登録画面の項目一覧は以下のとおりです。
    表 1.121 登録画面項目一覧(インタフェース情報)

    項目

    説明

    入力必須

    入力方法

    制約事項

    項番

    登録時に自動採番した36桁の文字列が表示されます。

    自動入力

    実行エンジン

    実行するエンジンを下記の2種類から選択します。

    • Ansible Core
    • Ansible Automation Controller

    リスト選択

    説明欄記載のとおり。

    Ansible Automation Controller インターフェース

    代表ホスト

    Ansible共通 ▶ Ansible Automation Controllerホスト一覧 に登録されているハイブリットノードか制御ノードより、ITAと通信するAnsible Automation Controllerを選択します。

    リスト選択

    実行エンジン がAnsible Automation Controllerの場合に入力必須

    プロトコル

    Ansible Automation Controllerとの接続プロトコルを「http」/「https」のどちらかで入力します。

    手動入力

    実行エンジン がAnsible Automation Controllerの場合に入力必須

    ポート

    Ansible Automation Controllerとの接続プロトコルのポートを入力します。

    通常はhttps(443)を入力します。

    手動入力

    実行エンジン がAnsible Automation Controllerの場合に入力必須

    組織名 ※1

    Ansible Automation Controllerに登録されている組織名を選択します。

    リスト選択

    実行エンジン がAnsible Automation Controllerの場合に入力必須

    認証トークン

    Ansible Automation Controllerに接続するユーザの認証トークンを入力します。

    最大長255バイト

    実行エンジン がAnsible Automation Controllerの場合に入力必須

    実行時データ削除

    作業実行時にITAとAnsible Automation Controller内に一時的に生成したデータリソースを作業終了後に削除するかを選択します。

    「True」を選択した場合に削除します。

    削除されるデータリソースについての詳細は「 実行時データ削除で削除されるデータリソース 」を参照してください。

    リスト選択

    実行エンジン がAnsible Automation Controllerの場合に入力必須

    REST APIタイムアウト値(単位秒)

    作業実行時にITAからAnsible Automation ControllerへRestAPI発行時のタイムアウト値を入力します。

    通常は60秒程度が推奨値です。

    未入力の場合は、デフォルト値(60)を使用します。

    手動入力

    60~3,600

    Proxy

    Address

    プロキシサーバのアドレスを入力します。

    ITAがプロキシ環境下にある場合、Ansible Core/Ansible Automation Controllerまでの疎通のために設定が必要な場合があります。

    プロキシサーバのURLが

    http://proxy.gate.co.jp:8080の場合

    Addressにはhttp://proxy.gate.co.jpを入力します。

    Portには 8080を入力します。

    手動入力

    最大255バイト

    Port

    プロキシサーバのポートを入力します。

    手動入力

    1~65,535

    Ansible-vaultパスワード

    ansible-vaultコマンドで変数の具体値を暗号化する場合のパスワードを入力します。

    未入力の場合は、デフォルト値を使用します。

    手動入力

    最大長64バイト

    オプションパラメータ

    Movement共通のオプションパラメータを入力します。

    オプションパラメータについての詳細は「 オプションパラメータ一覧 」を参照してください。

    • 実行エンジン が「Ansible Core」の場合
      ansible-playbookコマンドのオプションパラメータを入力します。
    • 実行エンジン が「Ansible Automation Controller」の場合
      ジョブテンプレートのパラメータを入力します。
      ジョブテンプレートについての詳細は、Ansible Automation Controller公式マニュアルのユーザガイドを参照してください。

    Movement固有のオプションパラメータは 各モード ▶ Movement一覧 から入力します。

    手動入力

    最大長4000バイト

    NULL連携

    各モード ▶ 代入値自動登録設定パラメータシート の具体値がNULL(空白)の場合に、 各モード ▶ 代入値管理 にNULL(空白)の値を登録するかを選択します。

    各モード ▶ 代入値自動登録設定NULL連携 が未選択の場合、この値が適用されます。

    • True
      パラメータシートの値がどのような値でも 各モード ▶ 代入値管理 に登録が行われます。
    • False
      パラメータシートに値が入力されていれば 各モード ▶ 代入値管理 に登録が行われます。

    未選択の場合「False」を適用します。

    リスト選択

    説明欄記載のとおり。

    状態監視周期(単位ミリ秒)

    各モード ▶ 作業状態確認 に表示される情報のリフレッシュ間隔を入力します。

    通常は1000ミリ秒程度が推奨値です。

    手動入力

    1,000~2,147,483,647

    進行状態表示行数

    各モード ▶ 作業状態確認 に表示する実行ログ・エラーログの最大表示行数を入力します。

    ステータス が以下の場合、ログの終端から入力した行数分を出力します。

    • 「未実行」
    • 「準備中」
    • 「実行中」
    • 「実行中(遅延)」

    ステータス が以下の場合、すべてのログを出力します。

    • 「完了」
    • 「完了(異常)」
    • 「想定外エラー」
    • 「緊急停止」
    • 「未実行(予約)」
    • 「予約取消」

    環境毎にチューニングを要しますが、通常は1000行程度が推奨値です。

    手動入力

    0~2,147,483,647

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

    Tip

    ※1「 Ansible Automation Controllerデータ同期 」で取得したデータから選択します。

1.5.3. Ansible Automation Controller ホスト一覧

  1. Ansible Automation ControllerへのRestAPI実行に必要な情報、および構築資材をAnsible Automation Controllerにファイル転送するために必要な情報のメンテナンス(閲覧/登録/更新/廃止)を行います。
    クラスタ構成の場合は、構成している全てのホストを登録してください。
    ただし、Ansible Automation Controllerのhop nodeの登録は不要です。
    サブメニュー画面(Ansible Automation Controller ホスト一覧)

    図 1.94 サブメニュー画面(Ansible Automation Controller ホスト一覧)

  2. 登録 ボタンより、Ansible Automation Controllerのホスト情報の登録を行います。
    登録画面(Ansible Automation Controller ホスト一覧)

    図 1.95 登録画面(Ansible Automation Controller ホスト一覧)

  3. 登録画面の項目一覧は以下のとおりです。
    表 1.122 登録画面項目一覧(Ansible Automation Controller ホスト一覧)

    項目

    説明

    入力必須

    入力方法

    制約事項

    項番

    登録時に自動採番した36桁の文字列が表示されます。

    自動入力

    ホスト

    Ansible Automation Controllerのホスト名(またはIPアドレス)を入力します。

    手動入力

    最大長255バイト

    認証方式

    Ansible Automation Controllerへファイル転送(scp)で接続する際の認証方式を選択します。

    • パスワード認証
      ログインユーザとパスワードの入力が必須です。
    • 鍵認証(パスフレーズなし)
      ssh秘密鍵ファイル(id_ras)のアップロードが必須です。
    • 鍵認証(パスフレーズあり)
      ssh秘密鍵ファイル(id_ras)のアップロードと、パスフレーズの入力が必須です。

    リスト選択

    説明欄記載のとおり。

    ユーザ

    Ansible Automation Controllerへファイル転送(scp)で接続する際のログインユーザを入力します。

    ログインユーザは、Ansible Automation Controllerインストール時に生成されるawxユーザにパスワードを設定し、awxユーザを入力して下さい。

    手動入力

    最大長255バイト

    パスワード

    認証方式 でパスワード認証を選択した場合、必須入力となります。 ログインユーザのパスワードを入力します。

    手動入力

    最大長4000バイト

    ssh鍵認証情報

    ssh秘密鍵ファイル

    認証方式 で鍵認証を選択した場合、必須入力となります。ssh秘密鍵ファイルを入力します。

    アップロードしたファイルは暗号化されて保存されます。

    ※登録後はダウンロード不可となります。

    ファイル選択

    最大サイズ100Mバイト

    パスフレーズ

    ssh秘密鍵ファイルにパスフレーズが設定されている場合、パスフレーズを入力します。

    手動入力

    最大長255バイト

    ポート

    Ansible Automation Controllerにssh接続する際の、ポート番号を指定することができます。

    デフォルトは22です。

    手動入力

    数値項目

    Execution node

    クラスタ構成で構築されているAnsible Automation Controllerで対象ホストが「execution node」の場合に「True」を選択します。

    「Execution node」が「True」の場合、Ansible共通 ▶ インターフェース情報代表ホスト に表示されません。

    リスト選択

    説明欄記載のとおり。

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

1.5.4. グローバル変数管理

  1. Playbookや対話ファイルで共通利用するグローバル変数名のメンテナンス(閲覧/登録/更新/廃止)を行います。
    サブメニュー画面(グローバル変数管理)

    図 1.96 サブメニュー画面(グローバル変数管理)

  2. 登録 ボタンより、グローバル変数の登録を行います。
    登録画面(グローバル変数管理)

    図 1.97 登録画面(グローバル変数管理)

  3. 登録画面の項目一覧は以下のとおりです。
    表 1.123 登録画面項目一覧(グローバル変数管理)

    項目

    説明

    入力必須

    入力方法

    制約事項

    項番

    登録時に自動採番した36桁の文字列が表示されます。

    自動入力

    グローバル変数名

    変数名を入力します。
    変数名は、「GBL_****」形式で入力します。
    ****:半角英数字とアンダースコア( _ )が利用可能です。(最小値:1バイト、最大値:255バイト)

    手動入力

    説明欄記載のとおり。

    具体値

    具体値を入力します。複数行の具体値も入力できますが、Pioneerの対話ファイルで使用しているグローバル変数で複数行の具体値を設定すると、作業実行時にエラーとなります。

    手動入力

    最大長4000バイト

    変数名説明

    変数に対する説明・コメントを入力します。

    手動入力

    最大長4000バイト

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

1.5.5. ファイル管理

  1. Playbookや対話ファイルで共通利用するファイル素材とファイル埋込変数のメンテナンス(閲覧/登録/更新/廃止)を行います。
    ファイル素材を登録しておくことで、Playbook内で使用するファイル素材をファイル埋込変数名で指定することができます。
    サブメニュー画面(ファイル管理)

    図 1.98 サブメニュー画面(ファイル管理)

  2. 登録 ボタンより、ファイル埋込変数の登録を行います。
    登録画面(ファイル管理)

    図 1.99 登録画面(ファイル管理)

  3. 登録画面の項目一覧は以下のとおりです。
    表 1.124 登録画面項目一覧(ファイル管理)

    項目

    説明

    入力必須

    入力方法

    制約事項

    素材ID

    登録時に自動採番した36桁の文字列が表示されます。

    自動入力

    ファイル埋込変数名

    Playbookに埋め込む変数名を入力します。
    変数名は、「CPF_****」形式で入力します。
    ****:半角英数字とアンダースコア( _ )が利用可能です。(最小値:1バイト、最大値:255バイト)

    手動入力

    説明欄記載のとおり。

    ファイル素材

    ファイル素材をアップロードします。

    ファイル登録

    最大サイズ100Mバイト

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

Tip

Ansible-Legacy・Ansible-LegacyRoleでのファイル埋込変数の使用例
Ansible共通 ▶ ファイル管理 で登録したファイル素材をPlaybookに記述する場合、ファイル埋込変数名を記述します。
※ファイル名にスペースなどが含まれている場合、適切にクォーテーションで囲まないと、作業実行時にエラーになる場合があります。
e.g.)
  • Ansible共通 ▶ ファイル管理 で登録したhostsファイルをファイル埋込変数を使用して作業対象サーバの/etc/配下にコピーする場合
    1. Ansible共通 ▶ ファイル管理 からhostsファイルを登録します。
      表 1.125 ファイル管理の登録内容

      ファイル埋込変数名

      ファイル素材

      CPF_hosts

      hosts

    2. 下記のようにPlaybookを記述します。
      ※destはファイル名も記述してください。ファイル名の指定がない場合、登録したファイル素材のファイル名の前にITAの管理番号が付与された名前のファイル名で処理されます。
       たとえば、dest=/etc/ とした場合、ファイル名は/etc/36桁の文字列_hostsとなります。
      Playbookの記述
      - copy: src='{{ CPF_hosts }}' dest=/etc/hosts
      
  • Ansible共通 ▶ ファイル管理 で登録したtool.tgzファイルをファイル埋込変数を使用して作業対象サーバの/usr/local/bin/配下に解凍する場合
    1. Ansible共通 ▶ ファイル管理 からtool.tgzファイルを登録します。
      表 1.126 ファイル管理の登録内容

      ファイル埋込変数名

      ファイル素材

      CPF_tool_tgz

      tool.tgz

    2. 下記のようにPlaybookを記述します。
      Playbookの記述
      - unarchive: src={{ CPF_tool_tgz }} dest=/usr/local/bin
      

Tip

Ansible-Pioneerでのファイル埋込変数の使用例
Ansible共通 ▶ ファイル管理 で登録したファイル素材を対話ファイルに記述する場合、対話ファイルにファイル埋込変数名を記述します。
※ファイル名にスペースなどが含まれている場合、適切にクォーテーションで囲まないと、作業実行時にエラーになる場合があります。
e.g.)
  • Ansible共通 ▶ ファイル管理 で登録したhostsファイルをファイル埋込変数を使用して作業対象サーバの/etc/配下にコピーする場合
    1. Ansible共通 ▶ ファイル管理 からhostsファイルを登録します。
      表 1.127 ファイル管理の登録内容

      ファイル埋込変数名

      ファイル素材

      CPF_hosts

      hosts

    2. 下記のように対話ファイルを記述します。
      ※転送先はファイル名も記述してください。ファイル名の指定がない場合、登録したファイル素材のファイル名の前にITAの管理番号が付与された名前のファイル名で処理されます。
       たとえば、/etc/. とした場合、ファイル名は/etc/36桁の文字列_hostsとなります。
      対話ファイルの記述
      conf:
        # ファイルのサイズでタイマ値調整
        timeout: 60
      exec_list:
        # 対象機器へのログインパスワード認証
        - expect: 'password:'
          exec: '{{ __loginpassword__ }}'
        # 作業対象側よりscpコマンドでAAC側に配置されているファイルを作業対象にファイル転送
        - expect: '{{ __loginuser__ }}@{{ __dnshostname__ }}'
          exec: 'scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null {{ VAR_scp_user }}@{{ VAR_aac_host }}:{{ CPF_hosts }} /etc/hosts'
        # scpコマンドのパスワードログイン認証(AAC側)
        - expect: 'password:'
          exec: '{{ VAR_scp_user_password }}'
        # 対話ファイル終了
        - expect: '{{ __loginuser__ }}@{{ __dnshostname__ }}'
          exec: exit
      
      表 1.128 変数の具体値

      変数

      具体値

      VAR_scp_user

      awx

      VAR_scp_user_password

      awxユーザパスワード

      VAR_aac_host

      Ansible Automation Controller

1.5.6. テンプレート管理

  1. Playbookや対話ファイルで共通利用するテンプレートファイル素材とテンプレート埋込変数のメンテナンス(閲覧/登録/更新/廃止)を行います。
    テンプレートファイル素材を登録しておくことで、Playbook内で使用するテンプレートファイル素材をテンプレート埋込変数で指定することができます。
    サブメニュー画面(テンプレート管理)

    図 1.100 サブメニュー画面(テンプレート管理)

  2. 登録 ボタンより、テンプレート埋込変数の登録を行います。
    登録画面(テンプレート管理)

    図 1.101 登録画面(テンプレート管理)

  3. 登録画面の項目一覧は以下のとおりです。
    表 1.129 登録画面項目一覧(テンプレート管理)

    項目

    説明

    入力必須

    入力方法

    制約事項

    素材ID

    登録時に自動採番した36桁の文字列が表示されます。

    自動入力

    テンプレート埋込変数名

    Playbookに埋め込む変数名を入力します。
    変数名は、「TPF_****」形式で入力します。
    ****:半角英数字とアンダースコア( _ )が利用可能です。(最小値:1バイト、最大値:255バイト)

    手動入力

    説明欄記載のとおり。

    テンプレート素材

    Playbookで使用するテンプレートファイル素材をアップロードします。

    ファイル登録

    テキスト形式
    最大サイズ100Mバイト

    変数定義

    テンプレートファイル素材内で使用している変数を定義します。
    テンプレートファイル素材内で使用出来る変数は5種類あります。※1

    手動入力

    最大長4000バイト

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

警告

テンプレートの変数定義から変数を抽出するタイミング
内部の処理でテンプレートの変数定義から変数を抽出します。抽出した変数は、 各モード ▶ 代入値自動登録設定 で具体値が登録可能になります。
抽出のタイミングはリアルタイムではないので、 各モード ▶ 代入値自動登録設定 で変数が扱えるまでに 時間がかかる 場合があります。

Tip

※1 変数定義の注意事項
テンプレートファイル内で使用する変数は、 変数定義 に入力する必要があります。
テンプレートファイル内で使用出来る変数は5種類あります。変数定義の注意事項は以下のとおりです。
同名の変数をdefault変数定義ファイルなどに定義している場合は、変数構造を合わせる必要があります。変数構造が一致していない場合は登録でエラーとなります。
表 1.130 変数定義の注意事項

種類

注意事項

通常変数

具体値は省略可能です。

e.g.)

vvv: value

複数具体値変数

具体値は省略可能です。

e.g.)

vvv:
  - vaule
vvv: []

多段変数

階層化された変数構造が定義出来ます。

e.g.)

vvv:
  - item1: value       ←メンバー変数
    item2:             ←メンバー変数
vvv:
  - array:
      - item1: value   ←メンバー変数
        item2:         ←メンバー変数

多段変数を定義したテンプレートは、Ansible-LegacyRoleでしか使用できません。

同名の変数をdefault変数定義ファイルなどに定義している場合は、変数構造を合わせる必要があります。変数構造が一致していない場合は登録でエラーとなります。

グローバル変数

具体値は省略可能です。

e.g.)

GBL_xxx: vaule
GBL_xxx_2:

ITA独自変数

変数の定義は不要です。

Tip

各変数名についての補足
vvv: 255バイト以内の半角英数字とアンダースコア( _ )
xxx: 251バイト以内の半角英数字とアンダースコア( _ )
メンバー変数は、下記の7文字を除くascii文字(0x20~0x7e)が使用出来ます。
" . [ ] ' \ :
尚、コーテーションで囲ないと変数名の先頭に使用出来ない文字がいくつかあります。
詳細は、Ansible公式ドキュメントのYaml syntaxを参照してください。

注釈

Ansible-Legacy・Ansible-LegacyRoleでのテンプレート埋込変数の使用例
Ansible共通 ▶ テンプレート管理 で登録したテンプレート素材をPlaybookに記述する場合、テンプレート埋込変数名を記述します。
※ファイル名にスペースなどが含まれている場合、適切にクォーテーションで囲まないと、作業実行時にエラーになる場合があります。
e.g.) Ansible共通 ▶ テンプレート管理 で登録したhostsファイルをテンプレート埋込変数を使用して作業対象サーバの/etc/配下に設置する場合
  1. Ansible共通 ▶ テンプレート管理 からhostsファイルを登録します。
    表 1.131 テンプレート管理の登録内容

    テンプレート埋込変数名

    テンプレート素材

    TPF_hosts

    hosts

  2. 下記のようにPlaybookを記述します。
    ※destはファイル名も記述してください。ファイル名の指定がない場合、登録したテンプレート素材のファイル名の前にITAの管理番号が付与された名前のファイル名で処理されます。
     たとえば、dest=/etc/ とした場合、ファイル名は/etc/36桁の文字列_hostsとなります。
    Playbookの記述
    - template: src='{{ TPF_hosts }}' dest=/etc/hosts
    

注釈

Ansible-Pioneerでのテンプレート埋込変数の使用例
Ansible共通 ▶ テンプレート管理 で登録したテンプレート素材を対話ファイルに記述する場合、テンプレート埋込変数名を記述します。
※ファイル名にスペースなどが含まれている場合、適切にクォーテーションで囲まないと、作業実行時にエラーになる場合があります。
e.g.) Ansible共通 ▶ テンプレート管理 で登録したhostsファイルをテンプレート埋込変数を使用して作業対象サーバの/etc/配下に設置する場合
  1. Ansible共通 ▶ テンプレート管理 からhostsファイルを登録します。
    表 1.132 テンプレート管理の登録内容

    テンプレート埋込変数名

    テンプレート素材

    TPF_hosts

    hosts

  2. 下記のように対話ファイルを記述します。
    ※転送先はファイル名も記述してください。ファイル名の指定がない場合、登録したテンプレート素材のファイル名の前にITAの管理番号が付与された名前のファイル名で処理されます。
     たとえば、/etc/. とした場合、ファイル名は/etc/36桁の文字列_hostsとなります。
    対話ファイルの記述
    conf:
      # ファイルのサイズでタイマ値調整
      timeout: 60
    exec_list:
      # 対象機器へのログインパスワード認証
      - expect: 'password:'
        exec: '{{ __loginpassword__ }}'
      # 作業対象側よりscpコマンドでAAC側に配置されているファイルを作業対象にファイル転送
      - expect: '{{ __loginuser__ }}@{{ __dnshostname__ }}'
        exec: 'scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null {{ VAR_scp_user }}@{{ VAR_aac_host }}:{{ TPF_hosts }} /etc/hosts'
      # scpコマンドのパスワードログイン認証(AAC側)
      - expect: 'password:'
        exec: '{{ VAR_scp_user_password }}'
      # 対話ファイル終了
      - expect: '{{ __loginuser__ }}@{{ __dnshostname__ }}'
        exec: exit
    
    表 1.133 変数の具体値

    変数

    具体値

    VAR_scp_user

    awx

    VAR_scp_user_password

    awxユーザパスワード

    VAR_aac_host

    Ansible Automation Controller

1.5.7. 管理対象外変数リスト

  1. 変数抜出対象資材 」で抜出した変数で、 各モード ▶ 代入値自動登録設定Movement名:変数名 に表示したくない変数のメンテナンス(参照/更新/廃止/復活)を行います。
    ITAインストール時にansibleマジック変数が登録されます。
    サブメニュー画面(管理対象外変数リスト)

    図 1.102 サブメニュー画面(管理対象外変数リスト)

  2. 登録 ボタンより、管理対象外変数の登録を行います。
    登録画面(管理対象外変数リスト)

    図 1.103 登録画面(管理対象外変数リスト)

  3. 登録画面の項目一覧は以下のとおりです。
    表 1.134 登録画面項目一覧(管理対象外変数リスト)

    項目

    注意事項

    入力必須

    入力方法

    制約事項

    項番

    登録時に自動採番した36桁の文字列が表示されます。

    自動入力

    変数名

    各モード ▶ 代入値自動登録設定Movement名:変数名 に表示したくない変数名を入力します。
    変数名は正規表現で記載できます。
    e.g.) ansible_* *:ワイルドカード
    ansible_[0-9a-zA-Z]*

    手動入力

    最大長255バイト

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

1.6. 付録

1.6.1. BackYardコンテンツ

Ansible Automation Controllerデータ同期

Ansible共通 ▶ インターフェース情報実行エンジン で「Ansible Automation Controller」を選択している場合、Ansible Automation Controllerに登録されているリソースを取得します。
表 1.135 Ansible Automation Controllerから取得するリソースと使用用途

リソース

用途

組織名

Ansible共通 ▶ インターフェース情報組織名 のリスト選択で使用されます。
Ansible共通 ▶ インターフェース情報認証トークン で入力しているユーザが利用可能な組織名がリストに表示されます。

インスタンスグループ

Ansible共通 ▶ 機器一覧インスタンスグループ のリスト選択で使用されます。
Ansible共通 ▶ インターフェース情報組織名 で選択している組織が利用可能なインスタンスグループがリストに表示されます。

実行環境

各モード ▶ Movement一覧実行環境 のリスト選択で使用されます。
Ansible共通 ▶ インターフェース情報組織名 で選択している組織が利用可能な実行環境がリストに表示されます。

1.6.2. ITAが作成するインベントリファイル

ITAが作成するインベントリファイルについて説明します。
ITAが作成するインベントリファイルを以下に示します。
all:
  children:
    hostgroups:
      hosts:
        Inventory_host:
          Inventory_host_parameters:
          Inventory_host_option_parameters:
Inventory_hostには Ansible共通 ▶ 機器一覧ホスト名 を設定します。
Inventory_host_option_parametersには Ansible共通 ▶ 機器一覧インベントリファイル追加オプション を設定します。
Inventory_host_parametersに設定するパラメータを以下に示します。
各設定値に対応する項目が未入力のパラメータは、Inventory_host_parametersに設定しません。
表 1.136 Inventory_host_parametersに設定するパラメータ一覧

パラメータ名

Ansible共通 ▶ 機器一覧認証方式

設定値

パスワード認証

鍵認証

(パスフレーズなし)

鍵認証

(パスフレーズあり)

鍵認証

(鍵交換済み)

パスワード認証

認証(winrm)

ansible_host

Ansible共通 ▶ 機器一覧DNSホスト または DNSホストIPアドレス 各モード ▶ Movement一覧ホスト指定形式 で選択されている内容にで決まります。

ansible_user

Ansible共通 ▶ 機器一覧ログインユーザ

ansible_password

Ansible共通 ▶ 機器一覧ログインパスワード

ansible_ssh_private_key_file

Ansible共通 ▶ 機器一覧ssh秘密鍵ファイル

ansible_ssh_extra_args

Ansible共通 ▶ 機器一覧接続オプション

ansible_connection:

winrm

ansible_port

Ansible共通 ▶ 機器一覧WinRM接続情報 ▶ ポート番号

ansible_winrm_ca_trust_path

Ansible共通 ▶ 機器一覧WinRM接続情報 ▶ サーバ証明書

Tip

〇: 設定対象

1.6.3. オプションパラメータ一覧

Ansible共通 ▶ インターフェース情報各モード ▶ Movement一覧オプションパラメータ について説明します。
ITAでは、以下の優先順位でオプションパラメータを設定します。単一の値しか許容していないパラメータを複数定義した場合、 各モード ▶ Movement一覧オプションパラメータ が有効になります。
  1. 各モード ▶ Movement一覧オプションパラメータ
  2. Ansible共通 ▶ インターフェース情報オプションパラメータ
Ansible共通 ▶ インターフェース情報実行エンジン が「Ansible Core」の場合
  ansible-playbookコマンドのオプションパラメータを入力します。
  ansible-playbookコマンドのオプションパラメータの仕様については、以下のコマンドを実行して表示されたヘルプを参照してください。
ansible-playbook -h

Ansible共通 ▶ インターフェース情報実行エンジン が「Ansible Automation Controller」の場合に
  入力可能なオプションパラメータは以下のとおりです。

表 1.137 Ansible Automation Controllerの場合に指定可能なオプションパラメータ一覧

オプションパラメータ

指定方法

Ansible Automation Controllerの設定箇所

備考

-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の値が設定される。

・EXTRA_VARS:変数名、具体値をjson形式またはyaml形式
e.g.) json形式の場合
 -extra-vars={"VAR_1":"directory"}
e.g.) yaml形式の場合
 -extra-vars=VAR_1:directory
・複数定義した場合、最後に定義したパラメータが有効
-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:スキップタグ名
・複数個のパラメータを許容

--start-at-task

--start-at-task=START_AT_TASK

※Ansible Automation ControllerのWebUI には--start-at-taskの表示はありません。
ansible-playbookコマンドの--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のオプションパラメータの仕様については、Ansible Automation Controller公式マニュアルのユーザガイドのジョブテンプレートを参照してください。

1.6.4. 実行時データ削除で削除されるデータリソース

Ansible共通 ▶ インターフェース情報実行時データ削除 で「true」を選択した場合に、削除されるデータリソースは以下のとおりです。
表 1.138 実行時データ削除で削除されるデータリソース一覧(Ansible Automation Controller側)

データリソース

リソースタイプ

備考

ITA作業用ディレクトリ

/var/lib/exastro/ita_<区分>_executions_作業番号

ディレクトリ

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_作業番号

リソース

表 1.139 実行時データ削除で削除されるデータリソース一覧(ITA側)

データリソース

リソースタイプ

備考

Git リポジトリ

/tmp/git_repositories/<区分>_作業番号

Gitリポジトリ

ディレクトリごと削除

実行時データ削除 の 設定値に関係なく削除される。

1.6.5. Ansible Automation ControllerでITA独自変数を利用する場合の留意事項

下記ITA独自変数を利用してファイル出力をするPlyabookを含むMovementをクラスタ構成のAnsible Automation Controllerで作業実行した場合の留意事項について記載します。

 対象のITA独自変数
 ・ __workflowdir__
 ・ __conductor_workflowdir__
 ・ __movement_status_filepath__
 ・ __parameters_dir_for_epc__
 ・ __parameters_file_dir_for_epc__
 ・ __parameter_dir__
 ・ __parameters_file_dir__

ITA独自変数を利用して作成したファイルの取り扱い

ITA独自変数を利用して作成したファイルの出力先ディレクトリパスはAnsible Automation ControllerのITA作業用ディレクトリ配下「/var/lib/exastro」に設定されます。Movement実行前に結果データをAnsible Automation Controller(各実行ノード)のITA作業用ディレクトリ配下「/var/lib/exastro」にファイル転送します。Movement実行でここに作成されたファイルは、Movement実行後に各Ansible Automation Controller(各実行ノード)より結果データに上書きモードでファイル転送します。同一ファイル名でファイルを作成している場合、更新したファイルが結果データに正しく反映されない場合があります。
../../_images/original_hensu.png
  1. Movementをconductorから実行している場合、Movement実行前に該当conductorインスタンス配下のファイルをAnsible Automation Controller(各実行ノード)のITA作業用ディレクトリ配下にファイル転送
  2. Movement実行前に該当Movement配下のファイルをAnsible Automation Controller(各実行ノード)のITA作業用ディレクトリにファイル転送
  3. Movementをconductorから実行している場合、Movement実行後にAnsible Automation Controller(各実行ノード)のITA作業用ディレクトリの該当Movementで作成したファイルを結果データにファイル転送
  4. Movement実行後にAnsible Automation Controller(各実行ノード)のITA作業用ディレクトリの該当conductorインスタンス配下に作成したファイルを結果データにファイル転送

留意事項

  1. ファイル名はansible「inventory_hostname」を含めるなどして、Movementに紐づいている作業対象ホスト毎に同一ファイル名に出力しないように工夫してください。
  2. conductorから実行する場合、複数のMovementで同一ファイル名への出力しないよう工夫してください。