Exastro IT Automationの3つのAnsibleモードを使ってみた(②Ansible-LegacyRole編)


関連リンク

はじめに

前回の記事では、Exastro IT Automation(以下ITAと略)に搭載されているAnsible3モードの1つ、Ansible-Legacyの使い方について説明しました。

今回は前回に引き続きAnsible-Driver実習編を参考して、Ansible-LegacyRoleを実際に使ってみたいと思います。

作業環境


  • Exastro IT Automation 1.5.0
  • CentOS Linux 7(ITAサーバ)
  • CentOS Linux 7(targetサーバ)
  • Windows 10(ITAクライアント)
  • Google Chrome(Win10側)

Ansible-LegacyRoleとは

Ansible-LegacyRoleとは、ロールパッケージを登録して利用できるモードです。

そもそもRoleとは、playbookで読み込む、Ansible標準のファイル構成で作られた設定のようなものです。
決められたファイル構成にすることで、Ansible側で解釈して設定を読み込んでくれます。
単純な処理だと1つのPlaybookで問題ありませんが、複雑な処理の場合はplaybookを適切なRoleに分割してインクルードさせることで、再利用性や可読性がよくなるというわけです。

自分が作成したRoleや、Ansible Galaxyから取得したRoleをITAに登録して使うことができますが、Role内の変数定義や任意の設定などは、ITA内のITAreadmeや読み替え表を使って設定します。
つまり、Role自体は変更したりしなくて済みます。

Ansible-LegacyRoleについて詳しくは、コミュニティサイトのAnsible-Driver座学編を参考にして下さい。

②Ansible-LegacyRole編

今回はAnsible GalaxyからダウンロードしたRoleをITAに登録し、実行します。
このRoleは、マシンの/etc/sudoers.d配下にファイルを追加します。

具体的な手順はこのようになります。
1. 事前準備
2. Movementの設定
3. オペレーションの設定
4. 代入値管理(パラメータシートの作成)
5. 作業実行

1.事前準備

今回はAnsible-GalaxyからダウンロードしたRoleをITAに登録し、実行します。

使用するRoleを以下のURLからダウンロードします。
https://galaxy.ansible.com/weareinteractive/sudo

このRoleは、マシンの/etc/sudoers.d配下にファイルを追加します。

しかしこのRoleは、任意の部分の設定がコメントアウトされていたり、デフォルトの値が入っていたりします。
このような場合、ITAでは、Role中のファイルを変更することなく、ITAreadme読替表を作成することで必要な変更を加えることができます。

詳しいITAreadmeと読替表についてはマニュアルを参照するとよいです。

作成するファイルは以下の通りです。

ITAreadme・・・変数の定義を追加・変更するための設定ファイル

ita_readme_ansible-sudo-master.yml
sudo_users:
 - name: 

読替表・・・defaults変数定義ファイルまたはITAreadmeに定義されている
     「VAR_...」以外の変数に対して、ITAで具体値を設定できるようにするファイル

ita_translation-table_ansible-sudo-master.txt
LCA_sudo_users: sudo_users
LCA_sudo_sudoers_file: sudo_sudoers_file

ダウンロードし解凍したRole、作成したファイルを以下のようにまとめ、ZIPファイルを作成します。


①「roles」フォルダを作成
②作成した「roles」フォルダにダウンロードしたRoleを移動
③「roles」フォルダ、読替表、ITAreadmeをZIPファイルにまとめる


2.Movementの設定

ここでは、Roleに関連付けるMovementの設定について述べます。

Movementの作成

「Ansible-LegacyRole 」メニューグループ >> 「Movement一覧」
を選択し、登録作業ボタンより登録作業を開始します。

必須入力項目は「Movement名」「ホスト指定形式」です。

※Movement:各機器に対する構築ツールを使った構築、設定などの作業の単位

本記事ではMovement名「sudoer登録」ホスト指定形式「IP」と登録します。

今回、以下の表のように設定します。

入力内容
Movement名 Sudoer登録
ホスト指定形式 IP


①必須入力項目を入力
②入力後、[登録]ボタンをクリック


ロールパッケージの登録

「Ansible-LegacyRole」メニューグループ >> 「ロールパッケージ管理」
を選択し、登録作業をします。

必須入力項目は「ロールパッケージ名」「ロールパッケージファイル(ZIP形式)」です。

プレイブック素材には先ほど作成した「roles.zip」を使用します。
ファイル指定後は必ず事前アップロードボタンを押す必要があります。

今回、ロールパッケージ名を「sudo-master」と設定します。


①必須入力項目を入力(ロールパッケージ選択後、「事前アップロード」ボタンをクリック)
②入力後、[登録]ボタンをクリック


MovementにRoleを関連付ける

「Ansible-LegacyRole」メニューグループ >> 「Movement詳細」
を選択し、登録作業をします。

必須入力項目は「Movement」「ロールパッケージ名」「インクルード順序」です。

今回、以下の表のように設定します。

Movement名 ロールパッケージ名 ロール名 インクルード順序
Sudoer登録 sudo-master ansible-sudo-master 1


①必須入力項目を適宜選択、入力
②[登録]ボタンをクリック


3.オペレーションの設定

オペレーションを作成し、Movementとホストを関連付けます。

オペレーションは、作業全体を示すITAシステム内で使用する作業名称のことを指します。

「基本コンソール」メニューグループ >> 「投入オペレーション一覧」
を選択し、登録を開始します。

必須入力項目は「オペレーション名」「実施予定日」です。

今回、以下の表のように設定します。

項目名 入力内容
オペレーション名 LegacyRole_Practice
実施予定日時 (任意の値)


①必須入力項目「オペレーション名」「実施予定日」の入力
②[登録]ボタンをクリック


4.代入値管理(パラメータシートの作成)

パラメータシートの作成

パラメータシートを作成し、ターゲットマシンに適用するパラメータを管理します。

「メニュー作成」メニューグループ >> 「メニュー定義/作成」
を選択、必須項目を入力します。

必須入力項目は「メニュー名」「作成対象」「表示順序」「用途」です


①必須入力項目を適宜選択、入力
②[対象メニューグループ]ボタンをクリック



③メニューグループを図のように選択(メニューグループは前回記事「Ansibleモード共通設定」にて作成済み)
④[決定]ボタンをクリック


パラメータシートの項目名を定義

前項で[決定]ボタンをクリックしたその続きです。

ここではシートの項目を定義します。

項目を追加し、項目名を「sudoer_name」「sudoer_filename」と入力します。
最大バイト数はどちらも32バイトです。


⑤[項目]をクリックし、新しい項目を追加
⑥「項目 1」「項目 2」をクリックし、項目名を設定
⑦図のように選択、入力
⑧[作成]ボタンをクリック


パラメータの登録

ここまでで、パラメータシートの作成を行いました。
ここからはターゲットホストの設定に使用するデータを登録します。

「AnsibleDriver実践用」メニューグループ >> 「LegacyRole実践」
を選択し、登録を開始します。

必須入力項目は「ホスト名」「オペレーション」
「パラメータ>>[sudoer_name]、[sudoer_filename]」です。


①必須入力項目を適宜選択、入力
②[登録]ボタンをクリック


代入値自動登録設定

各項目と変数を関連付けます。

「Ansible-LegacyRole」メニューグループ >> 「代入値自動登録設定」
を選択し、登録作業をします。

各項目に対して、「メニューグループ:メニュー」「登録方式」「Movement」「Value変数」を設定します。
また具体的な設定、下表のようにします。

メニューグループ:メニュー 項目 登録方式 Movement Value-変数変数名 Value変数-メンバー変数名
LegacyRole実践用 sudoer_name Value型 Sudoer登録 LCA_sudo_users [0].name
LegacyRole実践用 sudoer_filename Value型 Sudoer登録 LCA_sudo_sudoers_file


①必須入力項目を適宜選択、入力
②[登録]ボタンをクリック


代入値・作業ホストの確認

「Ansible-LegacyRole」メニューグループ >> 「作業対象ホスト」
「Ansible-LegacyRole」メニューグループ >> 「代入値管理」
の[フィルタ]をクリックし、「一覧/更新」を確認します。

設定した項目が、「legacyRole代入値自動登録設定プロシージャ」によって正しい値に指定されているかを確認します。

作業対象ホスト

代入値管理

5.作業実行

Movementの実行

「Ansible-LegacyRole」メニューグループ >>「作業実行」を選択します。

実行するMovementとオペレーションを選択し、ページ下にある[実行]をクリックすることで作業が開始します。


①作成したMovementの選択
②作成したオペレーションの選択
③[実行]ボタンをクリック


実行結果の確認

作業実行すると画面が遷移して、実行ステータスやログが表示されます。
また、投入データや結果データをまとめたZIPファイルをダウンロードすることができます。

適宜、必要項目を確認します。

また、ターゲットマシンに移動し以下を実行します。

target(centos7)
# cat /etc/sudoers.d/example_sudoers

以下が表示されると、実行成功です。

/etc/sudoers.d/example_sudoers
# Ansible managed


example_name ALL=(ALL:ALL)  ALL

おわりに

今回は、Ansible3モードの1つ、Ansible-LegacyRoleの使い方について説明しました。

次回はAnsible-Pioneerについて説明したいと思います。

関連リンク

索引