PowerVC 2.0.2.1 オフライン・インストール

##### はじめに

PowerVC 2.0.2.1 が 2021年12月半ばにリリースされました。
サービス・パックレベルであるにも関わらず新機能が追加され、ダイレクト・インストールが可能となっています。

当記事では以前導入した環境でのアップデートではなく、新規インストールを行いました。


---
##### 環境

・RHEL 8.4(ppc64le) on PowerSystems
・PowerVC 2.0.2.1 



---
##### 準備

・yum (dnf) レポジトリを local で作成
　

```
[root@powervc-ova yum.repos.d]# dnf repolist
repo id                                                     repo の名前
dvd-AppStream                                               RHEL8_AppStream
dvd-BaseOS                                                  RHEL8_BaseOS
dvd-HA                                                      RHEL8_High_Availabilityt
dvd-supplement                                              RHEL8_Supplement
```


・Ansible 導入実施

実施内容を以下で記載：

https://qiita.com/c_u/items/67fba54bd5eaca593cb1




---
##### opsmgr 導入

PowerVC 2.0.2.1 のモジュール "powervc-opsmgr-rhel-ppcle-2.0.2.1.tgz
" を展開します。

```
# ls
powervc-opsmgr-rhel-ppcle-2.0.2.1.tgz

# gzip -d powervc-opsmgr-rhel-ppcle-2.0.2.1.tgz

# ls -l
total 3674168
-rw-r--r--. 1 root root 3762339840 Dec 10 20:39 powervc-opsmgr-rhel-ppcle-2.0.2.1.tar
-rw-r--r--. 1 root root       6174 Dec 10 20:39 readme.txt


# tar -xvf powervc-opsmgr-rhel-ppcle-2.0.2.1.tar
powervc-opsmgr-2.0.2.1/
powervc-opsmgr-2.0.2.1/images/
powervc-opsmgr-2.0.2.1/images/RPM-GPG-KEY-PowerVC
powervc-opsmgr-2.0.2.1/setup_opsmgr.sh

~ 省略 ~


powervc-opsmgr-2.0.2.1/license/standard/non_ibm_license
powervc-opsmgr-2.0.2.1/license/standard/notices
powervc-opsmgr-2.0.2.1/lap/
powervc-opsmgr-2.0.2.1/lap/LAPApp.jar
#


# ls -l
total 3674168
drwxr-xr-x. 7 root root        206 Dec  3 05:09 powervc-opsmgr-2.0.2.1
-rw-r--r--. 1 root root 3762339840 Dec 10 20:39 powervc-opsmgr-rhel-ppcle-2.0.2.1.tar
-rw-r--r--. 1 root root       6174 Dec 10 20:39 readme.txt
```

tarファイルが展開され、ディレクトリが作成されました。


setup_opsmgr.sh のコマンド・ヘルプ確認

```
# cd ./powervc-opsmgr-2.0.2.1
# ./setup_opsmgr.sh -h
Usage: ./setup_opsmgr.sh [ -h ] [ -s ]

optional arguments:
-h, --help            show this help message and exit
-s                    runs in silent mode
-o                    use opensuse repo for SLES distro
```



何度か試してエラーとなったのですが、"LANG=C" をつけて成功することが確認できました。

```
# export LANG=C
# ./setup_opsmgr.sh
################################################################################
Starting the PowerVC:setup_prepnode 2.0.2.1 installation on:
2021-12-29T03:31:18-05:00
################################################################################
International Program License Agreement

Part 1 - General Terms

BY DOWNLOADING, INSTALLING, COPYING, ACCESSING, CLICKING ON
AN "ACCEPT" BUTTON, OR OTHERWISE USING THE PROGRAM,
LICENSEE AGREES TO THE TERMS OF THIS AGREEMENT. IF YOU ARE
ACCEPTING THESE TERMS ON BEHALF OF LICENSEE, YOU REPRESENT
AND WARRANT THAT YOU HAVE FULL AUTHORITY TO BIND LICENSEE
TO THESE TERMS. IF YOU DO NOT AGREE TO THESE TERMS,

* DO NOT DOWNLOAD, INSTALL, COPY, ACCESS, CLICK ON AN
ACCEPT BUTTON, OR USE THE PROGRAM; AND

* PROMPTLY RETURN THE UNUSED MEDIA, DOCUMENTATION, AND

Press Enter to continue viewing the license agreement, or
enter "1" to accept the agreement, "2" to decline it, "3"
to print it, "4" to read non-IBM terms, or "99" to go back
to the previous screen.
1
2021-12-29T03:31:21.00-05:00 [INFO]:[] License accepted.
Configuring Yum repository...
2021-12-29T03:31:59.78-05:00 [INFO]:[VALIDATION] BASE DIRECTORY : /opt/ibm/powervc-opsmgr
2021-12-29T03:31:59.78-05:00 [INFO]:[VALIDATION] INSTALL SCRIPT : /work/powervc2021/powervc-opsmgr-2.0.2.1/setup_opsmgr.sh
2021-12-29T03:31:59.79-05:00 [INFO]:[VALIDATION] LOG FILE : /opt/ibm/powervc-opsmgr/log/prep_node/prep_node_2021-12-29-0331.log
2021-12-29T03:31:59.79-05:00 [INFO]:[VALIDATION] OPERATING SYSTEM: Red Hat Enterprise Linux.
2021-12-29T03:31:59.80-05:00 [INFO]:[VALIDATION] RHEL_VERSION : 84
2021-12-29T03:31:59.80-05:00 [INFO]:[VALIDATION] User ID : root
2021-12-29T03:31:59.80-05:00 [INFO]:[INSTALL_ANSIBLE] Ansible already installed.
2021-12-29T03:32:00.11-05:00 [INFO]:[INSTALL_ANSIBLE] ANSIBLE_VERSION_INSTALLED: 2.9.27.
2021-12-29T03:32:07.85-05:00 [INFO]:[INSTALL_ANSIBLE] Ansible currently installed. ANSIBLE VERSION: 2.9
2021-12-29T03:32:07.85-05:00 [INFO]:[INSTALL_ANSIBLE] Installing PowerVC Ops. Manager...
2021-12-29T03:32:07.86-05:00 [INFO]:[INSTALL_POWERVC_OPSMGR] POWERVC OPSMGR PACKAGES : sshpass python3-netaddr rsync python3-oslo-i18n python3-powervc-opsmgr
2021-12-29T03:32:15.68-05:00 [INFO]:[INSTALL_POWERVC_OPSMGR] PowerVC Opsmgr packages installed successfully.
################################################################################
PowerVC:setup_prepnode installation completed at 2021-12-29T03:32:15-05:00.
Refer to
/opt/ibm/powervc-opsmgr/log/prep_node/prep_node_2021-12-29-0331.log
for more details.
################################################################################
```

opsmgr 導入確認

```
# which powervc-opsmgr
/usr/bin/powervc-opsmgr
#
```

コマンドが導入されていることを確認しました。


---
##### インベントリーの作成

1 node、monitoring なし、firewall あり設定でインベントリーを作成します。

```
# powervc-opsmgr inventory -c powervc2021
*********************************************************
Install Private cloud edition(y/n): y
Enable Monitoring (y/n): n
Configure Firewall (y/n): y
*********************************************************
Enter the number of nodes: 1
*********************************************************
INFO: First node specified will be considered as primary host/node
*******************************************************
Enter IP/Hostname for Node 1: xx.xxx.x.xxx
Enter Username for Node 1: root
Enter Password for Node 1:
*********************************************************
Enter Virtual IP: xx.xxx.x.yyy
Establishing passwordless connection

PLAY [Configure SSH Keys] ******************************************************

TASK [Gathering Facts] *********************************************************
Wednesday 29 December 2021  03:34:40 -0500 (0:00:00.033)       0:00:00.034 ****
ok: [xx.xxx.x.xxx]

TASK [command] *****************************************************************
Wednesday 29 December 2021  03:34:41 -0500 (0:00:01.823)       0:00:01.857 ****
changed: [xx.xxx.x.xxx]

TASK [Store Locale variable] ***************************************************
Wednesday 29 December 2021  03:34:42 -0500 (0:00:00.796)       0:00:02.654 ****
ok: [xx.xxx.x.xxx]

TASK [include_vars] ************************************************************
Wednesday 29 December 2021  03:34:42 -0500 (0:00:00.095)       0:00:02.750 ****
skipping: [xx.xxx.x.xxx]

TASK [include_vars] ************************************************************
Wednesday 29 December 2021  03:34:42 -0500 (0:00:00.085)       0:00:02.835 ****
skipping: [xx.xxx.x.xxx]

TASK [include_vars] ************************************************************
Wednesday 29 December 2021  03:34:43 -0500 (0:00:00.088)       0:00:02.923 ****
skipping: [xx.xxx.x.xxx]

TASK [Error Message for utils nls] *********************************************
Wednesday 29 December 2021  03:34:43 -0500 (0:00:00.087)       0:00:03.011 ****
skipping: [xx.xxx.x.xxx]

TASK [include_vars] ************************************************************
Wednesday 29 December 2021  03:34:43 -0500 (0:00:00.085)       0:00:03.097 ****
ok: [xx.xxx.x.xxx]

TASK [include_vars] ************************************************************
Wednesday 29 December 2021  03:34:43 -0500 (0:00:00.044)       0:00:03.142 ****
ok: [xx.xxx.x.xxx]

TASK [pvc_sshkeys : include_vars] **********************************************
Wednesday 29 December 2021  03:34:43 -0500 (0:00:00.100)       0:00:03.242 ****
ok: [xx.xxx.x.xxx]

TASK [pvc_sshkeys : Get the stat for ssh directory] ****************************
Wednesday 29 December 2021  03:34:43 -0500 (0:00:00.090)       0:00:03.333 ****
ok: [xx.xxx.x.xxx]

TASK [pvc_sshkeys : Delete ssh is file or link] ********************************
Wednesday 29 December 2021  03:34:43 -0500 (0:00:00.405)       0:00:03.739 ****
skipping: [xx.xxx.x.xxx]

TASK [pvc_sshkeys : ssh ディレクトリー /root/.ssh が作成されます] ****************************
Wednesday 29 December 2021  03:34:44 -0500 (0:00:00.146)       0:00:03.885 ****
ok: [xx.xxx.x.xxx]

TASK [pvc_sshkeys : ssh 鍵ペアの生成] ************************************************
Wednesday 29 December 2021  03:34:44 -0500 (0:00:00.357)       0:00:04.243 ****
changed: [xx.xxx.x.xxx]

TASK [pvc_sshkeys : 公開鍵の取り出し] **************************************************
Wednesday 29 December 2021  03:34:44 -0500 (0:00:00.555)       0:00:04.799 ****
ok: [xx.xxx.x.xxx]

TASK [pvc_sshkeys : 鍵を authorized_keys ファイルにコピー] *******************************
Wednesday 29 December 2021  03:34:45 -0500 (0:00:00.330)       0:00:05.129 ****
changed: [xx.xxx.x.xxx] => (item=xx.xxx.x.xxx)

TASK [pvc_sshkeys : Make all Hosts known to each other - update known_hosts files] ***
Wednesday 29 December 2021  03:34:45 -0500 (0:00:00.479)       0:00:05.608 ****
# xx.xxx.x.xxx:22 SSH-2.0-OpenSSH_8.0
# xx.xxx.x.xxx:22 SSH-2.0-OpenSSH_8.0
# xx.xxx.x.xxx:22 SSH-2.0-OpenSSH_8.0
changed: [xx.xxx.x.xxx] => (item=xx.xxx.x.xxx)
xx.xxx.x.xxx                : ok=12   changed=4    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0

PLAY RECAP *********************************************************************
xx.xxx.x.xxx                : ok=12   changed=4    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0

Wednesday 29 December 2021  03:34:46 -0500 (0:00:00.411)       0:00:06.019 ****
===============================================================================
Gathering Facts --------------------------------------------------------- 1.82s
command ----------------------------------------------------------------- 0.80s
pvc_sshkeys : ssh 鍵ペアの生成 ------------------------------------------------ 0.56s
pvc_sshkeys : 鍵を authorized_keys ファイルにコピー ------------------------------- 0.48s
pvc_sshkeys : Make all Hosts known to each other - update known_hosts files --- 0.41s
pvc_sshkeys : Get the stat for ssh directory ---------------------------- 0.41s
pvc_sshkeys : ssh ディレクトリー /root/.ssh が作成されます ---------------------------- 0.36s
pvc_sshkeys : 公開鍵の取り出し -------------------------------------------------- 0.33s
pvc_sshkeys : Delete ssh is file or link -------------------------------- 0.15s
include_vars ------------------------------------------------------------ 0.10s
Store Locale variable --------------------------------------------------- 0.10s
pvc_sshkeys : include_vars ---------------------------------------------- 0.09s
include_vars ------------------------------------------------------------ 0.09s
include_vars ------------------------------------------------------------ 0.09s
Error Message for utils nls --------------------------------------------- 0.09s
include_vars ------------------------------------------------------------ 0.09s
include_vars ------------------------------------------------------------ 0.05s
SSH Key exchange successfully completed at, 2021-12-29 03:34:46.,
 Refer to
 /opt/ibm/powervc-opsmgr/ansible/artifacts/powervc-opsmgr_powervc2021_ssh_key_xchg_20211229_033439/stdout
 for more details.
Inventory file generated successfully at /opt/ibm/powervc-opsmgr/ansible/inventory/powervc2021



# powervc-opsmgr inventory --list
Cluster name: powervc2021
Hosts: ['xx.xxx.x.xxx']
Edition: private_cloud
Firewall Config: True
Monitoring: False
Primary host: xx.xxx.x.xxx
Virtual IP: xx.xxx.x.yyy
---End of cluster powervc2021---
```



---
##### インストール



```
# nohup powervc-opsmgr install -c powervc2021 &
[1] 77265
#
```

動いているか心配なので ansible のプロセスを確認します。


```
# ps -ef | grep ansible
root       77280       1  0 03:42 ?        00:00:00 ssh: /tmp/.ansible/cp/33b0b64c0f [mux]
root       79219   77265 38 03:44 pts/1    00:00:02 /usr/libexec/platform-python /usr/bin/ansible-playbook --tags=configure -i /opt/ibm/powervc-opsmgr/ansible/inventory/powervc2021 -e @/opt/ibm/powervc-opsmgr/ansible/env/extravars install.yml
root       79395   79219  0 03:44 pts/1    00:00:00 /usr/libexec/platform-python /usr/bin/ansible-playbook --tags=configure -i /opt/ibm/powervc-opsmgr/ansible/inventory/powervc2021 -e @/opt/ibm/powervc-opsmgr/ansible/env/extravars install.yml
root       79397   42006  0 03:44 pts/0    00:00:00 grep --color=auto ansible
```

時間をおいて確認します。

----

##### 導入確認


導入が成功しているかどうかはログ	(/opt/ibm/powervc-opsmgr/ansible/artifacts/powervc-opsmgr_powervc2021_install_20211229_034403) を確認します。


```
# ls -ltr
total 2784
-rw-------. 1 root root    3397 Dec 29 03:44 command
drwxr-xr-x. 2 root root      25 Dec 29 03:44 fact_cache
drwx------. 2 root root 1462272 Dec 29 04:40 job_events
-rw-------. 1 root root 1101184 Dec 29 04:40 stdout
-rw-------. 1 root root      10 Dec 29 04:40 status
-rw-------. 1 root root       1 Dec 29 04:40 rc

# cat rc
0

# cat status
successful

```

-> rc、status は成功を示しています。


stdout で ansible ログが確認できます。

```
# cat stdout

PLAY [PowerVC Installation] ****************************************************
Wednesday 29 December 2021  03:44:05 -0500 (0:00:00.102)       0:00:00.102 ****
ok: [xx.xxx.x.xxx]

TASK [Gathering Facts] *********************************************************
ok: [xx.xxx.x.xxx]
Wednesday 29 December 2021  03:44:06 -0500 (0:00:01.535)       0:00:01.638 ****

TASK [command] *****************************************************************
changed: [xx.xxx.x.xxx]
Wednesday 29 December 2021  03:44:07 -0500 (0:00:00.892)       0:00:02.530 ****
ok: [xx.xxx.x.xxx]

TASK [Store Locale variable] ***************************************************
ok: [xx.xxx.x.xxx]
Wednesday 29 December 2021  03:44:07 -0500 (0:00:00.101)       0:00:02.632 ****
ok: [xx.xxx.x.xxx]

TASK [include_vars] ************************************************************
ok: [xx.xxx.x.xxx]
Wednesday 29 December 2021  03:44:07 -0500 (0:00:00.101)       0:00:02.733 ****
ok: [xx.xxx.x.xxx]

~ 省略 ~

TASK [pvc_main : 再生の成功メッセージ] ***************************************************
ok: [xx.xxx.x.xxx] => {
    "msg": "Play completed successfully"
}
Wednesday 29 December 2021  04:40:51 -0500 (0:00:00.172)       0:56:46.206 ****
xx.xxx.x.xxx                : ok=2567 changed=1190 unreachable=0    failed=0    skipped=1916 rescued=0    ignored=2


PLAY RECAP *********************************************************************
xx.xxx.x.xxx                : ok=2567 changed=1190 unreachable=0    failed=0    skipped=1916 rescued=0    ignored=2

Wednesday 29 December 2021  04:40:51 -0500 (0:00:00.170)       0:56:46.376 ****
===============================================================================
pvc_mongodb : MongoDB パッケージのインストール ------------------------------------ 113.02s
pvc_utils : 生成されたパスワード・ストリングを暗号化 --------------------------------------- 77.59s
pvc_bootstrap_keystone : keystone パッケージのインストール ------------------------- 63.12s
pvc_utils : selinux パッケージのインストール --------------------------------------- 59.15s
pvc_ansible : リモート・ノードで tar イメージを解凍 ------------------------------------ 57.29s
pvc_ui : UI サーバー/クライアント・パッケージのインストール ----------------------------------- 40.48s
pvc_galera_new : mariadb パッケージおよび galera パッケージのインストール ------------------ 38.06s
pvc_ansible : Powervc パッケージのコピー ---------------------------------------- 37.64s
pvc_bootstrap_keystone : 事前定義ロールの作成 ------------------------------------ 32.76s
pvc_reg_services : openstack エンドポイント作成 --------------------------------- 32.09s
pvc_galera_new : WSREP が準備済み状態になるまで 30 秒待つ ----------------------------- 30.43s
pvc_main : galera がアクティブ・リソースになるまで 30 秒待つ ------------------------------ 30.40s
_galera_new : WSREP が準備済み状態になるまで 30 秒待pvc_galera_new : WSREP が準備済み状態になるまで 30 秒待つ ----------------------------- 30.40s
pvc_pacemaker : クラスターがオンラインになって作動可能になるまで待つ ----------------------------- 24.27s
pvc_db_conn : DB 資格情報を作成して許可を付与 ---------------------------------------- 21.56s
pvc_reg_services : コンポーネント・リストの取得 -------------------------------------- 16.10s
pvc_pacemaker : ペースメーカーのパッケージをインストール ----------------------------------- 16.04s
pvc_bootstrap_keystone : サービスに対する Openstack pvc_internal ユーザー・サービス・ロール割り当て -- 15.54s
pvc_galera_new : galera サービスを完全に停止するには 15 秒待つ -------------------------- 15.53s
pvc_galera_new : galera サービスを完全に停止するには 15 秒待つ -------------------------- 15.40s
IBM PowerVC installation successfully completed at 2021-12-29 04:40:51.

```


---

##### PowerVC 2.0.2.1 で新しい機能

GUI は見た目は同じですが、機能追加した項目があります。

・HMC host scaling with additional Compute plane node

![pvc2021_compute_node.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/78ae76c9-302a-ba17-ddc6-a92bcab6f928.png)

[Compute plane node and HMC host scaling](https://www.ibm.com/docs/en/powervc/2.0.2?topic=hosts-compute-plane-node-hmc-host-scaling)

---

・Infoblox integration



![pvc2021_network_dns.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/857d4173-cbb0-2b68-8329-e866488cfc64.png)


[Automatically update DNS records](https://www.ibm.com/docs/en/powervc/2.0.2?topic=networks-automatically-update-dns-records)

---
ネットワークが複数ある場合、デプロイ時に順序が選択できるようになっています。
(これは良い機能!)


![スクリーンショット 2021-12-31 12.55.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/c26441e2-0b8a-fbda-b54b-19c1d6cd6ada.png)

Select network order on GUI (RFE ID: [151694](https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe&CR_ID=151694))
こちらは RFE の要望で拡張されたようですね。


---

PowerVC 2.0.2.1 が導入できました。


以上です。