Exastro IT Automation 2.4.0 のLeran(Ansible-Role)をやってみた その③

# はじめに
本記事は全部で4部作の記事になります。
先に過去の回をご覧ください。
[Exastro IT Automation 2.4.0 のLeran(Ansible-Role)をやってみた その①](https://qiita.com/y-arai-0523/private/d6ea6db897e8dcf3d3ee)
[Exastro IT Automation 2.4.0 のLeran(Ansible-Role)をやってみた その②](https://qiita.com/y-arai-0523/private/42c29e2a4516e13e2c1d)
[Exastro IT Automation 2.4.0 のLeran(Ansible-Role)をやってみた その③](https://qiita.com/y-arai-0523/private/f763725c6aa9e5f69e5b)
[Exastro IT Automation 2.4.0 のLeran(Ansible-Role)をやってみた その④](https://qiita.com/y-arai-0523/private/092ac63ef7f1105f0f97)

今回はジョブフローのシナリオを実施していきます。
[ジョブフローのシナリオ](https://ita-docs.exastro.org/ja/2.4/learn/ansible_legacy_role/scenario3.html)

# シナリオ③【ジョブフロー】
このシナリオでは、シナリオ①②で作成したデータベース用のサーバをWebサーバに作り直します。
複数のジョブを一連の流れで実行する方法を学べます。
機器情報とRole資材は、ここまでのシナリオで準備したものを使います。

### オペレーション設定
基本コンソールからオペレーションを登録します。
オペレーションに作業対象とパラメータが紐づきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798829/26fe005b-5944-58ea-1663-3f3c7ace7bb2.png)
以下の設定をしました。
+ オペレーション名：Webサーバーへの再構築
+ 実施予定日時：現在時刻

### 機器一覧の更新
機器一覧もホスト名を db01 から web01 に変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798829/281fc05a-0ede-ea3e-c95d-e4dfa4c42d2e.png)
+ ホスト名：db01 ⇒　web01

### Conductor作成
今までのシナリオではMovementそれぞれ単体で実行していましたが、Conductorという機能を使うと連続した一連の作業として実行できます。

Conductor編集/作業実行 から、ジョブフローを定義します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798829/b9f6597a-d9f2-2bc6-bcea-7541ef1825ed.png)
ドラッグアンドドロップ操作で作成できます。

### パラメータ設定
今回のシナリオでは、db01 というホストに対して httpd のパッケージをインストールしますが前のシナリオで mariadb-server のパッケージがインストール済みの状態となっています。
そのため、mariadb-server パッケージの状態を absentにして、httpd パッケージの状態を present にします。
ホスト名も db01 から web01 に設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798829/d8ef6b3d-f678-f1bc-eb42-220531f67438.png)

サーバー基本情報のパラメータを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798829/e8f198bc-6d40-99b9-942d-64b875974bff.png)
+ ホスト名：web01
+ オペレーション名：Webサーバーへの再構築
+ ホスト名："{{ \_\_inventory_hostname\_\_ }}"

導入パッケージのパラメータも作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798829/f3072187-3501-ab75-a73c-ed53aa023bd5.png)
■項目①
+ ホスト名：web01
+ オペレーション名：Webサーバーへの再構築
+ 代入順序：1
+ パッケージ名：mariadb-server
+ 状態：absent

■項目②
+ ホスト名：web01
+ オペレーション名：Webサーバーへの再構築
+ 代入順序：2
+ パッケージ名：httpd
+ 状態：present

#### 作業実行
事前の状態では、サーバ名がdb01で、mariadb-server がインストールされていて、httpd はインストールされていません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798829/18ca8625-ce45-bb51-b625-df175604c3c2.png)

今回はConductorのメニューから実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798829/95d54060-a683-3db1-b9cd-687101e23a65.png)

正常終了しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798829/79cb5744-84a8-a9b4-d53b-93371b90e105.png)

サーバの設定も想定通り変更されています！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798829/2c7e36dc-bdbd-80cf-65fe-c1d0a0b57b51.png)

# まとめ
今回実施したジョブフローのシナリオでは、Conductor について学ぶことができました。
Conductor を利用すると複数の Movement をまとめて実行することが出来ます。
ジョブフローは分岐させるなど制御機能もあるようなのでいずれ触ってみたいです。

次回は ユーザー管理 (演習問題)のシナリオの実施します。
[Exastro IT Automation 2.4.0 のLeran(Ansible-Role)をやってみた その④](https://qiita.com/y-arai-0523/private/092ac63ef7f1105f0f97)