2. Ansible-Legacy

2.1. はじめに

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

2.2. Ansible-Legacy概要

Ansible標準の機能を用いて各種ホストへ設定を投入します。
構築コードを単体YAMLファイルとして登録し、作業パターンをその組み合わせで構成します。
サーバ・ストレージ・ネットワーク各機器の環境設定などの作業用に使われることを想定します。

2.3. Ansible-Legacy メニュー構成

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

2.3.1. メニュー/画面一覧

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

No

メニュー画面

説明

1

オペレーション一覧

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


  1. Ansible共通のメニュー
Ansible共通のメニュー一覧を以下に記述します。
表 2.44 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. Ansible-Legacyのメニュー
Ansible-Legacyのメニュー一覧を以下に記述します。
表 2.45 Ansible-Legacy メニュー/画面一覧

No

メニュー・画面

説明

1

Movement一覧

Movementの一覧を管理します。

2

Playbook素材集

Playbookファイルを管理します。

3

Movement-Playbook紐付

MovementでインクルードするPlaybookを管理します。

4

代入値自動登録設定

パラメータシートに登録されているオぺレーションとホスト毎の項目値を紐付けるMovementと変数を管理します。

5

作業実行

作業実行するMovementとオペレーションを選択し実行を指示します。

6

作業管理

作業実行履歴を管理します。

7

作業状態確認

作業実行状態を表示します。

8

作業対象ホスト

作業実行毎の作業対象ホストを表示します。

9

代入値管理

作業実行毎の変数の具体値を表示します。

10

Movement-変数紐付 (※1)

Movementで使用している変数を管理します。

Tip

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

2.4. Ansible-Legacy利用手順

Ansible-Legacyの利用手順について説明します。

2.4.1. Ansible-Legacy作業フロー

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

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

2.5. Ansible-Legacy メニュー操作方法説明

本章では、Ansible-Legacyで利用するメニューについて説明します。

2.5.1. 基本コンソール

基本コンソールについての操作は「 基本コンソール 」を参照してください。

2.5.2. Ansible共通

Ansible共通についての操作は「 Ansible共通 」を参照してください。

2.5.3. Ansible-Legacy

本節では、Ansible-Legacyの操作について記載します。

Movement一覧

  1. Movement情報のメンテナンス(閲覧/登録/更新/廃止)を行います。
    サブメニュー画面(Movement一覧)

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

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

    図 2.20 登録画面(Movement一覧)

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

    項目

    説明

    入力必須

    入力方法

    制約事項

    MovementID

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

    自動入力

    Movement名

    Movementの名称を入力します。

    手動入力

    最大長255バイト

    遅延タイマー

    Movementの実行が指定期間遅延した場合に Ansible-Legacy ▶ 作業状態確認ステータス を「実行中(遅延)」として警告表示したい場合に指定期間(1~)を入力します。(単位:分)

    未入力の場合は警告表示しません。

    手動入力

    0~2,147,483,647

    Ansible利用情報

    ホスト指定形式

    IPアドレスで表現しないホストを指定したい場合に「ホスト名」を選択します。

    リスト選択

    説明欄記載のとおり。

    WinRM接続

    作業対象がWindowsServerの場合に「True」を選択します。

    リスト選択

    説明欄記載のとおり。

    ヘッダーセクション ※1

    ITAが自動生成する親Playbookの先頭からtasksセクションまでのセクションを編集します。

    未入力の場合は以下を適用します。

    - hosts: all
      remote_user: "{{ __loginuser__ }}"
      gather_facts: no
      become: yes
      # winrm接続の場合は become: yesは適用しません。
    

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

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

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

    変数の具体値は Ansible-Legacy ▶ 代入値自動登録設定から登録します。

    手動入力

    最大長4000バイト

    オプションパラメータ

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

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

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

    Movement共通のオプションパラメータは Ansible共通 ▶ インターフェース情報オプションパラメータ から入力します。

    手動入力

    最大長4000バイト

    ansible.cfg

    作業実行時に使用するansible.cfgをアップロードします。

    未アップロードの場合は、デフォルトが使用されます。

    ファイル選択

    最大サイズ100Mバイト

    Ansible Automation Controller利用情報

    実行環境 ※2

    Ansible Automation Controllerに構築されている実行環境が表示されます。

    使用する実行環境を選択します。

    未選択の場合は、Ansible Automation Controllerに設定されているデフォルトの実行環境が使用されます。

    リスト選択

    説明欄記載のとおり。

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

    Tip

    ※1 ヘッダーセクションで「become: yes」を設定した場合
    作業対象に以下の設定が必要です。
    ログインユーザの sudo権限を NOPASSWD付で /etc/sudoers に設定します。

       Demo_user ALL=(ALL) NOPASSWD:ALL

    Tip

    ※2 「 Ansible Automation Controllerデータ同期 」により取得したデータから選択します。

    警告

    WinRM接続 で「True」を選択した場合は接続するホストをすべてWindowsServerとみなします。

Playbook素材集

  1. ユーザが作成したPlaybookのメンテナンス(閲覧/登録/更新/廃止)を行います。
    Playbookの記述など関しては、「 Playbook(Ansible-Legacy)の記述 」を参照してください。
    利便性の向上を目的としたサンプルPlaybookが初期状態でPlaybook素材集に登録されています。
    サンプルPlaybookのPlaybook素材名は、先頭に「~[Exastro standard]」が付与されています。
    サンプルPlaybookをMovementと紐付けることにより、利用することが出来ます。
    サブメニュー画面(Playbook素材集)

    図 2.21 サブメニュー画面(Playbook素材集)

  2. 登録 ボタンより、Playbookの登録を行います。
    登録画面(Playbook素材集)

    図 2.22 登録画面(Playbook素材集)

  3. 登録画面の項目一覧は以下のとおりです。
    表 2.47 登録画面項目一覧(Playbook素材集)

    項目

    説明

    入力必須

    入力方法

    制約事項

    項番

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

    自動入力

    プレイブック素材名

    ITAで管理するプレイブック素材名を入力します。

    手動入力

    最大長255バイト

    プレイブック素材

    作成したPlaybookファイルをアップロードします。 アップロードするPlaybookファイルは、文字コードがUTF-8のBOMなしで作成してください。

    ファイル選択

    最大サイズ100Mバイト

    ターゲット

    Linux

    Linuxで使用可能なPlaybookの場合、「*」を選択します。

    未選択でも、作業実行に影響はありません。

    リスト選択

    説明欄記載のとおり。

    Windows

    Windowsで使用可能なPlaybookの場合、「*」を選択します。

    未選択でも、作業実行に影響はありません。

    リスト選択

    説明欄記載のとおり。

    その他

    Linux、Windows以外の用途で使用可能なPlaybookの場合、Playbookの用途を入力します。

    手動入力

    最大長4000バイト

    Python要否

    ターゲットの機器にPythonが必要の場合、「*」を選択します。

    未選択でも、作業実行に影響はありません。

    リスト選択

    説明欄記載のとおり。

    説明

    Playbookについての説明を入力します。

    手動入力

    最大長4000バイト

    説明(en)

    Playbookについての説明を英語で入力します。

    手動入力

    最大長4000バイト

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

警告

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

Movement-Playbook紐付

  1. MovementでインクルードするPlaybookのメンテナンス(閲覧/登録/更新/廃止)を行います。
    サブメニュー画面(Movement-Playbook紐付)

    図 2.23 サブメニュー画面(Movement-Playbook紐付)

  2. 登録 ボタンより、MovementでインクルードするPlaybookの登録を行います。
    登録画面(Movement-Playbook紐付)

    図 2.24 登録画面(Movement-Playbook紐付)

  3. 登録画面の項目一覧は以下のとおりです。
    表 2.48 登録画面項目一覧(Movement-Playbook紐付の場合)

    項目

    説明

    入力必須

    入力方法

    制約事項

    項番

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

    自動入力

    Movement

    Ansible-Legacy ▶ Movement一覧 で 登録した Movement名 が表示されます。
    Movementを選択します。

    リスト選択

    説明欄記載のとおり。

    Playbook素材

    Ansible-Legacy ▶ Playbook素材集 で登録した Playbook素材名 が表示されます。
    MovementでインクルードするPlaybook素材を選択します。

    リスト選択

    説明欄記載のとおり。

    インクルード順序

    プレイブック素材の実行順序(1~)を入力します。
    入力されたインクルード順序(昇順)でプレイブック素材が実行されます。

    手動入力

    1~2,147,483,647

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

代入値自動登録設定

  1. パラメータシートの項目の設定値とMovementの変数との紐付管理(閲覧/登録/更新/廃止)を行います。
    登録した情報は作業実行により Ansible-Legacy ▶ 代入値管理Ansible-Legacy ▶ 作業対象ホスト に反映されます。
    サブメニュー画面(代入値自動登録設定)

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

  2. 登録 ボタンより、パラメータシートの項目の設定値とMovementの変数との紐付登録を行います。
    登録画面(代入値自動登録設定)

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

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

    項目

    説明

    入力必須

    入力方法

    制約事項

    項番

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

    自動入力

    パラメータシート(From)

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

    パラメータシートの項目が表示されます。

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

    選択対象となるパラメータシートはパラメータシート作成 ▶ パラメータシート定義・作成 ▶ 作成対象で、パラメータシート(ホスト/オペレーションあり)を選択して作成したパラメータシートの項目になります。

    リスト選択

    説明欄記載のとおり。

    代入順序

    パラメータシートがバンドルの場合、パラメータシートで登録している 代入順序 を入力します。

    ※1

    手動入力

    1~2,147,483,647

    登録方式

    IaC変数(To) で選択した変数の具体値に設定する内容を選択します。

    • Value型
      項目の設定値が IaC変数(To) で選択した変数の具体値になります。
    • Key型
      項目の名称が IaC変数(To) で選択した変数の具体値になります。

    リスト選択

    説明欄記載のとおり。

    Movement名

    Ansible-Legacy ▶ Movement一覧 で登録したMovement名 が表示されます。

    Movementを選択します。

    リスト選択

    説明欄記載のとおり。

    IaC変数(To)

    Movement名:変数名

    Ansible-Legacy ▶ Movement-Playbook紐付 で登録した資材で使用している変数が表示されます。

    パラメータシート(From) で選択した項目の具体値を紐付けたい変数を選択します。

    リスト選択

    説明欄記載のとおり。

    代入順序

    複数具体値変数にする場合に入力してください。

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

    ※2

    手動入力

    1~2,147,483,647

    NULL連携

    パラメータシートの具体値がNULL(空白)の場合にAnsible-Legacy ▶ 代入値管理 にNULL(空白)の値を登録するかを選択します。

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

    未選択の場合、Ansible共通 ▶ インターフェース情報NULL連携 の値が適用されます。

    リスト選択

    説明欄記載のとおり。

    備考

    自由記述欄です。

    手動入力

    最大長4000バイト

Tip

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

Tip

※2 代入順序の入力
Ansible-Legacy では、代入順序が未入力の場合は、通常変数として扱います。
代入順序が入力されている場合は、複数具体値変数として扱います。複数具体値変数の場合は複数の
具体値が必要ない場合(具体値が 1 個でよい)でも代入順序は入力してください。
特定の複数具体値変数に対して代入順序が連続していなくても問題ありません。
連続していない場合は詰めて処理されます。

e.g.)複数具体値変数に代入順序を入力して作業実行する場合
  1. Ansible-Legacy ▶ 代入値自動登録設定 でパラメータシートに登録されている項目の設定値とPlaybook内の変数を紐付けします。
    表 2.50 パラメータシートの登録内容

    ホスト名

    オペレーション名

    パラメータ

    項目1

    項目2

    項目3

    項目4

    test-host

    test-ope

    value1

    value2

    value3

    value4

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

    メニュー名

    項目

    変数名

    代入順序

    sample-menu

    項目1

    VAR_substitutionA

    30

    sample-menu

    項目2

    VAR_substitutionA

    10

    sample-menu

    項目3

    VAR_substitutionA

    20

    sample-menu

    項目1

    VAR_substitutionB

    2

    sample-menu

    項目2

    VAR_substitutionB

    4

    sample-menu

    項目3

    VAR_substitutionB

    1

    sample-menu

    項目4

    VAR_substitutionB

    3

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

Tip

ホスト変数ファイルへの出力
代入値自動登録設定で登録した変数のみが作業実行時にホスト変数ファイルへ出力されます。
作業実行時に Playbookで使用している変数が代入値自動登録設定に登録されていない場合でも作業実行を行いますが、ansibleの実行で変数未定義のエラーになる場合があります。

Tip

ファイル埋込変数とテンプレート埋込変数をPlaybookの変数に紐付して使用する例
e.g.) ファイル埋込変数 CPF_test とテンプレート埋込変数 TPF_sample を代入値自動登録設定でPlaybookの変数に紐付して使用する場合
  1. Ansible共通 ▶ ファイル管理Ansible共通 ▶ テンプレート管理 で下記のように登録します。
    表 2.52 ファイル管理の登録内容

    ファイル埋込変数名

    ファイル素材

    CPF_test

    test_file.txt

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

    テンプレート埋込変数名

    テンプレート素材

    TPF_sample

    sample.tpl

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

    図 2.27 パラメータシート定義・作成画面

    表 2.54 サンプルパラメータシートの登録内容

    ホスト名

    オペレーション名

    パラメータ

    ファイル管理

    テンプレート管理

    test-host

    test-ope

    CPF_test

    TPF_sample

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

    メニュー名

    項目

    変数名

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

    ファイル管理

    VAR_filetest

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

    テンプレート管理

    VAR_temptest

  4. Ansible-Legacy ▶ 作業状態確認代入値確認 ボタンで具体値に '{{ CPF_test }}' '{{ TPF_sample }}' が反映されていることが確認できます。
    作業状態確認の代入値管理

    図 2.28 作業状態確認の代入値管理

作業実行

作業対象のMovementをMovement一覧から選択します。
作業対象のオペレーションをオペレーション一覧から選択します。
作業実行には、3種類の実行種別があります。実行種別に応じたボタンをクリックすることで Ansible-Legacy ▶ 作業状態確認 に遷移し、実行されます。
作業実行画面

図 2.29 作業実行画面

実行種別ついて以下に説明します。
  1. 作業実行
    作業実行 ボタンをクリックすると、作業対象に対して構築作業を実行します。
  2. ドライラン
    ドライラン ボタンをクリックすると、実際に作業対象に対して構築作業をせず、ドライランを行うことができます。
    ドライランを行った場合の動作は、Ansible-Playbookコマンドの--checkパラメータを指定した実行となります。
  3. パラメータ確認
    パラメータ確認 ボタンをクリックすると、実際に作業対象に対して構築作業をせず、 Ansible-Legacy ▶ 代入値自動登録設定 に登録してある情報から作業対象のオペレーションとMovementに紐付く情報を Ansible-Legacy ▶ 代入値管理Ansible-Legacy ▶ 作業対象ホスト に反映し、確認することが出来ます。

Tip

予約日時の指定
「予約日時」を入力することで、実行を予約することがきます。
「予約日時」には、未来の日時のみ入力可能です。

作業状態確認

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

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

  1. 実行状態表示
    実行状況に応じた「ステータス」が表示されます。
    また、実行ログ、エラーログに実行状況の詳細が表示されます。
    「実行種別」には、作業実行の場合は「通常」、ドライランの場合は「ドライラン」、パラメータ確認の場合は「パラメータ確認」が表示されます。
    ステータスが想定外エラーで終了した場合、エラーログにメッセージが表示されます。
    「呼出元Conductor」には、Conductorから実行した場合に、どのConductorから実行されたかを表示します。Ansible-Legacyから直接実行した場合は空欄になります。
  2. 作業対象ホスト確認
    作業対象ホスト確認 ボタンで Ansible-Legacy ▶ 作業対象ホスト が表示され、作業対象のオペレーションとMovementに絞り込んだホストが表示されます。
  3. 代入値確認
    代入値確認 ボタンで Ansible-Legacy ▶ 代入値管理 が表示され、作業対象のオペレーションとMovementに絞り込んだ変数と具体値が表示されます。
  4. 緊急停止/予約取り消し
    緊急停止 ボタンで構築作業を停止させることができます。
    また、実行前の「予約実行」の作業の場合は、 予約取消 ボタンが表示されます。 予約取消 ボタンで予約実行が取り消せます。
  5. 実行ログ表示
    Ansible Automation Controllerで実行した場合、作業対象の Ansible共通 ▶ 機器一覧ユーザパスワードssh秘密鍵ファイルパスフレーズ接続タイプインスタンスグルーブ の項目値でグループ化された作業対象の単位でPlaybookが実行され、ansibleの実行ログが分割されます。
    さらに、 Ansible共通 ▶ インターフェース情報Ansible-Legacy ▶ Movement一覧オプションパラメータ でジョブスライス数を指定することによりグループ化された作業対象をさらにジョブスライス数で分割しplaybookが実行され、ansibleの実行ログも分割されます。
    実行ログが分割された場合、実行ログがTabで分割表示され、表示したい実行ログを選択する事ができます。
    実行ログのTabに表示される名称は以下の2種類があります。
    exec.log: 全ての実行ログをまとめたログファイルです。
    exec.log以外: 分割された実行ログファイルです。ファイル命名規則は以下になります。
    exec_<グループ番号>_<通番>
    表 2.56 分割された実行ログファイルの命名要素

    要素

    内容

    グループ番号

    作業対象の Ansible共通 ▶ 機器一覧ユーザパスワードssh秘密鍵ファイルパスフレーズ接続タイプインスタンスグルーブ の項目値でグルーブ化した 1 からの通番です。

    通番

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

作業管理

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

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

  1. 閲覧画面の項目一覧は以下のとおりです。
    表 2.57 閲覧画面項目一覧(作業管理)

    項目

    説明

    作業No.

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

    実行種別

    実行種別を表示します。

    ステータス

    作業実行のステータスを表示します。

    実行エンジン

    作業実行した実行エンジンを表示します。

    呼出元Conductor

    Conductorから実行した場合にConductor名が表示されます。

    実行ユーザ

    作業実行したユーザ名が表示されます。

    登録日時

    作業実行でボタンをクリックした日時が表示されます。

    Movement

    ID

    作業実行で選択したMovementのIDが表示されます。

    名称

    作業実行で選択したMovementの名称が表示されます。

    遅延タイマー

    作業実行で選択したMovementの遅延タイマーが表示されます。

    Ansible利用情報

    ホスト指定形式

    作業実行で選択したMovementのホスト指定形式が表示されます。

    WinRM接続

    作業実行で選択したMovementのWinRM接続が表示されます。

    ヘッダーセクション

    作業実行で選択したMovementのヘッダーセクションが表示されます。

    ansible.cfg

    作業実行で選択したMovementのansible.cfgがアップロード出来ます。

    Ansible Automation Controller 利用情報

    実行環境

    作業実行で選択したMovementの実行環境が表示されます。

    オペレーション

    No.

    作業実行で選択したオペレーションのIDが表示されます。

    名称

    作業実行で選択したオペレーションの名称が表示されます。

    投入データ

    投入データ一式をzip形式でアップロード出来ます。

    結果データ

    結果データ一式をzip形式でアップロード出来ます。

    作業状況

    予約日時

    作業実行で予約日時を設定した場合に予約日時が表示されます。

    開始日時

    作業実行を開始した日時が表示されます。

    終了日時

    作業実行が終了した日時が表示されます。

    収集状況

    ステータス

    収集機能のステータスを表示します。

    収集ログ

    収集機能のログがダウンロード出来ます。

    Conductorインスタンス番号

    Conductorから実行された場合にConductorインスタンス番号を表示します。

作業対象ホスト

  1. 作業実行毎の作業対象ホストを閲覧できます。
    サブメニュー画面(作業対象ホスト)

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

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

    項目

    説明

    項番

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

    作業No

    作業実行時の作業Noが表示されます。

    オペレーション

    作業実行時のオペレーションが表示されます。

    Movement名

    作業実行時のMovementが表示されます。

    ホスト名

    作業実行時の対象ホストが表示されます。

    備考

    自由記述欄です。

代入値管理

  1. 作業実行毎の変数の具体値を閲覧できます。
    サブメニュー画面(代入値管理)

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

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

    項目

    説明

    項番

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

    作業No

    作業実行時の作業Noが表示されます。

    オペレーション

    作業実行時のオペレーションが表示されます。

    Movement名

    作業実行時のMovementが表示されます。

    ホスト名

    作業実行時の作業対象ホストが表示されます。

    Movement名:変数名

    作業実行時の変数が表示されます。

    具体値

    文字列

    Sensitive設定

    「True」または「False」が表示されます。

    作業実行時の変数の具体値が表示されます。

    • Sensitive設定 が「True」の場合
      パラメータシートで入力した具体値は暗号化されITA上では表示されません。変数の具体値は、ansible-vaultで暗号化した内容が設定されます。
    • Sensitive設定 が「False」の場合
      パラメータシートで入力した具体値が表示されます。

    ファイル

    作業実行の変数に紐づくファイル名が表示されます。

    代入順序

    複数具体値変数の場合に、代入順序が表示されます。

    備考

    自由記述欄です。

2.6. Playbook(Ansible-Legacy)の記述

Playbook素材集 」でアップロードされたPlaybookは、ITAで生成するマスターPlaybookよりinclude形式で実行されます。
ITAで作成するマスターPlaybookはへッダーセクションとtasksセクションで構成されます。

2.6.1. ヘッダーセクション

アップロードするPlaybookにはヘッダーセクションは含む必要はありません。
ヘッダーセクションは、デフォルト値が決まっていますが、 Ansible-Legacy ▶ Movement一覧ヘッダーセクション で変更することが出来ます。

▼ヘッダーセクションのデフォルト値
- hosts: all
  remote_user: "{{ __loginuser__ }}"
  gather_facts: no
  become: yes
# winrm接続の場合は「become: yes」は省略されます。

2.6.2. tasksセクション

アップロードされたPlaybookは、ITAで生成するマスタPlaybookよりinclude形式で実行されます。
Playbook基本書式についてはAnsible公式マニュアルを参照してください。

e.g.)アップロードするPlaybookの例
- name: コメント
  template:
    src:   "{{ item.src }}"
    dest:  "{{ item.dest }}"
    owner: "{{ item.owner is none |ternary('root', item.owner) }}"
    group: "{{ item.group is none |ternary('bacula', item.group) }}"
    mode:  "{{ item.mode is none |ternary('0654', item.mode) }}"
アップロードさたPlaybookは、 Ansible-Legacy ▶ Movement-Playbook紐付インクルード順序 に従いincludeします。
../../_images/legacy_session.png

2.7. 付録

2.7.1. Ansible実行時に使用される投入データとITAメニューの紐づけ

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

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

Ansible-Legacy投入データ

表 2.60 Ansible-Legacy投入データ

メニューグループ

メニュー

項目

ディレクトリ解凍時のパス

Ansible-Legacy

Playbook素材集

Playbook

/child_playbooks

Ansible 共通

テンプレート管理

テンプレート素材

/template_files

Ansible 共通

ファイル管理

ファイル素材

/copy_files

Ansible-Legacy

代入値管理

具体値(ファイル)

/upload_files

Ansible 共通

グローバル変数管理

変数名/具体値

/host_vars

Ansible-Legacy

代入値管理

変数名/具体値

/host_vars

Ansible-Legacy

template 管理

テンプレート埋込変数

/host_vars

Ansible-Legacy

ファイル管理

ファイル埋込変数

/host_vars

Ansible共通

機器一覧

ログインユーザ ID
ログインパスワード ※ansible-vault で暗号化
ホスト名
DNSホスト名
IPアドレス

/host_vars

Ansible共通

機器一覧

ssh 認証鍵ファイル

/ssh_key_files

Ansible共通

機器一覧

サーバ証明書

/winrm_ca_files

Ansible共通

インターフェース情報

オプションパラメータ

/AnsibleExecOption.txt

Ansible-Legacy

Movement 一覧

オプションパラメータ

/AnsibleExecOption.txt

Ansible共通

機器一覧

ログインユーザ ID
ログインパスワード ※ansible-vault で暗号化
ホスト名
DNSホスト名
IP アドレス
インベントリファイル追加オプション
WinRM 接続情報
接続オプション

/hosts

Ansible-Legacy

Movement-Playbook紐付

Playbook名・インクルード順序

/playbook.yml

2.7.2. Ansible実行時に作成される結果データ

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

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

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

ファイル名

記録内容

Ansible Coreの場合

Ansible Automation Controllerの場合

result.txt

Ansibleの実行結果を記録

error.log

作業実行時のエラーメッセージ出力先ファイル
Ansible-playbbokコマンドの標準エラー出力の出力先ファイル
作業実行確認のエラーログに表示される内容

exec.log.org

Ansible-playbbokコマンドの標準出力の出力先ファイル

exec.log

Aexec.log.orgを加工したファイル
作業実行確認の実行ログに表示される内容

exec_<作業番号>_<グループ番号>

分割された実行ログファイル
ファイル名の命名規則は「 作業状態確認 」の実行ログ表示を参照してください。

forced.txt

緊急停止をした場合の記録ファイル

user_files

実行したplaybookでITA独自変数「__workflowdir__」にファイル出力をした場合の出力先ディレクトリ。