Ansible-driver

はじめに

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

Ansible driver概要

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

Ansible Coreについて

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

Ansible Automation Controllerについて

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

Ansible driverについて

Ansible driverは、ITAシステムのオプションとして機能し、ITAシステムで登録した構築対象のサーバ・ストレージ・ネットワーク各機器に対し、Ansible Core、Ansible Automation Controllerのどちらを経由するかを選択し、実際の運用設定を自動的に行います。
Exastro概要
Ansible driverには以下のモードを用意しています。
  • Legacy Role モード
    Ansible標準の機能を用いて各種ホストへ設定を投入します。
    構築コードをパッケージとして登録し、作業パターンをRoleの組み合わせで構成します。
    製品部門などが提供するRoleパッケージを用いて、製品のインストール、環境構築などを行う際に使われることを想定します。
また、Ansible driverは、Playbook中の変数を画面から設定することができます。詳細は本書「 Ansible driverでの変数取り扱い 」を参照してください。

Ansible driverでの変数取り扱い

変数の種類

Ansible driverでは、Playbook中の変数の具体値をITAの設定画面から設定することができます。
※設定方法の詳細は、本書「 代入値自動登録設定 」を参照してください。
Playbook中の変数で、ITAの変数として扱える変数は以下の7種類があります。

通常変数

概要

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

playbookにおける表記

書式
変数を使用する際、playbook内の変数を以下とする。
※ユーザ定義範囲の記載ルールはAnsibleルールに準ずる
{{ 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における表記

書式
変数を使用する際、playbook内の変数を以下とする。
※ユーザ定義範囲の記載ルールはAnsibleルールに準ずる
{{ VAR_xxx }}
#xxx: 半角英数字とアンダースコア( _ )
正しい記述例
VAR_users:
    - root
    - mysql
誤った記述例
通常変数の 誤った記述例 を参照してください。

多段変数

概要

階層化された変数です。

playbookにおける表記

書式
変数を使用する際、playbook内の変数を以下とする。
※ユーザ定義範囲の記載ルールはAnsibleルールに準ずる
{{ VAR_xxx }}
#xxx: 半角英数字とアンダースコア( _ )
正しい記述例
VAR_users:
    - user-name: alice
      authorized: password
メンバー変数名は、下記の7文字を除くascii文字(0x20~0x7e)が使用出来ます。
" . [ ] ' \ :
尚、コーテーションで囲まないと変数名の先頭に使用出来ない文字がいくつかあります。
詳しくは、Ansibleドキュメント Yaml syntax を参照してください。
誤った記述例
通常変数の 誤った記述例 を参照してください。

グローバル変数

概要

グローバル変数 メニューから登録された変数です。
ITAWebUI上のグローバル変数管理メニューでグローバル変数を登録する際、
グローバル変数名の接頭文字をGBL_とし、GBL_を含め255Byte以内とする。

playbookにおける表記

書式
変数を使用する際、playbook内の変数を以下とする。
※ユーザ定義範囲の記載ルールはAnsibleルールに準ずる
{{ 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"

テンプレート埋込変数

概要

テンプレート管理 メニューから登録された変数です。
ITAWebUI上のテンプレート管理メニューでテンプレート素材を登録をする際、
テンプレート埋込変数名の接頭文字をTPF_とし、TPF_を含め255Byte以内とする。

playbookにおける表記

書式
変数を使用する際、playbook内の変数を以下とする。
※ユーザ定義範囲の記載ルールはAnsibleルールに準ずる
{{ 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"

ファイル埋込変数

概要

ファイル管理 メニューから登録された変数です。
ITAWebUI上のファイル管理メニューでファイル埋込変数を登録する際、ファイル埋込変数名の接頭文字をCPF_とし、CPF_を含め255Byte以内とする。

playbookにおける表記

書式
変数を使用する際、playbook内の変数を以下とする。
※ユーザ定義範囲の記載ルールはAnsibleルールに準ずる
{{ 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独自変数

概要

ITA 独自で定義された変数です。

機器一覧

基本コンソールの機器一覧の下記項目を変数として扱えます。

項目名

変数名

ホスト名

__loginhostname__

プロトコル

__loginprotocol__

ログインユーザID

__loginuser__

ログインパスワード

__loginpassword__

変数名の前後の「__」は半角アンダーバー2文字です。
機器一覧については、基本コンソール を参照してください。

オペレーション

作業実行時のオペレーションを変数として扱えます。

項目名

変数名

オペレーション

__operation__

設定値 : 実施予定日時「YYYY/MM/DD HH:MM」_オペレーションID:オペレーション名称

データ連携

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

項目名

変数名

作業ディレクトリパス

__workflowdir__

Playbook内で作業ディレクトリパス配下にファイルを作成することで、「作業実行」の結果データでファイルをダウンロードすることができます。
Conductor実行時の各Movementで共有するディレクトリパスを下記の変数として扱えます。

項目名

変数名

Conductor作業ディレクトリパス

__conductor_workflowdir__

Playbook内でConductor作業ディレクトリパス配下にファイルを作成することで、各Movement間でファイルを共有することが出来ます。また、ansible driverの作業実行から実行した場合は__workflowdir__と同じパスが設定されます。
Conductorの「Status file branch」ノードで参照するステータスファイルのファイルパスを下記の変数として扱えます。

項目名

変数名

ステータスファイルパス

__movement_status_filepath__

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

ITAにアップロードしたPlaybook等の資材から変数を抜出し、各メニューから具体値を登録できます。各メニューから登録した変数の具体値は、作業実行時にホスト変数ファイルに出力されます。
変数の抜出方法は以下のとおりです。
  1. Ansible-Legacy Role
    「ロールパッケージ管理 (本書: ロールパッケージ管理 )」でアップロードしたロールパッケージ内のdefaults変数定義ファイルより変数定義の抜出を行います。
    詳しくは「ロールパッケージの記述(本書: ロールパッケージ管理 )」を参照してください。
    また、アップロードしたロールパッケージ内のplaybookより、以下の書式の変数定義を抜出します。
    表 96 変数の抜出および具体値登録(Ansible-Legacy Role)

    変数名

    書式

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

    具体値の設定

    tasks

    templates

    handlers

    meta

    その他

    グローバル変数

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

    ×

    具体値の登録は「 グローバル変数管理 」メニューより行います。

    テンプレート埋込変数

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

    具体値の登録は「テンプレート管理」メニューより行います。

    ファイル埋込変数

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

    具体値の登録は「ファイル管理」メニューより行います。

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

代入値登録による変数の扱い

Playbookで定義した変数の値は代入値登録機能により上書きすることができます。
Playbook中の変数と、代入値管理機能で登録した変数の値の関係を、以下の図に示します。
../../../../_images/hensu.png
代入値管理機能で登録した変数の値は、各ホスト用に変数定義ファイル(host_vars)に出力され、Ansibleで元のPlaybookと変数定義用ファイルを入力として各ホストに実行されます。
この結果、変数の値の優先順位は以下のようになります。
  1. 代入値管理機能で登録した値
  2. Playbook中の変数に指定した値
    詳細は 「 代入値管理 」を参照してください。

Ansible driver コンソールメニュー構成

本章では、ITAコンソールのメニュー構成について説明します。

メニュー/画面一覧

  1. ITA 基本コンソールのメニュー
    Ansible driverで利用するITA基本コンソールのメニュー一覧を以下に記述します。
    表 97 基本コンソール メニュー/画面一覧

    No

    メニューグループ

    メニュー・画面

    説明

    1

    基本コンソール

    オペレーション一覧

    オペレーション一覧をメンテナンス(閲覧/登録/更新/廃止)できます

  2. Ansible共通コンソールのメニュー
    Ansible共通コンソールのメニュー一覧を以下に記述します。
    表 98 共通コンソール メニュー/画面一覧

    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機能をインストールした状態では表示されないメニューに設定されています。
    非表示メニューを表示するには、管理コンソール‣ロール・メニュー紐付管理 で各メニューの復活処理を行います。詳細は 管理コンソール を参照してください。
  3. Ansibleコンソールのメニュー
    各Ansibleコンソールに対応するメニュー一覧を以下に記述します。
    表 99 Ansible-LegacyRoleコンソール メニュー/画面一覧

    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コンソールの利用手順について説明します。

Ansible-LegacyRole作業フロー

以下は、Ansible-LegacyRoleで作業を実行するまでの流れです。
  • 作業フロー詳細と参照先

    1. 機器情報にAnsible利用情報を設定
      Ansible共通コンソールの機器一覧の画面から、各機器に対してAnsible利用情報を設定します。
      詳細は 機器一覧 を参照してください。
    2. 投入オペレーション名の登録
      ITA基本コンソールのオペレーション一覧の画面から、作業用の投入オペレーション名を登録します。
      詳細は オペレーション一覧 を参照してください。
    3. インターフェース情報の登録
      Ansible共通コンソールのインターフェース情報の画面から、Ansible Core、Ansible Automation Controllerサーバのどちらを実行エンジンにするかを選択し、実行エンジンのサーバへの接続情報を登録します。
      詳細は インターフェース情報 を参照してください。
    4. 作業パターン(Movement)の登録
      Ansible-LegacyRoleコンソールのMovement一覧の画面から、作業用のMovementを登録します。
      詳細は Movement一覧 を参照してください。
    5. ロールパッケージの登録
      Ansible-LegacyRoleコンソールのロールパッケージ管理の画面から、作業で使用するロールパッケージを登録します。
      詳細は ロールパッケージ管理 を参照してください。
    6. グローバル変数の登録(必要に応じて実施)
      Ansible共通コンソールのグローバル変数管理の画面から、Playbookで使用するグローバル変数を登録します。
      詳細は グローバル変数管理 を参照してください。
    7. 素材ファイルの登録(必要に応じて実施)
      Ansible共通コンソールのファイル管理の画面から、作業対象サーバに配置するファイルを登録します。
      詳細は ファイル管理 を参照してください。
    8. テンプレートファイルの登録(必要に応じて実施)
      Ansible共通コンソールのテンプレート管理の画面から、ロールパッケージのtemplateモジュールなどで使用しているテンプレートファイル(src: で指定する素材)とテンプレート埋込変数を登録します。
      詳細は テンプレート管理 を参照してください。
    9. 管理対象外変数の登録(必要に応じて実施)
      Ansible共通コンソールの管理対象外変数リストの画面から、ロールパッケージ管理のデフォルト変数定義やテンプレート管理の変数定義で定義している変数で、代入値自動登録の変数一覧に表示したくない変数を登録します。
      詳細は 管理対象外変数リスト を参照してください。
    10. Movementにロールパッケージを指定
      Ansible-LegacyRoleコンソールのMovement-ロール紐付の画面から、登録したMovementにロールパッケージを指定します。
      詳細は Movement-ロール紐付 を参照してください。
    11. 多段変数の最大繰返数を指定(必要に応じて実施)
      Ansible-LegacyRoleコンソールの多段変数最大繰返管理の画面から、多段変数で配列定義されているメンバー変数の配列の最大繰返数を指定します。
      詳細は 変数ネスト管理 を参照してください。
    12. パラメータシートの作成
      メニュー作成コンソールのメニュー作成・定義の画面から、作業対象サーバの設定に使用するデータを登録するためのメニューを作成します。
      詳細は メニュー作成機能 を参照してください。
    13. パラメータシートにデータを登録
      入力用コンソールの前項で作成したパラメータシート画面から、作業対象サーバの設定に使用するデータを登録します。
      詳細は メニュー作成機能 を参照してください。
    14. 代入値自動登録設定
      Ansible-LegacyRoleコンソールの代入値自動登録設定の画面から、パラメータシートに登録されているオペレーションとホスト毎の項目の設定値と、Movementの変数を紐付けます。
      詳細は 代入値自動登録設定 を参照してください。
    15. 作業実行
      Ansible-LegacyRoleコンソールの作業実行の画面から、Movementと投入オペレーションを選択して処理の実行を行います。
      詳細は 作業実行 を参照してください。
    16. 作業状態確認
      Ansible-LegacyRoleコンソールの作業状態確認の画面から、実行した作業の状態がリアルタイムで表示されます。また、作業の緊急停止や、実行ログ、エラーログを監視することができます。
      詳細は 作業状態確認 を参照してください。
    17. 作業履歴確認
      Ansible-LegacyRoleコンソールの作業管理の画面から、実行した作業の一覧が表示され履歴が確認できます。
      詳細は 作業管理 を参照してください。

Ansible driver機能・操作方法説明

本章では、Ansible driverで利用する各コンソールの機能について説明します。
本章に記載の登録画面項目一覧表の内容について説明します。
表 100 登録画面項目一覧凡例

項目…①

説明…②

入力必須…③

入力方法…④

制約事項…⑤

  1. 項目
    サブメニュー内の項目名です。
  2. 説明
    項目に対する説明です。
  3. 入力必須
    ○:項目に対する内容の入力が必須の項目です。
    ー:項目に対する内容の入力が任意の項目です。
  4. 入力方法
    • 手動入力:手動での入力が必要な項目です。
    • 自動入力:自動で内容が入力される項目です。
    • チェックボックス:チェックボックス形式の項目です。
    • ボタン:ラジオボタン形式の項目です。
    • リスト選択:リストボックス形式の項目です。
  5. 制約事項
    項目に対する制約事項(文字数制限など)です。

基本コンソール

本節では、ITA基本コンソールでの操作について記載します。
本作業は 基本コンソール を参照して、ITA基本コンソール画面内で作業を実施してください。

オペレーション一覧

基本コンソール‣オペレーション一覧 では、オーケストレータで実行する作業対象ホストに対するオペレーションを管理します。作業はITA基本コンソール内メニューより選択します。
登録方法の詳細は、関連マニュアルの 基本コンソール を参照してください。
サブメニュー画面(オペレーション一覧)

図 67 サブメニュー画面(オペレーション一覧)

Ansible共通コンソール

本節では、Ansible共通コンソールでの操作について記載します。

機器一覧

  1. Ansible共通‣機器一覧 では、作業対象ホストの情報のメンテナンス(閲覧/登録/更新/廃止)を行います。
    サブメニュー画面(機器一覧)

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

  2. + 登録 ボタンより、機器情報の登録を行います。
    登録画面(機器一覧)

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

  3. 登録画面の共通項目一覧は以下のとおりです。
    Ansible driverを利用する場合には、Ansible利用情報を入力してください。
    未入力で作業実行した場合、想定外エラーとなる場合があります。
    表 101 登録画面項目一覧(機器一覧)

    項目

    説明

    入力必須

    入力方法

    制約事項

    管理システム項番

    登録情報を識別する一意の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/ を設定します。
      ../../../../_images/ansible_automationcontroller.png
      尚、AnsibleTower4.x以降、awxユーザーの.sshディレクトリが扱えない為、作業対象ホストと鍵認証(鍵交換済み)での接続は出来ません。

    注釈

    ※2 Ansible driverのバックヤード機能 「Ansible Automation Controllerデータ同期」により取得したデータから選択します。

インターフェース情報

  1. Ansible共通‣インターフェース情報 では、Ansible Core、AnsibleTower、Ansible Automation Controllerのいずれかを実行エンジンに選択し、ITAシステム・Ansible driverサーバと実行エンジンのサーバが共有するディレクトリのパスのおよび実行エンジンのサーバへの接続インターフェース情報のメンテナンス(閲覧/更新)を行います。
    サブメニュー画面(インタフェース情報)

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

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

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

  3. インタフェース情報画面の項目一覧は以下のとおりです。
    インタフェース情報が未登録または、複数レコード登録されている状態で作業実行した場合、作業実行は想定外エラーとなります。
    表 102 登録画面項目一覧(インタフェース情報)

    項目

    説明

    入力必須

    入力方法

    制約事項

    実行エンジン

    実行するエンジンを下記の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 ホスト一覧

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

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

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

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

  3. Ansible Automation Controller ホスト一覧画面の項目一覧は以下のとおりです。
    表 103 登録画面項目一覧(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にコピーして下さい。

グローバル変数管理

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

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

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

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

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

    項目

    説明

    入力必須

    入力方法

    制約事項

    グローバル変数名

    変数名を入力します。

    変数名は、「GBL_****」形式で入力します。

    **** :半角英数字とアンダースコア( _ )が利用可能です。(最小値:1バイト、最大値:255バイト)

    手動入力

    説明欄記載のとおり

    具体値

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

    手動入力

    最大長4000バイト

    変数名説明

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

    手動入力

    最大長4000バイト

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

ファイル管理

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

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

  2. + 登録 ボタンより、ファイル管理情報の登録を行います。
    登録画面(ファイル管理)

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

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

    項目

    説明

    入力必須

    入力方法

    制約事項

    ファイル埋込

    変数名

    各モジュールのパラメータに埋め込む変数名を入力します。

    変数名は、「CPF_****」形式で入力します。

    ****:半角英数字とアンダースコア( _ )が利用可能です。(最小値:1バイト、最大値:128バイト)

    手動入力

    説明欄記載のとおり

    ファイル素材

    各モジュールで使用するファイルをアップロードします。

    ファイル登録

    最大サイズ100Mバイト

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

注釈

ファイル埋込変数の使用例
ファイル管理で登録したファイルをPlaybookに記述する場合、該当のパラメータにファイル埋込変数名を記述します。ファイル埋込変数名を使用しない場合、代入値自動登録設定で登録した変数や該当ファイルのパスを記述します。
※ファイル名にスペースなどが含まれている場合、適切にクォーテーションで囲まないと、作業実行時にエラーになる場合があります。
Exp)
  • ファイル管理で登録したhostsファイルをファイル埋め込み変数を使用して作業対象サーバの/etc/配下にコピーする場合
    1. ファイル管理メニューから下記のようにhostsファイルを登録します。
      表 106 ファイル管理の登録内容

      ファイル埋込変数名

      ファイル素材

      CPF_hosts

      hosts

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

      ファイル埋込変数名

      ファイル素材

      CPF_tool_tgz

      tool.tgz

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

テンプレート管理

  1. Ansible共通‣テンプレート管理 では、Playbookで定義しているtemplateモジュールやios_configモジュールなどのパラメータで使用するJinja2テンプレートファイルとテンプレート埋込変数のメンテナンス(閲覧/登録/更新/廃止)を行います。
    テンプレート管理でテンプレート素材を登録しておくことで、Playbook内で定義しているtemplateモジュールなどで使用するtemplateファイルをテンプレート埋込変数で指定することができます。
    サブメニュー画面(テンプレート管理)

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

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

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

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

    項目

    説明

    入力必須

    入力方法

    制約事項

    テンプレート埋込変数名

    templateモジュールやios_configモジュールなどのパラメータに埋め込む変数名を入力します。
    変数名は、「TPF_****」形式で入力します。
    ****:半角英数字とアンダースコア( _ )が利用可能です。(最小値:1バイト、最大値:255バイト)

    手動入力

    説明欄記載のとおり

    テンプレート素材

    モジュールのパラメータで使用するJinja2テンプレートファイルをアップロードします。

    ファイル登録

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

    変数定義

    テンプレート素材で使用している変数を定義します。
    具体値は定義のみで使用することはありません。
    Ansible-LegacyRoleのみで使用するテンプレートで、default変数定義ファイルなどに変数定義をしている場合、変数定義は省略できます。
    同名の変数を複数のテンプレートで使用する場合、変数定義を合わせる必要があります。変数定義が一致していない場合は登録でエラーとなります。
    変数定義はAnsibleの仕様に準拠していますが、ITA独自仕様があります。変数名の命名規則は「 変数の種類 」と同様です。

    手動入力

    最大長4000バイト

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

警告

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

Tip

変数定義の留意事項
変数定義の留意事項は以下のとおりです。
表 109 変数定義の留意事項

種類

留意事項

通常変数

具体値は省略可能です。

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独自変数

変数の定義は不要です。

注釈

テンプレート埋込変数の使用例
テンプレート管理で登録したテンプレートをPlaybookに記述する場合、該当のパラメータにテンプレート埋込変数名を記述します。テンプレート埋込変数名を使用しない場合、代入値自動登録設定で登録した変数や該当ファイルのパスを記述します。
※ファイル名にスペースなどが含まれている場合、適切にクォーテーションで囲まないと、作業実行時にエラーになる場合があります。
Exp) テンプレート管理で登録したhostsファイルをテンプレート埋込変数を使用して作業対象サーバの/etc/配下に設置する場合
  1. テンプレート管理メニューから下記のようにhostsファイルを登録します。
    表 110 テンプレート管理の登録内容

    テンプレート埋込変数名

    テンプレート素材

    TPF_hosts

    hosts

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

管理対象外変数リスト

  1. Ansible共通‣管理対象外変数リスト では、ロールパッケージ管理のデフォルト変数定義やテンプレート管理の変数定義で定義している変数で、代入値自動登録の変数一覧に表示したくない変数のメンテナンス(参照/更新/廃止/復活)を行います。
    サブメニュー画面(管理対象外変数リスト)

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

  2. + 登録 ボタンより、オペレーション情報の登録を行います。
    登録画面(管理対象外変数リスト)

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

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

    コマンド

    注意事項

    入力必須

    入力方法

    制約事項

    変数名

    ロールパッケージ管理のデフォルト変数定義やテンプレート管理の変数定義で定義している変数で、代入値自動登録の変数一覧に表示したくない変数名を入力します。

    手動入力

    説明欄記載のとおり

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

Ansible-LegacyRoleコンソール

Ansible-LegacyRoleコンソールの操作です。

Movement一覧

  1. Ansible-LegacyRole‣Movement一覧 ではMovement名のメンテナンス(閲覧/登録/更新/廃止)を行います。
    サブメニュー画面(Movement一覧)

    図 82 サブメニュー画面(Movement一覧)

  2. + 登録 ボタンより、Movement情報の登録を行います。
    登録画面(Movement一覧)

    図 83 登録画面(Movement一覧)

  3. 登録画面の項目一覧は以下のとおりです。
    表 112 登録画面項目一覧(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とみなします。

ロールパッケージ管理

  1. ユーザーが作成したロールパッケージファイルのメンテナンス(閲覧/登録/更新/廃止)を行います。
    ロールパッケージファイルは、「roles」のある階層のディレクトリをzipにて圧縮したものを登録してください。ロールパッケージディレクトリ構成などは「 ロールパッケージ(Ansible-Legacy Role)の記述 」を参照してください。
    サブメニュー画面(ロールパッケージ管理)

    図 84 サブメニュー画面(ロールパッケージ管理)

  2. + 登録 ボタンより、ロールパッケージ情報の登録を行います。
    登録画面(ロールパッケージ管理)

    図 85 登録画面(ロールパッケージ管理)

  3. 登録画面の項目一覧は以下のとおりです。
    表 113 登録画面項目一覧(ロールパッケージ管理)

    項目

    説明

    入力必須

    入力方法

    制約事項

    ロールパッケージ名

    ITAで管理するロールパッケージ名を入力します。

    手動入力

    最大長255バイト

    ロールパッケージファイル

    作成したロールパッケージファイル(zip形式)をアップロードします。

    アップロードするロールパッケージファイルに含まれるPlaybookファイルは文字コードがUTF-8でBOMなしで作成してください。

    UTF-8でBOMなし以外のPlaybookファイルが含まれていると登録時にエラーとなります。

    詳しくは、「 ロールパッケージ(Ansible-Legacy Role)の記述 」を参照してください。

    ファイル選択

    最大サイズ100Mバイト

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

警告

ロールパッケージ内に定義した変数を取り出すタイミング
内部の処理でロールパッケージ内に定義している変数を取り出します。取り出した変数は、「 代入値自動登録設定 」で具体値の登録が可能になります。
抜出するタイミングはリアルタイムではありませんので、「 代入値自動登録設定 」で変数が扱えるまでに 時間がかかる 場合があります。

Movement-ロール紐付

  1. Movementで実行するロールパッケージのメンテナンス(閲覧/登録/更新/廃止)を行います。
    サブメニュー画面(Movement-ロール紐付)

    図 86 サブメニュー画面(Movement-ロール紐付)

  2. + 登録 ボタンより、Movement-ロール紐付の登録を行います。
    登録画面(Movement-ロール紐付)

    図 87 登録画面(Movement-ロール紐付)

  3. 登録画面の項目一覧は以下のとおりです。
    表 114 登録画面項目一覧(Movement-ロール紐付)

    項目

    説明

    入力必須

    入力方法

    制約事項

    Movement

    Movement一覧で登録したMovementが表示されます。

    リスト選択

    ロールパッケージ名

    ロールパッケージ管理で登録したロールパッケージが表示されます。実行するロールパッケージを選択します。

    同一Movementに複数のロールパッケージは登録出来ません。

    リスト選択

    ロール名

    ロールパッケージ名で選択したロールパッケージに含まれているロール名が表示されます。実行するロールパッケージ内のロールを選択します。

    インクルード順序

    ロールの実行順序(1~:一意値)を入力します。

    入力されたインクルード順序(昇順)でロールが実行されます。

    手動入力

    半角整数

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

変数ネスト管理

  1. Ansible-LegacyRole‣変数ネスト管理 では、「 ロールパッケージ管理 」で登録したロールパッケージで定義されている多段変数内で繰返配列定義されているメンバー変数の配列の最大繰返数のメンテナンス(閲覧/更新)を行います。
    サブメニュー画面(変数ネスト管理)

    図 88 サブメニュー画面(変数ネスト管理)

  2. 編集 ボタンより最大繰返数の更新を行います。
    登録画面(変数ネスト管理)

    図 89 登録画面(変数ネスト管理)

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

    項目

    説明

    入力必須

    入力方法

    制約事項

    最大繰返数

    配列の最大繰返数を1~99,999,999の範囲で入力します。

    手動入力

    入力値1~99,999,999

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

警告

初期登録および繰返数の更新タイミング
内部の処理でロールパッケージ内に定義している多段変数繰返配列で定義されているメンバー変数の繰返数を初期登録します。初期登録後、変数ネスト管理で繰返数を更新することが出来ます。
なお、初期登録および繰返数の更新はリアルタイムではないので、「 代入値自動登録設定 」で変数が扱えるまでに 時間がかかる 場合があります。

代入値自動登録設定

  1. メニュー作成機能で作成したパラメータシートの項目の設定値とMovementの変数を紐付けます。登録した情報は内部の処理により代入値管理と作業対象ホストに反映されます。
    サブメニュー画面(代入値自動登録設定)

    図 90 サブメニュー画面(代入値自動登録設定)

  2. + 登録 ボタンより代入値自動登録設定を行います。
    登録画面(代入値自動登録設定)

    図 91 登録画面(代入値自動登録設定)

  3. 登録画面の項目一覧は以下のとおりです。
    表 116 登録画面項目一覧(代入値自動登録設定)

    項目

    説明

    入力必須

    入力方法

    制約事項

    パラメータシート(From)

    メニューグループ:メニュー:項目

    メニュー作成機能で作成したパラメータシートの項目が表示されます。

    対象の項目を選択します。

    リスト選択

    代入順序

    メニュー作成機能で作成したパラメータシートが縦型メニューの場合、パラメータシートで登録している代入順序を入力します。

    ※1

    手動入力

    1~2147483647

    登録方式

    Value型:項目の設定値を紐付けた変数の具体値とする場合に選択します。

    Key型:項目の名称を紐付けた変数の具体値とする場合に選択します。

    項目の設定値が空白の場合は紐付け対象外となります。

    リスト選択

    Movement名

    Movement一覧で登録したMovementが表示されます。

    Movementを選択します。

    リスト選択

    IaC変数(To)

    Movement名:変数名

    Movement-ロール紐付で登録した資材で使用している変数が表示されます。

    具体値に紐付けたい変数を選択します。

    リスト選択

    Movement名:変数名:メンバー変数

    変数名で多段変数を選択した場合に多段変数のメンバー変数が表示されます。

    メンバー変数を選択します。

    ※2

    リスト選択

    代入順序

    複数具体値が設定できる変数の場合のみ必須入力になります。

    具体値の代入順序(1~)を入力します。入力値に従い昇順で代入されます。具体値が複数ない場合でも代入順序(1~)を入力します。

    ※3

    手動入力

    1~2147483647

    NULL連携

    パラメータシートの具体値がNULL(空白)の場合に、代入値管理への登録をNULL(空白)の値で行うか設定します。

    ・「True」の場合、パラメータシートの値がどのような値でも代入値管理への登録が行われます。

    ・「False」の場合、パラメータシートに値が入っている場合のみ代入値管理への登録が行われます。

    ・空白の場合、Ansibleインターフェース情報の「NULL連携」の値が適用されます。

    ※4

    リスト選択

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

    ※1:パラメータシート(縦メニュー)を使用する場合のみ必須
    ※2:選択した変数が多段変数の場合のみ必須
    ※3:選択した変数が複数具体値設定可能な変数の場合のみ必須
    ※4:任意

注釈

パラメータシート(縦メニュー)の場合
パラメータシート(縦メニュー)のリピート設定されている項目とMovementの変数を紐付ける場合、 Ansible-LegacyRole‣代入値自動登録設定 でパラメータシート(From) の代入順序を入力する必要があります。
パラメータシート(縦メニュー)と代入値自動登録設定の関係を以下の図に示します。
パラメータシート(縦メニュー)使用時の代入値自動登録設定登録方法

注釈

メンバー変数の選択
多段変数の場合にのみメンバー変数の選択が必要になります。メンバー変数に表示される変数は具体値を必要とする変数のみです。
メンバー変数名の表示は各階層の変数を「.」でスコープします。
繰返配列の場合は「[ ]」で繰返位置(0~)をスコープします。繰返し配列の数は「 変数ネスト管理 」で設定を行います。

e.g.) 代入値自動登録設定で選択できるメンバー変数と変数ネスト管理で最大繰返数を更新後に選択できるメンバー変数の確認
  1. 下記のようにロールパッケージの変数定義ファイル(defaults/main.yml)に変数を定義して、 Ansible-LegacyRole‣ロールパッケージ管理 でロールパッケージを登録します。
    変数定義ファイルの記述内容
    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
    
  2. 1. のように変数を定義してロールパッケージを登録した場合、 Ansible-LegacyRole‣変数ネスト管理 には下記のように登録され、 Ansible-LegacyRole‣代入値自動登録設定 ではデフォルトで下記のメンバー変数が選択できます。
    表 117 変数ネスト管理の登録内容

    変数名

    メンバー変数名

    最大繰返数

    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

    表 118 代入値自動登録設定で選択可能なメンバー変数

    変数名

    メンバー変数名

    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

  3. Ansible-LegacyRole‣変数ネスト管理 でメンバー変数「0.user.root.prod」の最大繰返数を初期値"1"から"3"に更新します。
    表 119 変数ネスト管理の更新内容

    変数名

    メンバー変数名

    最大繰返数

    VAR_aaaa

    0.user.root.prod

    3

  4. 3. のようにメンバー変数を更新した場合、 Ansible-LegacyRole‣代入値自動登録設定 で選択できるメンバー変数も下記のように更新されます。
    (メンバー変数 [0].user.root[0].prod[1].prod_user と [0].user.root[0].prod[2].prod_user がプルダウンに追加されました。)
    表 120 代入値自動登録設定で選択可能なメンバー変数

    変数名

    メンバー変数名

    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

注釈

代入順序の入力
変数名またはメンバー変数名を選択することで、複数具体値変数の場合のみ代入順序が入力可能となります。複数具体値変数の場合に入力してください。
特定の複数具体値変数に対して代入順序が連続していなくても問題ありません。

e.g.)複数具体値変数に代入順序を入力して作業実行する場合
  1. 下記のようにロールパッケージの変数定義ファイル(defaults/main.yml)に変数を定義して、 Ansible-LegacyRole‣ロールパッケージ管理 でロールパッケージを登録します。
    変数定義ファイルの記述内容
    VAR_substitutionA:
      - user-name
      - group-name
      - meta-name
    
    VAR_substitutionB:
      - login
      - authorized
      - space
      - cluster
    
  2. Ansible-LegacyRole‣代入値自動登録設定 で紐付対象メニューに登録されている項目の設定値とRole内の変数を紐付けします。
    表 121 紐付対象メニュー(sample-menu)の登録内容

    ホスト名

    オペレーション名

    パラメータ

    項目1

    項目2

    項目3

    項目4

    test-host

    test-ope

    value1

    value2

    value3

    value4

    表 122 代入値自動登録設定の登録内容

    メニュー名

    項目

    変数名

    代入順序

    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

  3. 作業実行時、投入データ(InputData_xxxx.zip)内のホスト変数ファイル(host_vars/test-host)には、代入値自動登録設定で登録した変数が下記のように出力されます。
    ホスト変数ファイルへの出力内容
    VAR_substitutionA:
      - value2
      - value3
      - value1
    VAR_substitutionB:
      - value3
      - value1
      - value4
      - value2
    

注釈

ホスト変数ファイルへの出力
代入値自動登録設定で具体値を登録した変数のみが作業実行時にホスト変数ファイルへ出力されます。
多段変数も同様で具体値を登録しているメンバー変数のみとなります。

e.g.) 代入値自動登録設定で具体値を登録した変数と作業実行時にホスト変数ファイルに出力される変数の確認
  1. 下記のようにロールパッケージの変数定義ファイル(defaults/main.yml)に変数を定義して、 Ansible-LegacyRole‣ロールパッケージ管理 でロールパッケージを登録します。
    変数定義ファイルの記述内容
    VAR_output:
      - name: alice
        group: root
        user:
          root:
            - craete_users:
              prod:
                - prod_user: user1
              dev:
                - dev_user: user2
    
  2. Ansible-LegacyRole‣代入値自動登録設定 で紐付対象メニューに登録されている項目の設定値とRole内の変数を紐付けします。
    表 123 紐付対象メニュー(sample-menu)の登録内容

    ホスト名

    オペレーション名

    パラメータ

    項目1

    項目2

    test-host

    test-ope

    value1

    value2

    表 124 代入値自動登録設定の登録内容

    メニュー名

    項目

    変数名

    メンバー変数名

    sample-menu

    項目1

    VAR_output

    [0].name

    sample-menu

    項目2

    VAR_output

    [0].user.root[0].dev[0].dev_user

  3. 作業実行時、投入データ(InputData_xxxx.zip)内のホスト変数ファイル(host_vars/test-host)には、代入値自動登録設定で登録した変数が下記のように出力されます。
    ホスト変数ファイルへの出力内容
    VAR_output:
      - name: value1
        user:
          root:
          - dev:
            - dev_user: value2
    

注釈

ファイル埋込変数とテンプレート埋込変数をPlaybookの変数に紐付して使用する例
「Ansible共通:ファイル管理:ファイル埋込変数名」「Ansible共通:テンプレート管理:テンプレート埋込変数名」をパラメータシートの項目として代入値自動登録設定で使用した場合、項目の設定値は選択されている変数名となり、紐付している変数の具体値は '{{ 変数名 }}' として代入値管理に反映されます。
ファイルパスはITAが作業実行時に配置したファイルパスをホスト変数経由でansibleが解釈し処理します。
e.g.) ファイル埋込変数 CPF_test とテンプレート埋込変数 TPF_sample を代入値自動登録設定でPlaybookの変数に紐付して使用する場合
  1. Ansible共通‣ファイル管理/テンプレート管理 で下記のように登録します。
    表 125 ファイル管理の登録内容

    ファイル埋込変数名

    ファイル素材

    CPF_test

    test_file.txt

    表 126 テンプレート管理の登録内容

    テンプレート埋込変数名

    テンプレート素材

    TPF_sample

    sample.tpl

  2. メニュー作成‣メニュー定義・作成 で「Ansible共通:ファイル管理:ファイル埋込変数名」「Ansible共通:テンプレート管理:テンプレート埋込変数名」をパラメータシートの項目としてメニュー作成後、 入力用‣サンプルパラメータシート(メニュー名) で項目の設定値としてファイル埋込変数とテンプレート埋込変数を登録します。
    メニュー定義・作成画面

    図 92 メニュー定義・作成画面

    表 127 サンプルパラメータシート(メニュー名)の登録内容

    ホスト名

    オペレーション名

    パラメータ

    ファイル管理

    テンプレート管理

    test-host

    test-ope

    CPF_test

    TPF_sample

  3. Ansible-LegacyRole‣代入値自動登録設定 で2. のパラメータシートに登録した項目の設定値とPlaybookの変数を紐付して Ansible-LegacyRole‣作業実行 で作業実行します。
    表 128 代入値自動登録設定の登録内容

    メニュー名

    項目

    変数名

    サンプルパラメータシート

    ファイル管理

    VAR_filetest

    サンプルパラメータシート

    テンプレート管理

    VAR_temptest

  4. Ansible-LegacyRole‣作業状態確認代入値確認 ボタンで具体値に '{{ CPF_test }}' '{{ TPF_sample }}' が反映されていることが確認できます。
    また、作業実行後、作業対象サーバに1. で登録したファイル素材とテンプレート素材が設置されます。
    作業状態確認の代入値確認画面

    図 93 作業状態確認の代入値確認画面

作業実行

作業の実行を指示します。Movement一覧、オペレーション一覧からそれぞれラジオボタンで選択し、 作業実行 ボタンを押すと、「 作業状態確認 」に遷移し、実行されます。
作業実行画面

図 94 作業実行画面

  1. ドライラン
    「ドライラン」ボタンをクリックすると、実際に対象機器に対して構築作業をせず、ドライランを行うことができます。
    ドライランを行った場合の動作は、Ansible-Playbookコマンドの--checkパラメータを指定してroleを実行します。
  2. 予約日時の指定
    「予約日時」を入力することで、実行を予約することがきます。
    「予約日時」には、未来の日時のみ登録可能です。

作業状態確認

作業の実行状態を監視します。
サブメニュー画面(作業状態確認)

図 95 サブメニュー画面(作業状態確認)

  1. 実行状態表示
    実行状況に即し、「ステータス」が表示されます。
    また、実行ログ、エラーログに実行状況の詳細が表示されます。
    「実行種別」には、ドライランの場合は「ドライラン」、それ以外は「通常」が表示されます。
    ステータスが想定外エラーで終了した場合、Webコンテンツの登録不備が原因であれば、エラーログにメッセージが表示されます。
    また、「 インターフェース情報 」の登録不備等で、Ansible RestAPIとの通信に失敗した場合にはエラーログにメッセージが表示されません。この場合は、アプリケーションログにエラー情報が記録されます。必要に応じてアプリケーションログを確認ください。
    Conductorから実行した場合に、「呼出元Conductor」には、どのConductorから実行されたかを表示します。
    Ansible-LegacyRoleドライバから直接実行した場合は空欄になります。
    「実行ユーザ」には、作業実行メニューより「実行」ボタンまたは「ドライラン」ボタンを押下した際のログインユーザが表示されます。
  2. 作業対象ホスト確認
    作業対象ホスト確認 ボタンで「 作業対象ホスト 」が表示され、作業対象のオペレーションとMovementに絞り込んだホストが表示されます。
  3. 代入値確認
    代入値確認 ボタンで「 代入値管理 」が表示され、作業対象のオペレーションとMovementに絞り込んだ代入値が表示されます。
  4. 緊急停止/予約取り消し
    緊急停止 ボタンで構築作業を停止させることができます。
    また、実行前の「予約実行」の作業の場合は、 予約取消 ボタンが表示されます。 予約取消 ボタンで予約実行が取り消せます。
  5. 実行ログ表示
    Ansible Automation Controllerで実行した場合、構築対象機器の機器一覧のユーザー・パスワード・インスタンスグルーブなのどの項目値でグループ化された構築対象機器の単位でPlaybookが実行され、ansibleの実行ログが分割されます。
    さらに、Movement一覧のオプションパラメータでジョブスライス数を指定することによりグループ化された構築対象機器をさらにジョブスライス数で分割しplaybookが実行され、ansibleの実行ログも分割されます。
    実行ログが分割された場合、表示ログファイルのプルダウンが表示され、表示したいログファイルを選択する事ができます。
    表示ログファイルのプルダウンに表示されるログファイル名は以下の2種類があります。
    exec.log: 全ての実行ログをまとめたログファイルです。
    exec.log以外: 分割された実行ログファイルです。ファイル命名規則は以下になります。
    Ita_<mode名>_executions_jobtpl_<作業番号>_<グループ番号>_<通番>
    表 129 分割された実行ログファイルの命名要素

    要素

    内容

    mode名

    実行したモード名 legacy_role

    作業番号

    作業管理メニューの作業実行No

    グループ番号

    構築対象機器の機器一覧のユーザー・パスワード・インスタンスグルーブなのどの項目値でグルーブ化した1からの通番です。

    通番

    ジョブスライス数の設定によりグループ内を分割した1からの通番です。

    0の場合はジョブスライス数による分割がなかったことのを表します。

  6. ログ検索
    実行ログ、エラーログは、フィルタリングができます。各ログのフィルタのテキストボックスに検索したい文字列を入力し、「該当行のみ表示」のチェックボックスをチェックすることで該当する行だけが表示されます。
    実行ログ、エラーログのリフレッシュ表示間隔と最大表示行数を、「 インターフェース情報 」の「状態監視周期(単位ミリ秒)」と「進行状態表示行数」で設定できます。
  7. 投入データ
    実行したPlaybookなどをダウンロードすることができます。
    投入データの構成は「 Ansible実行時に使用される投入データとITAメニューの紐づけ 」を参照してください。
  8. 結果データ
    実行ログ、エラーログなどをダウンロードすることができます。

作業管理

作業の履歴を閲覧できます。
条件を指定し フィルタ ボタンをクリックすると、作業一覧テーブルを表示します。
詳細 ボタンで 作業状態確認 に遷移し、実行状態の詳細を見ることができます。
サブメニュー画面(作業管理)

図 96 サブメニュー画面(作業管理)

作業対象ホスト

  1. Ansible-LegacyRole‣作業対象ホスト では、オペレーションに紐付くMovementおよびホストを閲覧できます。
    サブメニュー画面(作業対象ホスト)

    図 97 サブメニュー画面(作業対象ホスト)

  2. 閲覧画面の項目一覧は以下のとおりです。
    表 130 閲覧画面項目一覧(作業対象ホスト)

    項目

    説明

    作業No

    作業実行時に自動採番した36桁の文字列が表示されます。

    オペレーション

    オペレーション一覧に登録されているオペレーションが表示されます。

    Movement名

    Movement一覧に登録されているMovementが表示されます。

    ホスト名

    機器一覧に登録されているホスト名が表示されます。

    備考

    自由記述欄です。

代入値管理

  1. オペレーションに紐付くMovementで利用されるRole内の変数に代入する具体値を閲覧できます。
    サブメニュー画面(代入値管理)

    図 98 サブメニュー画面(代入値管理)

  2. 閲覧画面の項目一覧は以下のとおりです。
    表 131 閲覧画面項目一覧(代入値管理)

    項目

    説明

    作業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)の記述

基本書式については Ansibleベストプラクティス の公式マニュアルを参照してください。
ロールパッケージ管理 」でアップロードするロールパッケージファイルのZipに含めるべきディレクトリと、ITAでの扱いについて記述します。
(上位ディレクトリ)
│
├─── 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

ITAで作成するマスターPlaybookはへッダーセクションとrolesセクションで構成されます。
① へッダーセクション
ヘッダーセクションは、デフォルト値が決まっていますが、「 Movement一覧 」のヘッダーセクションで変更することが出来ます。
▼ヘッダーセクションのデフォルト値について
  • Ansible Coreの場合
# ヘッダーセクションのデフォルト値
  - hosts: all
    remote_user: "{{ __loginuser__ }}"
    gather_facts: no
    become: no
  • Ansible Automation Controllerの場合
# ヘッダーセクションのデフォルト値
  - hosts: all
    gather_facts: no
    become: yes
② rolesセクション
アップロードさたロールパッケージ内のロールを、「 Movement-ロール紐付 」のインクルード順序に従いroleで実行します。
../../../../_images/role_session.png

Ansible Role Directory Structureにおける所定ディクレトリのサブディレクトリについて注意事項

Ansible Role Directory Structureにおける所定ディクレトリの下位に当該の所定ディクレトリ名と同名のサブディレクトリ(例えば、filesディレクトリの下位にそれと同名のfilesディレクトリなど)を作成されていると、作業実行時にエラーになります。

ロールパッケージ内のロール名をディレクトリ階層にした場合の留意点

下記のようなディレクトリ階層のロールパッケージを例に説明します。
└── 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
  1. ロールとして認識するディレクトリは、tasksディレクトリがあるディレクトリになります。
    この例だと、ロールして扱うディレクトリ階層(ロール名)は以下の3個になります。
    • parent/sample_role1

    • parent/sample_role2

    • sample_role6

  2. tasksディレクトリが複数あるディレクトリ階層の除外
    parent/sample_role2/sample_role3とparent/sample_role2/sample_role4にもtasksディレクトリがありますが、parent/sample_role2にtasksディレクトリがありロールとして認識していますので、ロールとして扱いません。

ITAreadme(Ansible-Legacy Role)の記述

Playbook中に直接変数を定義したくない場合など、defaults変数定義ファイルに変数が定義されていない際に、ITA readmeファイルに変数の定義を設定することで、代入値管理機能で変数の値を指定することができます。

ITA readmeのファイル名の命名規則

 ita_readme_[ロール名].yml
 e.g.)

ロール名

作成するファイル名

mysql

ita_readme_mysql.yml

mysql/install

ita_readme_mysql%install.yml

警告

roleのディレクトリ階層が深い場合、ロール名に含まれる / を % に置き換える必要があります。

ITA readmeのフォーマット

フォーマットはYAML形式となります。
文字コードはUTF-8のBOMなしで作成してください。

ITA readmeファイルと、代入値管理機能の関係を以下の図に示します。
../../../../_images/readme_format.png
Playbook中に無い変数をITA readmeファイルで定義した場合、定義した変数を代入値管理機能で値を設定することができます。
また、Playbook中の変数と異なる型をITA readmファイルで定義した場合、代入値管理機能には、上書きした変数の型で値を登録することができます。

代入値管理機能で設定した値は、各ホスト用に変数定義ファイル(host_vars)に出力され、Ansibleで元のPlaybookと変数定義用ファイルを入力として各ホストに実行されます。
ITA readme ファイルは代入値管理機能に変数情報を与えるためだけに使用され、ITA readme に定義した変数および、変数の値はAnsible実行には影響を与えません。

注釈

ITA readmeとdefaults変数定義ファイルで変数定義が重なった場合など、以下のルールで処理されます。
表 132 変数採用ルール

defaults変数定義ファイル

ITA readme

変数定義の採用先

定義あり

定義なし

デフォルト変数定義ファイル

定義なし

定義あり

ITA readme

定義あり

定義あり

ITA readme


また、「 代入値管理 」に表示するデフォルト値は以下のルールで処理されます。
表 133 デフォルト値表示ルール

defaults変数定義ファイル

ITA readme

変数定義の採用先

あり

なし

デフォルト変数定義ファイルを採用。

なし

あり

デフォルト値なしの扱いとなる。

あり

あり

デフォルト変数定義ファイルを採用。

ただし、変数定義が一致している場合のみ。変数定義が一致していない場合はデフォルト値なしの扱いとなる。

ITA readmeは、作業実行時はロールパッケージから切り離されます。
ITA readmeに記載した変数と具体値は適用されません。

「ita_readme」の活用例(Ansible-Legacy Role)

Ansible-Legacy Roleにおける「ita_readme」の活用例について、観点1~7を列挙します。

前提として、Ansible-Legacy Role(「roles」ディレクトリ)は外部から取得したものとします。
以下は、「ita_readme」を用いてアップロードから結果確認までを表した全体イメージ図です。
全体イメージ図

図 99 全体イメージ図

以降、上記の図をベースに観点1~7について掘り下げていきます。

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」ディレクトリ)内で使われている変数にパラメータを与えることが可能となっております。
観点1のイメージ図

図 100 観点1のイメージ図

  • 観点2:「ita_readme」の役割について
    「ita_readme」は変数名および変数の型をITAに伝えるための機能です。
    言い換えれば、「ita_readme」は変数の具体値(パラメータ)を定義するための機能ではありません(具体値を記載してもITAで認識しません)。

    具体値を与える方法を以降の観点で説明します。
観点2のイメージ図

図 101 観点2のイメージ図

  • 観点3:「defaults/main.yml」に記載の変数定義およびデフォルト値について
    「roles」配下の「defaults/main.yml」はそのまま変更なくansibleに渡されます。
    変数定義およびデフォルト値はhost_varsで定義されない限り有効となります。(例:『VAR_A:aaa』)
観点3のイメージ図

図 102 観点3のイメージ図

  • 観点4:「host_varsファイル」と「ITAのCMDB」について
    host_varsファイルはITAのCMDB(パラメータシート)から実行ごとに自動作成されます。
観点4のイメージ図

図 103 観点4のイメージ図

  • 観点5:「defaults/main.yml」に追記したい場合の救済処置
    Ansible-Legacy Role(「roles」ディレクトリ)に変更を加えたい場合、救済処置として「ita_readme」に変数名および型を記述することが可能です。

    既に「defaults/main.yml」に記載がある変数を、改めて「ita_readme」に定義する必要はありません。
    もし二つのファイルで同じ変数が定義されている場合は、「ita_readme」側が優位になります。

    ※下図のとおり、変数「VAR_H」を「ita_readme」に記述することで変数の追加が可能
観点5のイメージ図

図 104 観点5のイメージ図

  • 観点6:playbookにおけるlength評価への応用
    変数に対し具体値があるか否かによって、length評価における条件分岐に活用することが可能です。
    例えば、「defaults/main.yml」に『VAR_C:[]』がある状態で、変数「VAR_C」に具体値を与えずに実行した場合length=0となります。
    反対に、何らかの具体値を与えて実行した場合length>0となります。(例:『VAR_X:sss』)
観点6のイメージ図

図 105 観点6のイメージ図

  • 観点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となります。
観点7のイメージ図

図 106 観点7のイメージ図

BackYardコンテンツ

変数自動登録

変数解析対象の資材をアップロードした場合、アップロードされた資材から変数を取出します。
表 134 モード別アップロードした資材の変数の扱い

メニュー

Legacy Role

Playbook素材集

×

ロールパッケージ管理

対話ファイル素材集

×

なお、取出すタイミングは 自動プロセスの起動周期 に依存します。

警告

● 変数名の一意管理
取出した変数名は、モード毎に全資材で一意管理されます。
同一ロールパッケージ内でロールを跨って同じ変数名を使用しており、変数構造が異なる場合は Ansible-LegacyRole‣ロールパッケージ管理 のアップロードでエラーとなります。
具体的には通常変数と多段変数や多段変数同士で多段構造が異なる場合、同じ変数名を使用しているとアップロードでエラーとなります。
なお、ロールパッケージが異なる場合は上記の場合でもアップロードすることが可能です。

具体例は下記の通りです。

Exp)

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メニューの紐づけ

各ITAメニューより情報を抜出してAnsible実行に必要な投入データを作ります。この際、機器一覧のパスワードや代入値管理でSensitive設定をONした変数の具体値がansible-vaultで暗号化されています。
投入データはZIP形式で「 作業状態確認 」よりダウンロードが可能です。
ダウンロードした投入データを所定のディレクトリに解凍することで、Ansibleを直接実行することも可能です。

各種データとITAメニューの関係性は以下の通りです。

Ansible-LegacyRole投入データ

表 135 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実行時に作成される結果データ

[投入データ]をansibleで実行した結果を[結果データ]としてZIP形式で保存します。
[結果データ]はZIP形式で「 作業状態確認 」よりダウンロードが可能です。

Legacy-Role 結果データに保存されるファイル一覧

表 136 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__」になにかしらのファイル出力をした場合のファイルが記録されるディレクトリ。

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

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

▼実行エンジンがAnsible Core以外の場合
  以下の表は実行エンジンがAnsible Core以外の場合に、指定可能なオプションパラメータです。

表 137 実行エンジンがAnsible Core以外の場合に指定可能なオプションパラメータ一覧

オプションパラメータ

指定方法

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のオプションパラメータの仕様については、Ansible Automation Controllerユーザーガイドのジョブテンプレートの説明を参照してください。

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「__loginhostname__」を含めるなどして、Movementに紐づいているターゲットホスト毎に同一ファイル名に出力しないように工夫してください。
  2. conductorから実行する場合、複数のMovementで同一ファイル名への出力しないよう工夫してください。

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

インターフェース情報の実行時データ削除で「削除する」を選択した場合に、削除されるデータリソースを以下に列挙します。
表 138 実行時データ削除で削除されるデータリソース一覧(Ansible Automation Controller側)

データリソース

リソースタイプ

実行エンジン

備考

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

リソース

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

データリソース

リソースタイプ

実行エンジン

備考

Ansible Automation Controller

Git リポジトリ

ワークスペース共有パス/driver/ansible/git_repositories/<区分>_作業番号

Gitリポジトリ

ディレクトリごと削除