Exastro IT Automation ver1.8の新機能をまとめてみた


#はじめに
2021年7月にITAのver1.8が新たにリリースされたということで、新規機能をまとめてみようと思います。
細かく更新が入っているようですが、大まかにジャンル分けして紹介していきます。

##Exastro IT Automationとは
Exastro IT Automation(以下ITAとします)は、システム情報を構成管理、自動化するためのフレームワークです。
システムに実行する手順をコード化(IaC)し、代入されるパラメータを構成管理することで、システム情報を見える化し、構築・運用の自動化を効率的に実現することができるツールとなっています。


#新機能紹介

##1.インストーラ
###構築資材管理機能の削除
ITAのインストールの際、必須ではない機能を追加のドライバとしてインストールの際に選択していましたが、その中の資材管理機能が削除され、CI/CD機能のドライバに一新されました。CI/CD機能については後程簡単に説明します。

下記の図はita_answer.txtの中身になります。
v1.7のmaterialがver1.8ではcicd_for_iacに変更になっています。
![図1-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/5c69826b-edf6-438b-c493-1016043d8b76.png)


##2.ダッシュボード
###未実行のConductor/Symphonyを表示
ITAのダッシュボードから予約して未実行状態のConductor/Symphonyの件数が見られるようになりました。

![図2-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/7c1e2f10-6176-643b-ec4b-109e55527aca.png)


##3.エクスポート/インポート
###各メニューの一括Excelダウンロード/アップロード
ITAでは各メニュー単位で登録しているデータをExcelダウンロードできますが、本機能では複数のメニューを選択してまとめてダウンロードすることができるようになりました。

「他の環境にデータだけ移したい・・！」といった時に便利な機能になります。
もちろん、Excelファイルなので中のデータを更新してアップロードすることも可能です。

下記の図はExcel一括エクスポートの画面になります。
すべてのメニューをまとめて選択するだけではなく、自分がエクスポートしたいメニューを選択することも可能です。
![図3-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/f2e036d1-a753-36ea-b8cf-fe96dc5811bc.png)

下記の図は全メニューを選択してエクスポートした状態になります。
各メニューグループごとのフォルダが切られていて、その中に各メニューのExcelファイルが配置されています。
![図3-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/69356b24-beb5-2703-4a09-cdaa2f8c8afa.png)

管理コンソールのフォルダを見てみると下記の図のようにメニューごとにExcelファイルがあります。
![図3-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/9cc01a0e-cea9-8f67-1f45-b41fff8bd890.png)

###エクスポート/インポートタスクを自身が実行したもののみ表示
メニューエクスポート・インポート管理にて、自分が使っているユーザ以外のタスクは見られなくなりました。

下記の図はシステム管理者でログインし、メニューエクスポートを実行し、フィルタをかけた状態になります。
![図3-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/4305b2cb-355c-c34e-5fbd-df56de94c827.png)

下記の図はテストユーザAでログインした状態になります。フィルタをかけてもレコードが表示されません。
![図3-5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/f61fc98a-8438-2def-6f37-0794bf8310d3.png)

前回のバージョンまではユーザごとに権限付与しているにも関わらず見えてしまっていましたが今回のバージョンで修正されました。


##4.Conductor/Symphony
###定期作業実行の際、未実行(予約)にステータス遷移
ver1.8.0より前のバージョンでは、定期作業実行に登録された作業は
3分前になると未実行（予約）ステータスに遷移する仕様になっていましたが、このステータスが遷移する時間をユーザ側で決められるようになりました。

先にダッシュボードにて紹介した予約件数の表示と合わせて、定期実行の予約件数や状況が分かりやすくなりました　。

###クラス編集のAPI対応
Conductor/Symphonyのクラス編集をする際、今まではGUI操作のみから可能でしたが、APIから操作が可能になりました。
具体的な方法については下記URLの公式ドキュメントをご参照ください。

[利用手順マニュアル REST API](https://exastro-suite.github.io/it-automation-docs/asset/Documents_ja/Exastro-ITA_%E5%88%A9%E7%94%A8%E6%89%8B%E9%A0%86%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB_RestAPI.pdf)


##5.メニュー作成
###プルダウン選択で「YES/No」、「True/False」、「*/（ブランク）」を選択可能
メニュー作成でプルダウン項目を使用する際に「YES/No」、「True/False」、「*/（ブランク）」を使用することができるようになりました。

![図5-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/c0f58a67-7e31-8118-79e9-c3e9909cf695.png)

前回のバージョンまではデータシートでプルダウン項目を作成してからパラメータシートの作成を行っていました([クイックスタート(ver1.7.0)](https://qiita.com/y-masaya3210/items/a6d59b3aca0031128ab7#3-cmdb%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B7%E3%83%BC%E3%83%88%E3%81%A8%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%82%B7%E3%83%BC%E3%83%88%E3%82%92%E8%A8%AD%E5%AE%9A)を参照)。

ですが今回のバージョンからはよく使うプルダウン項目の3つがデフォルトで用意されたことによりパラメータシートを作成するのみでOKとなりました。実際の使用方法につきましては[クイックスタート(ver1.8.0)](https://qiita.com/y-masaya3210/items/68920237c03e5d4f4776#31-%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%82%B7%E3%83%BC%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B)をご参照ください。

###Web画面でマルチユニークの設定が可能
マルチユニークは【一意制約(複数項目)】のことになります。
作成したメニューにデータを登録する際に、指定した複数の項目で同じレコードの組み合わせが登録できないように制御する機能です。
入力ミスなどの抑制や、設計管理を行う際の補助にも使えそうです。
![図5-2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/fa71d023-feb7-4ee0-498d-ab587ae7f9c9.png)

###プルダウン選択で入力した値にリンク付与
プルダウン項目を利用してレコードを登録した際、登録された項目がリンクとなり、
クリックすると選択した値が登録されているメニューに遷移することが可能になりました。


##6.収集/比較
###比較実行時のオプション追加(差分なしの出力有無)
比較機能を実行する際、差分がない部分について出力を行う/行わないか選択することができるようになりました。
![図6-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/ebef7100-6eb9-2d29-d1ca-945a6cfe4f0a.png)


##7.Ansible-Driver
###API実行時のProxy対応
ITAがProxy環境にある場合、Ansible/Ansible Towerに接続するためのProxyサーバのIPアドレスとPortの登録ができるようになりました。

###Pioneerモードの文字コード選択
Pioneerモードを実行する際、デフォルトの文字コードはUTF-8で実行されますが、
他の文字コードを選択することができるようになりました。

下記の図は機器一覧になります。ログインユーザのLANGを指定します。
utf-8、euc、shift_jisから文字コードを選択できるようになりました。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/794730/22d76665-7eb9-b813-bd5f-4f2c2d9d3a07.png" width=80%>


##8.CI/CD for IaC
ver1.8で追加された機能の目玉といえるのがCI/CD機能の追加です。
CI/CD For IaC機能は、大きく分けて2つの機能があります。

①Git 連携機能
ITA内にGitリポジトリのクローンを作成します。クローンを介して定期的に紐付元資材の更新を検知しITAの「リモートリポジトリ資材」メニューに一覧を作成します。
②資材紐付機能
紐付元資材と紐付先資材の紐付を登録し、紐付先資材の動作検証を行う為のオペレーションとMovementを登録します。紐付元資材が更新されると、紐付先資材が自動更新され、動作検証を行う為のオペレーションとMovementで作業実行を行います。

![図8-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/25193798-dd09-098a-edc2-4a9037dc6ce0.png)


概要だけではわかりにくいと思いますので実際に触っていきます。
今回は[クイックスタート(ver1.8.0)](https://qiita.com/y-masaya3210/items/68920237c03e5d4f4776)で使用しているPlaybook(yum_package_install.yml)を連携してみたいと思います。

細かい設定方法につきましては今回は省略します。詳しくは[利用手順マニュアル CICD For IaC機能編](https://exastro-suite.github.io/it-automation-docs/asset/Documents_ja/Exastro-ITA_%E5%88%A9%E7%94%A8%E6%89%8B%E9%A0%86%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB_CICD_For_IaC%E6%A9%9F%E8%83%BD.pdf)をご参照ください。

下記の図は「リモートリポジトリ」と「登録アカウント」を行い、「資材紐付」まで完了させた状態になります。
今回はGitHubを使用しています。リポジトリはパブリックのものを用意しました。プライベートのリポジトリも使用できますがGitHubではパスワード認証が廃止したようでITAではパスワードのところへ個人アクセストークンを入力する必要があるみたいです。リモートリポジトリでプライベートのリポジトリを登録する際にはご注意ください。トークンの作成方法につきましては[こちら](https://docs.github.com/ja/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token)をご参照ください。
資材パスはGithubにアップロードしておいたPlaybook(yum_package_install.yml)を選択、紐付先素材タイプはAnsible-Legacyコンソール/Playbook素材集を選択しています。
![図8-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/35b61896-405e-0f91-48c0-849e7b5c74ab.png)

下記の図はAnsible-Legacyコンソール内のPlaybook素材集メニューです。
同期が完了すると以下のように登録されます。
![図8-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/28f86953-7b06-2c62-73f0-0debedf88c1a.png)

下記の図はGitHubの画面になります。Playbookを修正したいな…となった時にGitHub上で修正をすることで更新したことを検知し同期が行われ先ほど連携させたITA上のPlaybookも修正されます。今まではPlaybookを修正したくなったら新しく作成しその都度ITAにアップロードしなおしていたのでかなり便利になりました。
![図8-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/43cc09b4-e52b-6be6-bcda-f3d1a42460d9.png)

またデリバリー機能で紐付先資材を更新した場合に、Movemnetを実行するオペレーションの選択や実行するMovementを選択することができます。
ドライランの選択も可能で、更新したPlaybookが正しく動作するどうかの確認をすることができます。
![図8-5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1333336/50d23ac1-2bf3-b56c-8880-19a63046bfc9.png)


#まとめ
今回はver1.8で追加された機能についてご紹介しました。
これらの機能を利用して、よりITAを有効的に活用してみてください。

#関連リンク
+ [Exastro IT Automationをインストールしてみた（v1.8.0）] (https://qiita.com/standsetx/items/53553a0f78edc3097812)
+ [Exastro IT Automation クイックスタート (ver1.8.0)] (https://qiita.com/y-masaya3210/items/68920237c03e5d4f4776)
+ [Exastroコミュニティ (Github)] (https://exastro-suite.github.io/it-automation-docs/index_ja.html)
+ [利用手順マニュアル Rest API] (https://exastro-suite.github.io/it-automation-docs/asset/Documents_ja/Exastro-ITA_%E5%88%A9%E7%94%A8%E6%89%8B%E9%A0%86%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB_RestAPI.pdf)
+ [利用手順マニュアル CICD For IaC機能編](https://exastro-suite.github.io/it-automation-docs/asset/Documents_ja/Exastro-ITA_%E5%88%A9%E7%94%A8%E6%89%8B%E9%A0%86%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB_CICD_For_IaC%E6%A9%9F%E8%83%BD.pdf)