IWS 10.1 Agent(FTA/DA) の導入

IBM Workload Scheduler(IWS) 10.1 Agent を RHEL8へインストールし、IWS Server(以下MDM）へ接続するまでの手順。
本手順では Fault Tolerant Agent(以下FTA） と Dynamic Agent(以下DA) の両方をインストールする。


# 構成
* IWS Agent 
    * OS: RHEL 8.4
    * 導入コンポーネント：Fault Tolerant Agent(FTA), Dynamic Agent(DA)
    
* IWS Server（MDM, Agent 接続先）
    * OS: RHEL 8.4
    * 導入済みコンポーネント：IWS Master Domain Manager(MDM), Dynamic Workload Console(DWC)
  

# インストール前提
インストールの前提要件はこちら参照。
Detailed system requirements for IBM Workload Scheduler, version 10.1.0
https://www.ibm.com/support/pages/node/6426839

# インストールメディアの入手先
こちら参照。「IBM Workload Scheduler Agent V10.1, and Workload Scheduler for Applications for Linux on x86-64, Multilingual」をダウンロードする。

IBM Workload Scheduler, version 10.1.0 - Linux
https://www.ibm.com/support/pages/node/6426843

# 参考手順
マニュアル記載の手順はこちら。
https://www.ibm.com/docs/ja/workload-automation/10.1.0?topic=ia-agent-installation-procedure


# インストール手順
* 操作は全てrootユーザで行う。

## umaskの設定
* umask は 0022へ設定する。（これ超重要！）
```
umask 0022
```

## 前提 rpmの導入
* 前提チェックスクリプトを実行するために、bc コマンドをインストールする。
```
yum install bc
```

## 必要ユーザの作成
* 次のOSユーザを作成し、パスワードを設定しておく。（パスワードはインストール時に必要）

|ユーザ名 |所属グループ|用途 |
|---|---|---|
|wauser|wauser|IWS管理ユーザー|

参考までにユーザー作成した時のコマンド
```
groupadd -g 1001 wauser
useradd -u 1001 -g 1001 wauser
passwd wauser
```

## twsinst スクリプト（インストールスクリプト）の実行
* インストールイメージを展開したディレクトリへ移動し、twsinst スクリプトを実行する。
twsinst スクリプトのオプション詳細は下記を参照。
https://www.ibm.com/docs/ja/workload-automation/10.1.0?topic=agents-agent-installation-parameters-twsinst-script

下記例は /work/iws　にインストールイメージを展開した場合の例。

```
cd /work/iws/TWS/LINUX_X86_64
./twsinst -new -acceptlicense yes -agent both -inst_dir /opt/wa -master IWSSVR21 -tdwbhostname iwssvr21.env2.com -tdwbport 31116 -thiscpu IWSDB21 -uname wauser
```

指定オプション：
|オプション |指定値|備考 |
|---|---|---|
|-agent|both|FTA,DA両方をインストール|
|-inst_dir|/opt/wa|インストールディレクトリー|
|-master|IWSSVR21|FTA接続先MDMのワークステーション名|
|-tdwbhostname|iwssvr21.env2.com|DA接続先MDMのホスト名|
|-tdwbport|31116|DA接続先MDMのtdwbポート（デフォルト）|
|-thiscpu|IWSDB21|FTAのワークステーション名。この場合DAのワークステーション名は IWSDB21_1となる。|
|-uname|wauser|IWS管理ユーザー名|

前提を満たしていることを確認できているにもかかわらず、前提チェックのエラーによりインストールへ進めない場合は、"-skipcheckprereq" オプションを指定して twsinst コマンドを実行する。
```
cd /work/iws/TWS/LINUX_X86_64
/twsinst -new -skipcheckprereq -acceptlicense yes -agent both -inst_dir /opt/wa -master IWSSVR21 -tdwbhostname iwssvr21.env2.com -tdwbport 31116 -thiscpu IWSDB21 -uname 
```

# DAをMDMへ接続する
DAのワークステーション定義は、DAインストール時に自動的にIWS DBに登録される。
MDM のグローバル・オプション "enAddWorkstation"の設定値により、DAが実動計画(Symphonyファイル）に追加されてジョブを実行可能となるタイミングが異なる。
以降の手順は全てMDMで実行する。

"enAddWorkstation"の設定値は、IWS管理ユーザーで次のコマンドを実行して確認可能。
```
optman ls | grep enAddWorkstation
```

DAを自動的に実動計画に追加するには"enAddWorkstation"の値をYESにしておく。
"enAddWorkstation"の値は次のコマンドで変更可能。（下記はYESに変更する場合）
```
optman chg aw = YES
```

## enAddWorkstationの値がNOの場合
IWS DBへDAのワークステーション定義が自動登録された後、最初のFINALジョブストリーム実行または JnextPlan実行時に実働計画へDAが追加される。
導入後直ちにDAの接続確認を行いたい場合はIWS管理ユーザーで次のコマンドを実行する。ただし、このコマンドを実行すると全FTAへ実動計画の再配布が行われるため、本番稼働環境での実行は推奨されない。本番稼働環境での実行は推奨されない。その場合はFINALジョブストリームが実行されるのを待つ。


```
JnextPlan -for 0000
```

実動計画へDAが追加されたことを確認する。IWS管理ユーザーで次のコマンドを実行し、実行結果にAgent名と接続時刻が表示されていることを確認する。

```
conman sc
```

## enAddWorkstationの値がYESの場合
IWS DBへDAのワークステーション定義が自動登録された後、数分後に実動計画にDAが追加される。
導入後に少し時間をおいてからIWS管理ユーザーで次のコマンドを実行し、実行結果にAgent名と接続時刻が表示されていることを確認する。

```
conman sc
```

# FTAをMDMへ接続する
以下の手順を実行する。

## FTAのワークステーション定義を登録する
* Dynamic Workload Consoleへログインし、「設計」＞「ワークロード定義（新規）」＞「Workload Designer」の順に選択する。
![スクリーンショット 2022-10-17 17.33.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135603/0499bc23-1e2a-64de-71a2-c5e1398936c5.png)

* 「エンジンの選択」ダイアログが表示されたら、適宜エンジンを選択し「適用」ボタンをクリックする。
![スクリーンショット 2022-10-17 17.34.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135603/57540974-25ef-d031-aeb9-4b523e4e5178.png)

* 「検討領域」のタブで「新規作成」＞「ワークステーション」の順にクリックする。
![スクリーンショット 2022-10-17 21.26.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135603/cbacb5d6-e7c6-6813-e1a2-68579a18dbed.png)

* 「ワークステーションの選択」ダイアログで「フォールト・トレラント・エージェント」をクリックする。
![スクリーンショット 2022-10-17 21.28.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135603/3d928a0c-4caf-cc34-55be-0e03b0f4eb2e.png)

* 画面右側の「プロパティー」タブで次の内容を入力する。記載のないものは特に指定がなければデフォルトのまま。値が指定されていなければ入力不要。入力後「保存」をクリックする。

|項目|指定値|説明|
|---|---|---|
|フォルダ|/|デフォルトは"/"。特に指定がなけれなそのまま。|
|名前|IWSDB21|FTAのワークステーション名。通常はホスト名と同一にする。|
|ドメイン|MASTERDM|FTAをMDMに直接接続する場合はMASTERDM。|
|タイム・ゾーン|Asia/Tokyo|システムで指定したタイムゾーンに合わせる|
|ノード名|iwsdb21.env2.com|FTAのホスト名またはIPアドレス|

![スクリーンショット 2022-10-17 21.43.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135603/5a96028c-cde2-79f4-4144-7d293a2efbfe.png)

## FTAを実動計画に追加する
IWS DBへFTAのワークステーション定義が自動登録された後、最初のFINALジョブストリーム実行または JnextPlan実行時に実働計画へFTAが追加される。
導入後直ちにFTAの接続確認を行いたい場合はIWS管理ユーザーで次のコマンドを実行する。ただし、このコマンドを実行すると全FTAへ実動計画の再配布が行われるため、本番稼働環境での実行は推奨されない。その場合はFINALジョブストリームが実行されるのを待つ。


```
JnextPlan -for 0000
```

実動計画へFTAが追加されたことを確認する。IWS管理ユーザーで次のコマンドを実行し、実行結果にFTA名と接続時刻が表示されていることを確認する。

```
conman sc
```