1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerVC 2.3.1 の導入 (RHEL 8.10 ppc64le)

Last updated at Posted at 2025-08-23

はじめに

2025年7月下旬 PowerVC 2.3.1 がリリースしました。

導入方法が変わっていないかを確認するため、IBM Power上の RHEL 8.10 LPAR に導入検証を実施したログを記載します。


PowerVC 2.3.1 新機能

PowerVC サポート P11
ヘルスモニターの強化
インストール、アップグレードのヘルスチェック
イベントフレームワークの強化
PowerVC サービスの拡張とデータベースCLIユーティリティ
PowerVC IBM FlashSystem 8.6.2 以降をサポート
ストレージUIの強化
ボリュームのアタッチまたはデタッチ操作の弾力性
powervc-update-scg-ipg CLIの強化
RHEL 9.6 および SLES 15 SP6 OS のサポートが追加

・ インストール、アップグレードのヘルスチェックでは powervc_opsmgr_health_check.py という python スクリプトが用意されており、今回の導入で実行しています。


検証環境

SW: PowerVC 2.3.1 (OpenStack Caracal ベースです)
  => PowerVC 管理ノードは 1 ノード構成

PowerVC version 2.3.1 is built on OpenStack Caracal release.

OpenStack のリリースは 2.3.0 と変わりがないようです。

OS: RHEL 8.10 (Server with GUI edition, CPU 1 Core, Memory 32 GB) on Power (ppc64le)


必要モジュール

・PowerVC 2.3.1 (powervc-opsmgr-rhel-ppcle-2.3.1.tgz)
  => ダウンロードメディアからRHEL版を抜き出しています

・RHEL 8.10 Base iso メディア
・Red Hat High Availability Add-On (RHEL8)

PowerVC 2.3.0 以降では、HA-addon を使用しない Legacy install はサポートが終了したそうです。


RHEL 設定準備

RHEL 8.10 Base media で OS 導入を行いました。

参考:

HMC GUIでVIOS 仮想メディア・リポジトリの iso ファイルをLPARに割り当てる

RHEL9 マニュアル: IBM Power サーバーへのRHELインストール

RHEL 8.4 (ppc64le) で iso ファイルを使用した yum repository の設定



dnf repository 準備

  • iso のマウント
# mount -t iso9660 -o loop /work/iso/rhel-8.10-ppc64le-dvd.iso /media/rhel810
mount: /media/rhel810: WARNING: device write-protected, mounted read-only.

# mount -t iso9660 -o loop /work/iso/rhel-highavailability-8.10-ppc64le-dvd.iso /media/rhel810ha
mount: /media/rhel810ha: WARNING: device write-protected, mounted read-only.

# mount -t iso9660 -o loop /work/iso/supp-supplementary-8.10-rhel-8-ppc64le-dvd.iso /media/rhel810-sup
mount: /media/rhel810-sup: WARNING: device write-protected, mounted read-only.
  • dnf 設定
# cat /etc/dnf/dnf.conf

[RHEL-BaseOS]
name=RHEL810_BaseOS
baseurl=file:///media/rhel810/BaseOS/
enabled=1
gpgcheck=0
gpgkey=file:///media/rhel810/RPM-GPG-KEY-redhat-release

[RHEL-AppStream]
name=RHEL810_AppStream
baseurl=file:///media/rhel810/AppStream/
enabled=1
gpgcheck=0
gpgkey=file:///media/rhel810/RPM-GPG-KEY-redhat-release

[RHEL-Supplement]
name=RHEL810_Supplement
baseurl=file:///media/rhel810-sup
enabled=1
gpgcheck=0
gpgkey=file:///media/rhel810-sup/RPM-GPG-KEY-redhat-release

[RHEL-HA]
name=RHEL810_High_Availability
baseurl=file:///media/rhel810ha/
enabled=1
gpgcheck=0
gpgkey=file:///media/rhel810ha/RPM-GPG-KEY-redhat-release
  • dnf 動作確認
# dnf repolist
repo id                            repo name
RHEL-AppStream                     RHEL810_AppStream
RHEL-BaseOS                        RHEL810_BaseOS
RHEL-HA                            RHEL810_High_Availability
RHEL-Supplement                    RHEL810_Supplement
# dnf search pcs
Last metadata expiration check: 0:00:06 ago on Sun 10 Aug 2025 04:05:53 AM EDT.
========================== Name Exactly Matched: pcs ===========================
pcs.ppc64le : Pacemaker/Corosync Configuration System
============================== Name Matched: pcs ===============================
clufter-lib-pcs.noarch : Extra plugins for transforming/analyzing Pacemaker configuration
pcs-snmp.ppc64le : Pacemaker cluster SNMP agent
pcsc-lite.ppc64le : PC/SC Lite smart card framework and applications
pcsc-lite-ccid.ppc64le : Generic USB CCID smart card reader driver
pcsc-lite-doc.noarch : PC/SC Lite developer documentation
pcsc-lite-libs.ppc64le : PC/SC Lite libraries

PowerVC モジュール準備

# ls -ltr
total 1207604
# gzip -d powervc-opsmgr-rhel-ppcle-2.3.1.tgz
# ls -ltr
total 1214480
-rwxr-xr-x. 1 root root 1243627520 Aug 10 03:30 powervc-opsmgr-rhel-ppcle-2.3.1.tar

# tar -xvf powervc-opsmgr-rhel-ppcle-2.3.1.tar (表示を折りたたんでいます) ``` # tar -xvf powervc-opsmgr-rhel-ppcle-2.3.1.tar powervc-opsmgr-2.3.1/ powervc-opsmgr-2.3.1/images/ powervc-opsmgr-2.3.1/images/RPM-GPG-KEY-PowerVC powervc-opsmgr-2.3.1/setup_opsmgr.sh powervc-opsmgr-2.3.1/checks_config.yaml powervc-opsmgr-2.3.1/powervc_opsmgr_health_check.py powervc-opsmgr-2.3.1/powervc_opsmgr_check.py powervc-opsmgr-2.3.1/powervc_opsmgr_interface.py powervc-opsmgr-2.3.1/update_opsmgr.sh powervc-opsmgr-2.3.1/uninstall-opsmgr.sh powervc-opsmgr-2.3.1/opsmgr-version.properties powervc-opsmgr-2.3.1/images/powervc-install-ppcle-rhel-2.3.1.tgz powervc-opsmgr-2.3.1/images/powervc-opsmgr.tgz powervc-opsmgr-2.3.1/images/powervc-hmc-computeplane-rhel-2.3.1.tgz powervc-opsmgr-2.3.1/version.properties powervc-opsmgr-2.3.1/packages/ powervc-opsmgr-2.3.1/packages/noarch/ powervc-opsmgr-2.3.1/packages/noarch/python311-netaddr-0.10.1-5.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-argparse-1.4.0-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-ecdsa-0.15-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-importlib-metadata-6.2.1-3.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-importlib-resources-6.4.0-3.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-json-logger-2.0.7-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-lockfile-0.12.2-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-lockfile-0.12.2-3.ibm.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-paramiko-3.4.1-5.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-pbr-6.0.0-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-pyasn1-0.6.0-5.ibm.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-pyasn1-modules-0.4.0-4.ibm.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-setuptools-70.0.0-4.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-decorator-5.1.1-3.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-stevedore-5.1.0-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-zipp-3.17.0-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-zipp-3.17.0-3.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-oslo-i18n-6.2.0-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-typing-extensions-4.12.2-5.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-jinja2-3.1.5-1.ibm.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-passlib-1.7.4-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-prettytable-0.7.2-22.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/ansible-2.9.27-99.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/ansible-collection-ansible-posix-1.4.0-1.ibm.el9.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/ansible-collection-community-general-5.5.0-1.ibm.el9.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/ansible-collection-community-mongodb-1.4.2-1.ibm.el9.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-certifi-2020.12.5-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-ipaddress-1.0.23-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-jmespath-1.0.1-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-crudini-0.9.5-1.ibm.el9.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-babel-2.14.0-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-pycadf-3.1.1-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-pycadf-3.1.1-3.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-hpe3parclient-4.2.12-2.ibm.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-tabulate-0.8.9-3.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-colorama-0.4.4-2.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-requests-2.32.2-2.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-charset-normalizer-3.3.2-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-urllib3-2.2.1-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-iniparse-0.5-3.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-idna-3.7-92.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-dateutil-2.9.0-5.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-ply-3.11-3.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-six-1.16.0-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-chardet-5.2.0-93.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-backports-ssl_match_hostname-3.7.0.1-3.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-pytz-2024.1-3.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-pycparser-2.20-95.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/powervc-opsmgr-2.3.1-202507091633.1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python311-pexpect-4.8.0-4.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-ansible-runner-1.4.6-2.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-daemon-2.2.4-3.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-powervc-opsmgr-2.3.1-202507091633.1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/python3-ptyprocess-0.7.0-1.ibm.el8.noarch.rpm powervc-opsmgr-2.3.1/packages/noarch/repodata/ powervc-opsmgr-2.3.1/packages/noarch/repodata/58e68a05e5b2e2b2a9ea070c4a0f1f4e2fd2ba0f7ee1e7af5efc3b31d7e2a4a8-primary.xml.gz powervc-opsmgr-2.3.1/packages/noarch/repodata/e308b265cfa2e9a78f09cbac4df74523dfb37f8c6f475249b8cd808bec458e87-filelists.xml.gz powervc-opsmgr-2.3.1/packages/noarch/repodata/6207967b07193dcb0bb592f51302c550058547755e2a148c13ad3b9d1f0fd2ce-other.xml.gz powervc-opsmgr-2.3.1/packages/noarch/repodata/619065d89ff02581d5a8070a320b3f7143ea3edf7da50b9811754d378e409b51-primary.sqlite.bz2 powervc-opsmgr-2.3.1/packages/noarch/repodata/d9220478b76f80fa8b803fa6e8f77cf331abefc678fd9c010c93bc622f3ccd08-filelists.sqlite.bz2 powervc-opsmgr-2.3.1/packages/noarch/repodata/9b988df40432759448b55ea56b01d6a1a808af31c1209084f71ca07f025c2401-other.sqlite.bz2 powervc-opsmgr-2.3.1/packages/noarch/repodata/repomd.xml powervc-opsmgr-2.3.1/packages/rhel8/ powervc-opsmgr-2.3.1/packages/rhel8/noarch/ powervc-opsmgr-2.3.1/packages/rhel8/noarch/repodata/ powervc-opsmgr-2.3.1/packages/rhel8/noarch/repodata/1cb61ea996355add02b1426ed4c1780ea75ce0c04c5d1107c025c3fbd7d8bcae-primary.xml.gz powervc-opsmgr-2.3.1/packages/rhel8/noarch/repodata/95a4415d859d7120efb6b3cf964c07bebbff9a5275ca673e6e74a97bcbfb2a5f-filelists.xml.gz powervc-opsmgr-2.3.1/packages/rhel8/noarch/repodata/ef3e20691954c3d1318ec3071a982da339f4ed76967ded668b795c9e070aaab6-other.xml.gz powervc-opsmgr-2.3.1/packages/rhel8/noarch/repodata/19699a08b0728d8fcb697ee242e809d5531825194b41494bb28b60e8d04187e3-primary.sqlite.bz2 powervc-opsmgr-2.3.1/packages/rhel8/noarch/repodata/878c2f1defc6fd1f9553a7fe0230eb31b65d13ce6045bb841aec881f4035e1b9-filelists.sqlite.bz2 powervc-opsmgr-2.3.1/packages/rhel8/noarch/repodata/f660753fbf07e6546e6ae7cc46cf1c6ce42444cddba666228e239c26da78d966-other.sqlite.bz2 powervc-opsmgr-2.3.1/packages/rhel8/noarch/repodata/repomd.xml powervc-opsmgr-2.3.1/packages/rhel9/ powervc-opsmgr-2.3.1/packages/rhel9/noarch/ powervc-opsmgr-2.3.1/packages/rhel9/noarch/repodata/ powervc-opsmgr-2.3.1/packages/rhel9/noarch/repodata/1cb61ea996355add02b1426ed4c1780ea75ce0c04c5d1107c025c3fbd7d8bcae-primary.xml.gz powervc-opsmgr-2.3.1/packages/rhel9/noarch/repodata/95a4415d859d7120efb6b3cf964c07bebbff9a5275ca673e6e74a97bcbfb2a5f-filelists.xml.gz powervc-opsmgr-2.3.1/packages/rhel9/noarch/repodata/ef3e20691954c3d1318ec3071a982da339f4ed76967ded668b795c9e070aaab6-other.xml.gz powervc-opsmgr-2.3.1/packages/rhel9/noarch/repodata/19699a08b0728d8fcb697ee242e809d5531825194b41494bb28b60e8d04187e3-primary.sqlite.bz2 powervc-opsmgr-2.3.1/packages/rhel9/noarch/repodata/878c2f1defc6fd1f9553a7fe0230eb31b65d13ce6045bb841aec881f4035e1b9-filelists.sqlite.bz2 powervc-opsmgr-2.3.1/packages/rhel9/noarch/repodata/f660753fbf07e6546e6ae7cc46cf1c6ce42444cddba666228e239c26da78d966-other.sqlite.bz2 powervc-opsmgr-2.3.1/packages/rhel9/noarch/repodata/repomd.xml powervc-opsmgr-2.3.1/packages/ppc64le/ powervc-opsmgr-2.3.1/packages/ppc64le/libsodium-1.0.18-2.ibm.el8.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/libsodium-devel-1.0.18-2.ibm.el8.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/libsodium-static-1.0.18-2.ibm.el8.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/python3-bcrypt-3.2.0-2.ibm.el8.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/python3-PyNaCl-1.4.0-3.ibm.el8.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/python311-PyYAML-6.0.1-3.ibm.el8.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/sshpass-1.06-5.el8.ibm.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/python311-markupsafe-2.1.5-4.ibm.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/python311-psutil-5.9.8-4.ibm.el8.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/python3-pyOpenSSL-24.0.0-2.ibm.el8.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/python3-numpy-1.26.4-2.ibm.el8.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/python3-numpy-f2py-1.26.4-2.ibm.el8.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/python3-yappi-1.6.0-2.ibm.el8.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/python3-pyrsistent-0.17.3-96.ibm.el8.ppc64le.rpm powervc-opsmgr-2.3.1/packages/ppc64le/repodata/ powervc-opsmgr-2.3.1/packages/ppc64le/repodata/bc5fddce3702e5c82edf32cab57739c7bc632e2e0bbf77d9643a7fa15183cabd-primary.xml.gz powervc-opsmgr-2.3.1/packages/ppc64le/repodata/2430c39b456851521e86f0988a99092697d3557cc0d87cf4e3afc0c4388ff56f-filelists.xml.gz powervc-opsmgr-2.3.1/packages/ppc64le/repodata/9612c6e5717c83786036ee63d6cc7a2c00f93e9318758c3bae2083c55992b7c2-other.xml.gz powervc-opsmgr-2.3.1/packages/ppc64le/repodata/a07f8ba5003a22919aae004ef93a1bcd64e047c67b775a0739f83392f665bd37-primary.sqlite.bz2 powervc-opsmgr-2.3.1/packages/ppc64le/repodata/3803d3a57380f068022af6b1a33478eaac40720baa57d604a9d73882207b9511-filelists.sqlite.bz2 powervc-opsmgr-2.3.1/packages/ppc64le/repodata/6f4848edbcc1169487628492264bebf5b0077df108ba2522a679c921d42a10cf-other.sqlite.bz2 powervc-opsmgr-2.3.1/packages/ppc64le/repodata/repomd.xml powervc-opsmgr-2.3.1/packages/rhel8/ppc64le/ powervc-opsmgr-2.3.1/packages/rhel8/ppc64le/python311-cffi-1.16.0-4.ibm.el8.ppc64le.rpm powervc-opsmgr-2.3.1/packages/rhel8/ppc64le/python311-cryptography-43.0.0-11.ibm.ppc64le.rpm powervc-opsmgr-2.3.1/packages/rhel8/ppc64le/repodata/ powervc-opsmgr-2.3.1/packages/rhel8/ppc64le/repodata/4a7675651b88ea5cb09bb052d010bc07a0a37e839ca7b63d45da3fde5e72085e-primary.xml.gz powervc-opsmgr-2.3.1/packages/rhel8/ppc64le/repodata/f8653cc30d307ee79f7271aacf29a701b1e5c68f1de54877efb5e14a27fb0330-filelists.xml.gz powervc-opsmgr-2.3.1/packages/rhel8/ppc64le/repodata/ad12262358a984d62800ffd28caa77ad2b704627f67f2eb1f8ec6cb471c371f7-other.xml.gz powervc-opsmgr-2.3.1/packages/rhel8/ppc64le/repodata/5abaebf4ef25aa732a7b0f0a51a2fbd00c12910bd762866d3625e2be714f80b6-primary.sqlite.bz2 powervc-opsmgr-2.3.1/packages/rhel8/ppc64le/repodata/289179a36e79d2c585b44e360492c141c0012a77ccc7879d300cdf6aa91a7cf1-filelists.sqlite.bz2 powervc-opsmgr-2.3.1/packages/rhel8/ppc64le/repodata/883eb77d3189c0f865fc71b46c0a76870adcc79e233d2d121b9bf3e3453ac592-other.sqlite.bz2 powervc-opsmgr-2.3.1/packages/rhel8/ppc64le/repodata/repomd.xml powervc-opsmgr-2.3.1/packages/rhel9/ppc64le/ powervc-opsmgr-2.3.1/packages/rhel9/ppc64le/python311-cffi-1.16.0-4.ibm.el9.ppc64le.rpm powervc-opsmgr-2.3.1/packages/rhel9/ppc64le/python311-cryptography-43.0.0-11.ibm.ppc64le.rpm powervc-opsmgr-2.3.1/packages/rhel9/ppc64le/repodata/ powervc-opsmgr-2.3.1/packages/rhel9/ppc64le/repodata/b6aa4d7aedf65598e3be3d5bccbd044ede03246c4a03a7e809abc09557a6b398-primary.xml.gz powervc-opsmgr-2.3.1/packages/rhel9/ppc64le/repodata/79551dde66f85072503a66378c3a25a8a4dfb52edb493fc9e31a0c91baae6a4f-filelists.xml.gz powervc-opsmgr-2.3.1/packages/rhel9/ppc64le/repodata/c2a97bf73ad5daeb13c7822083df841f187e21b7893e5247d99008e938430772-other.xml.gz powervc-opsmgr-2.3.1/packages/rhel9/ppc64le/repodata/8dc9e51884985c6302b661e6f9512075442592a25d30ad60c38782fa86a694d2-primary.sqlite.bz2 powervc-opsmgr-2.3.1/packages/rhel9/ppc64le/repodata/6887a86caed7c1317fa7c723bcf3e8af5cc50add1db0710ec5f58b933f23c568-filelists.sqlite.bz2 powervc-opsmgr-2.3.1/packages/rhel9/ppc64le/repodata/fc1a616292ab3ac70cbb7453e2d5025c2e1ebf52f9ebf474cf3e3b024e8f8899-other.sqlite.bz2 powervc-opsmgr-2.3.1/packages/rhel9/ppc64le/repodata/repomd.xml powervc-opsmgr-2.3.1/lib/ powervc-opsmgr-2.3.1/lib/prepnode_redhat.sh powervc-opsmgr-2.3.1/lib/prepnode_sles.sh powervc-opsmgr-2.3.1/license/ powervc-opsmgr-2.3.1/license/standard/ powervc-opsmgr-2.3.1/license/standard/LI_fr powervc-opsmgr-2.3.1/license/standard/LI_es powervc-opsmgr-2.3.1/license/standard/LI_it powervc-opsmgr-2.3.1/license/standard/LI_ja powervc-opsmgr-2.3.1/license/standard/notices powervc-opsmgr-2.3.1/license/standard/non_ibm_license powervc-opsmgr-2.3.1/license/standard/LI_ko powervc-opsmgr-2.3.1/license/standard/LI_lt powervc-opsmgr-2.3.1/license/standard/LI_pl powervc-opsmgr-2.3.1/license/standard/LI_ru powervc-opsmgr-2.3.1/license/standard/LI_zh powervc-opsmgr-2.3.1/license/standard/LI_pt powervc-opsmgr-2.3.1/license/standard/LI_tr powervc-opsmgr-2.3.1/license/standard/LI_sl powervc-opsmgr-2.3.1/license/standard/LI_zh_TW powervc-opsmgr-2.3.1/license/standard/LI_in powervc-opsmgr-2.3.1/license/standard/LA_cs powervc-opsmgr-2.3.1/license/standard/LA_de powervc-opsmgr-2.3.1/license/standard/LA_el powervc-opsmgr-2.3.1/license/standard/LA_en powervc-opsmgr-2.3.1/license/standard/LA_es powervc-opsmgr-2.3.1/license/standard/LA_fr powervc-opsmgr-2.3.1/license/standard/LA_in powervc-opsmgr-2.3.1/license/standard/LA_it powervc-opsmgr-2.3.1/license/standard/LA_ja powervc-opsmgr-2.3.1/license/standard/LA_ko powervc-opsmgr-2.3.1/license/standard/LA_lt powervc-opsmgr-2.3.1/license/standard/LA_pl powervc-opsmgr-2.3.1/license/standard/LA_pt powervc-opsmgr-2.3.1/license/standard/LA_ru powervc-opsmgr-2.3.1/license/standard/LA_sl powervc-opsmgr-2.3.1/license/standard/LA_tr powervc-opsmgr-2.3.1/license/standard/LA_zh powervc-opsmgr-2.3.1/license/standard/LA_zh_TW powervc-opsmgr-2.3.1/license/standard/LI_cs powervc-opsmgr-2.3.1/license/standard/LI_de powervc-opsmgr-2.3.1/license/standard/LI_el powervc-opsmgr-2.3.1/license/standard/LI_en powervc-opsmgr-2.3.1/lap/ powervc-opsmgr-2.3.1/lap/LAPApp.jar ```

# ls -l
total 1214484
drwxr-xr-x. 7 root root       4096 Jul  9 14:03 powervc-opsmgr-2.3.1
-rwxr-xr-x. 1 root root 1243627520 Aug 10 03:30 powervc-opsmgr-rhel-ppcle-2.3.1.tar
# cd powervc-opsmgr-2.3.1
# ls -l
total 304
-rwxrwx---. 1 root root  20951 Jul  9 14:01 checks_config.yaml
drwxr-xr-x. 2 root root    150 Aug 10 04:36 images
drwxr-xr-x. 2 root root     24 Jul  9 14:04 lap
drwxr-xr-x. 2 root root     56 Jul  9 14:04 lib
drwxr-xr-x. 3 root root     22 Jul  9 14:04 license
-rwxr-xr-x. 1 root root     59 Jul  9 14:01 opsmgr-version.properties
drwxr-xr-x. 6 root root     61 Jul  9 14:04 packages
-rwxrwx---. 1 root root 157912 Jul  9 14:01 powervc_opsmgr_check.py
-rwxrwx---. 1 root root   4180 Jul  9 14:01 powervc_opsmgr_health_check.py
-rwxrwx---. 1 root root   7146 Jul  9 14:01 powervc_opsmgr_interface.py
-rwxrwx---. 1 root root  43916 Jul  9 14:01 setup_opsmgr.sh
-rwxrwx---. 1 root root   3927 Jul  9 14:01 uninstall-opsmgr.sh
-rwxrwx---. 1 root root  51310 Jul  9 14:01 update_opsmgr.sh
-r--r--r--. 1 root root     38 Jul  9 13:30 version.properties
#

以前のバージョンとの違いで、powervc_opsmgr_check.pypowervc_opsmgr_health_check.pypowervc_opsmgr_interface.py といった python スクリプトが存在しています。


opsmgr utility の導入

最初に opsmgr を導入します。


最初に、# export LANG=C を実行しています。これにより、コマンドの出力メッセージが英語に固定され、文字化けや意図しない挙動を防ぐことができます。

# export LANG=C

PowerVC 2.3.1 New :powervc_opsmgr_health_check.py を実行します。

# python3  powervc_opsmgr_health_check.py
INFO: Disk Sanity check successful
INFO: Cryptographic policy is set to: DEFAULT
WARNING: No DNS servers configured in /etc/resolv.conf. This might obstruct PowerVC installation.
WARNING: System time is not synchronized. This might obstruct PowerVC installation.
INFO: localectl is working correctly and locale settings are as expected.
INFO: Available swap space (16.01GB) meets requirement
WARNING: Hostname powervc231_lpar does not resolve. This might obstruct PowerVC installation.
INFO: PermitRootLogin is correctly set to 'yes'.
INFO: Root password is not expired.
INFO: Required services are not masked
INFO: No disk is at more than '90%' usage
INFO: No duplicate entries in /etc/hosts
INFO: No Idisk is at more than '90%' usage
WARNING: Ensure that AppStream, BaseOS and Supplementary repo are accessible.
INFO: All required ports are free.
INFO: Available memory (31646MB) meets the requirement.
INFO: Disk space check completed successfully.
INFO: System load is within acceptable limits.
INFO: No conflicting rpm's present
INFO: PAM config check successful
INFO: Attrs check successful
WARNING: Pip versions ['pip3.6', 'pip3'] present which might affect PowerVC operations
INFO: Umask check successfull. Current value is 0022
INFO: Selinux check successfull. Current value is enforcing.
INFO: OS check successfull. Current value is rhel8.10.
INFO: net-tools is installed
WARNING: Ensure that AppStream, BaseOS and Supplementary repo are accessible.
INFO: AppArmor is not enabled, which is the recommended configuration for a smooth PowerVC installation.
WARNING: Failed to run 'subscription-manager status, ignore this if it's a local repo configuration
INFO: The EPEL repository is not enabled, which is the recommended configuration for a smooth PowerVC installation.
INFO: No broken dependencies detected.
INFO: yum repolist success
Node                 Step            Check Number    Check Name                Status     Description
====================================================================================================
powervc231_lpar               Setupopsmgr     pvc_check_051   Disk Sanity Check         Pass       Disk Sanity check successful
powervc231_lpar               Setupopsmgr     pvc_check_001   Check Crypto Policy       Pass       Cryptographic policy is set to: DEFAULT
powervc231_lpar               Setupopsmgr     pvc_check_007   DNS Configuration         Warn       No DNS servers configured in /etc/resolv.conf. This might obstruct PowerVC installation.
powervc231_lpar               Setupopsmgr     pvc_check_009   Time Synchronization      Warn       System time is not synchronized. This might obstruct PowerVC installation.
powervc231_lpar               Setupopsmgr     pvc_check_012   Check Localectl           Pass       localectl is working correctly and locale settings are as expected.
powervc231_lpar               Setupopsmgr     pvc_check_014   Swap space                Pass       Available swap space (16.01GB) meets requirement
powervc231_lpar               Setupopsmgr     pvc_check_015   Hostname Resolution       Warn       Hostname powervc231_lpar does not resolve. This might obstruct PowerVC installation.
powervc231_lpar               Setupopsmgr     pvc_check_016   Permit Root Login         Pass       PermitRootLogin is correctly set to 'yes'.
powervc231_lpar               Setupopsmgr     pvc_check_017   Root Password Expiration  Pass       Root password is not expired.
powervc231_lpar               Setupopsmgr     pvc_check_018   Mask Service              Pass       Required services are not masked
powervc231_lpar               Setupopsmgr     pvc_check_019   Disk Usage                Pass       No disk is at more than '90%' usage
powervc231_lpar               Setupopsmgr     pvc_check_020   Check /etc/hosts          Pass       No duplicate entries in /etc/hosts
powervc231_lpar               Setupopsmgr     pvc_check_023   IDisk Usage               Pass       No Idisk is at more than '90%' usage
powervc231_lpar               Setupopsmgr     pvc_check_013   Repo access               Warn       Ensure that AppStream, BaseOS and Supplementary repo are accessible.
powervc231_lpar               Setupopsmgr     pvc_check_003   Check Ports               Pass       All required ports are free.
powervc231_lpar               Setupopsmgr     pvc_check_004   System Resources          Pass       Available memory (31646MB) meets the requirement.
powervc231_lpar               Setupopsmgr     pvc_check_005   Disk Space                Pass       Disk space check completed successfully.
powervc231_lpar               Setupopsmgr     pvc_check_011   Load Average              Pass       System load is within acceptable limits.
powervc231_lpar               Setupopsmgr     pvc_check_022   Check Rpm Conflict        Pass       No conflicting rpm's present
powervc231_lpar               Setupopsmgr     pvc_check_039   Pamd config check         Pass       PAM config check successful
powervc231_lpar               Setupopsmgr     pvc_check_040   Check attrs               Pass       Attrs check successful
powervc231_lpar               Setupopsmgr     pvc_check_041   PIP Check                 Warn       Pip versions ['pip3.6', 'pip3'] present which might affect PowerVC operations
powervc231_lpar               Setupopsmgr     pvc_check_046   Umask status              Pass       Umask check successfull. Current value is 0022
powervc231_lpar               Setupopsmgr     pvc_check_047   Selinux status            Pass       Selinux check successfull. Current value is enforcing.
powervc231_lpar               Setupopsmgr     pvc_check_048   OS Version                Pass       OS check successfull. Current value is rhel8.10.
powervc231_lpar               Setupopsmgr     pvc_check_059   Net tools check           Pass       net-tools is installed
powervc231_lpar               Setupopsmgr     pvc_check_013   Repo access               Warn       Ensure that AppStream, BaseOS and Supplementary repo are accessible.
powervc231_lpar               Setupopsmgr     pvc_check_006   Check App Armor           Pass       AppArmor is not enabled, which is the recommended configuration for a smooth PowerVC
installation.
powervc231_lpar               Setupopsmgr     pvc_check_002   Subscription Manager      Warn       Failed to run 'subscription-manager status, ignore this if it's a local repo configuration
powervc231_lpar               Setupopsmgr     pvc_check_025   Epel Repo Check           Pass       The EPEL repository is not enabled, which is the recommended configuration for a smooth
PowerVC installation.
powervc231_lpar               Setupopsmgr     pvc_check_008   Broken Dependencies       Pass       No broken dependencies detected.
powervc231_lpar               Setupopsmgr     pvc_check_052   Repo list Check           Pass       yum repolist success
Please refer to health check logs at /var/log/pvc_prehealth_check.log
For any failure related to PowerVC Health Checks, Please contact IBM Support

Warn 表示はありますが、fail ではないので続けます。

setup_opsmgr.sh の実行

setup_opsmgr.sh のヘルプを確認します。

# ./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 

setup_opsmgr.sh の実行
ここでライセンス同意を実施しています。

# ./setup_opsmgr.sh
################################################################################
Starting the PowerVC:setup_prepnode 2.3.1 installation on:
2025-08-10T04:43:06-04:00
################################################################################

2025-08-10T04:43:09.11-04:00 [WARNING]:[] 2.3 or later opsmgr will install and set default python to 3.11 at system level
Would you like to proceed?
Please answer yes or no.
Would you like to proceed?yes
2025-08-10T04:43:18.66-04:00 [INFO]:[] Health check completed
2025-08-10T04:43:18.67-04:00 [INFO]:[VALIDATION] BASE DIRECTORY : /opt/ibm/powervc-opsmgr
2025-08-10T04:43:18.67-04:00 [INFO]:[VALIDATION] INSTALL SCRIPT : /work/powervc/powervc-opsmgr-2.3.1/setup_opsmgr.sh
2025-08-10T04:43:18.67-04:00 [INFO]:[VALIDATION] LOG FILE : /opt/ibm/powervc-opsmgr/log/prep_node/prep_node_2025-08-10-0443.log
2025-08-10T04:43:18.68-04:00 [INFO]:[VALIDATION] OPERATING SYSTEM: Red Hat Enterprise Linux.
2025-08-10T04:43:18.69-04:00 [INFO]:[VALIDATION] User ID : root
2025-08-10T04:43:18.74-04:00 [INFO]:[VALIDATION] Installing Java for displaying Opsmgr License

LICENSE INFORMATION

The Programs listed below are licensed under the following
License Information terms and conditions in addition to the
Program license terms previously agreed to by Client and
IBM. If Client does not have previously agreed to license
terms in effect for the Program, the International Program
License Agreement (i125-3301-15) applies.

Program Name (Program Number):
IBM PowerVC for Private Cloud 2.3.1 (5765-VC2)

The following standard terms apply to Licensee's use of the
Program.

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
2025-08-10T04:43:38.13-04:00 [INFO]:[VALIDATION] License accepted.
2025-08-10T04:43:38.15-04:00 [INFO]:[VALIDATION] Configuring Yum repository for PowerVC-Opsmgr...
2025-08-10T04:43:39.07-04:00 [INFO]:[VALIDATION] Configuring Yum repository for PowerVC-Opsmgr rhel8...
2025-08-10T04:43:51.88-04:00 [INFO]:[VALIDATION] Installing PowerVC Ops. Manager...
2025-08-10T04:44:08.19-04:00 [INFO]:[INSTALL_POWERVC_OPSMGR] POWERVC OPSMGR PACKAGES : sshpass python3-netaddr rsync python3-oslo-i18n python3-crudini python3-PyNaCl python3-powervc-opsmgr
2025-08-10T04:45:08.55-04:00 [INFO]:[INSTALL_POWERVC_OPSMGR] PowerVC Opsmgr packages installed successfully.
2025-08-10T04:45:09.79-04:00 [INFO]:[INSTALL_POWERVC_OPSMGR] net-tools package already present.

################################################################################
PowerVC:setup_prepnode installation completed at 2025-08-10T04:45:09-04:00.
Refer to
/opt/ibm/powervc-opsmgr/log/prep_node/prep_node_2025-08-10-0443.log
for more details.
################################################################################

導入されました。

コマンド実行を確認すると、以下のエラーが出ます。

# powervc-opsmgr -h
Traceback (most recent call last):
  File "/usr/bin/powervc-opsmgr", line 13, in <module>
    from powervc_opsmgr.cmd.opsmgr import main
  File "/usr/lib/python3.11/site-packages/powervc_opsmgr/cmd/opsmgr.py", line 18, in <module>
    from powervc_opsmgr.utils import opsmgr_utils
  File "/usr/lib/python3.11/site-packages/powervc_opsmgr/utils/opsmgr_utils.py", line 10, in <module>
    import ansible_runner
  File "/usr/lib/python3.11/site-packages/ansible_runner/__init__.py", line 3, in <module>
    from .interface import run, run_async # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/ansible_runner/interface.py", line 24, in <module>
    from ansible_runner.runner_config import RunnerConfig
  File "/usr/lib/python3.11/site-packages/ansible_runner/runner_config.py", line 21, in <module>
    import pexpect
  File "/usr/lib/python3.11/site-packages/pexpect/__init__.py", line 75, in <module>
    from .pty_spawn import spawn, spawnu
  File "/usr/lib/python3.11/site-packages/pexpect/pty_spawn.py", line 10, in <module>
    import ptyprocess
ModuleNotFoundError: No module named '# powervc-opsmgr -h
Traceback (most recent call last):
  File "/usr/bin/powervc-opsmgr", line 13, in <module>
    from powervc_opsmgr.cmd.opsmgr import main
  File "/usr/lib/python3.11/site-packages/powervc_opsmgr/cmd/opsmgr.py", line 18, in <module>
    from powervc_opsmgr.utils import opsmgr_utils
  File "/usr/lib/python3.11/site-packages/powervc_opsmgr/utils/opsmgr_utils.py", line 10, in <module>
    import ansible_runner
  File "/usr/lib/python3.11/site-packages/ansible_runner/__init__.py", line 3, in <module>
    from .interface import run, run_async # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/ansible_runner/interface.py", line 24, in <module>
    from ansible_runner.runner_config import RunnerConfig
  File "/usr/lib/python3.11/site-packages/ansible_runner/runner_config.py", line 21, in <module>
    import pexpect
  File "/usr/lib/python3.11/site-packages/pexpect/__init__.py", line 75, in <module>
    from .pty_spawn import spawn, spawnu
  File "/usr/lib/python3.11/site-packages/pexpect/pty_spawn.py", line 10, in <module>
    import ptyprocess
ModuleNotFoundError: No module named 'ptyprocess'

以前も同様に対応したことがありますが、モジュールの導入が RHEL から導入されたか、PowerVC 同梱のものかでバージョンが異なるために発生していると推測されます。

ptyprocess のモジュールをサーバー上で確認します。

# find / -name *ptyprocess*
/usr/lib/python3.6/site-packages/ptyprocess
/usr/lib/python3.6/site-packages/ptyprocess/__pycache__/ptyprocess.cpython-36.opt-1.pyc
/usr/lib/python3.6/site-packages/ptyprocess/__pycache__/ptyprocess.cpython-36.pyc
/usr/lib/python3.6/site-packages/ptyprocess/ptyprocess.py
/usr/lib/python3.6/site-packages/ptyprocess-0.5.2-py3.6.egg-info
/usr/share/licenses/python3-ptyprocess
/usr/share/doc/python3-ptyprocess
/media/rhel810/AppStream/Packages/python3-ptyprocess-0.5.2-4.el8.noarch.rpm
/opt/ibm/powervc-opsmgr/images/powervc-2.3.1/packages/osp/python3/noarch/python3-ptyprocess-0.7.0-1.ibm.el8.noarch.rpm
/opt/ibm/powervc-opsmgr/images/powervc-opsmgr/packages/noarch/python3-ptyprocess-0.7.0-1.ibm.el8.noarch.rpm
/work/powervc/powervc-opsmgr-2.3.1/packages/noarch/python3-ptyprocess-0.7.0-1.ibm.el8.noarch.rpm

現在導入されている ptyprocess のバージョンを確認します。

# rpm -qa | grep python3-ptyprocess
python3-ptyprocess-0.5.2-4.el8.noarch

PowerVC 同梱モジュールは python3-ptyprocess-0.7.0-1.ibm.el8.noarch.rpm が存在しており、少し新しいのでこちらを使用してアップデートします。

# rpm -Uvh /work/powervc/powervc-opsmgr-2.3.1/packages/noarch/python3-ptyprocess-0.7.0-1.ibm.el8.noarch.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:python3-ptyprocess-0.7.0-1.ibm.el################################# [ 50%]
Cleaning up / removing...
   2:python3-ptyprocess-0.5.2-4.el8   ################################# [100%]

再度、powervc-opsmgr の実行を試します。

# powervc-opsmgr -h
usage: powervc-opsmgr [-h]
                      {addnodes,apply-ifix,backup,config,install,inventory,replacenode,restore,resync_node,uninstall,update}

PowerVC Operations Manager CLI

powervc-opsmgr subcommands:
  {addnodes,apply-ifix,backup,config,install,inventory,replacenode,restore,resync_node,uninstall,update}

options:
  -h, --help            show this help message and exit

List of sub-commands available in powervc-opsmgr:
  addnodes                  Add nodes to existing PowerVC
  apply-ifix                Apply iFix against all/subset of nodes in management node cluster
  backup                    Backup of PowerVC Configurations and Data.
  config                    Manage PowerVC Opsmgr configuration settings such as ip's, users, certs etc
  install                   Installs PowerVC management plane
  inventory                 Captures and lists management node inventory details
  replacenode               Replacing a node from PowerVC Cluster.
  restore                   Restores configuration and DB against PowerVC nodes
  resync_node               Re-Sync of Conf files for management and compute plane
  uninstall                 Uninstall PowerVC management plane
  update                    Updates PowerVC management plane

正しく表示が出ました。モジュールの問題は解消され、opsmgr が導入できました。


PowerVC 導入で使用する ssh 鍵の作成

PowerVC 2.3 New

PowerVC 2.3 以前では、PowerVC の導入時はパスワード指定でしたが、2.3.0 以降では、ssh 鍵での指定が可能となっています。

SSH key-based inventory creation

PowerVC 2.3.1 supports SSH key-based inventory creation.

今回は、ssh鍵を使用した導入を実施します。

ssh 鍵の作成と登録

RSA 4096 bit で ssh 鍵を作成します。

# ssh-keygen -t RSA -b 4096 -f /tmp/temp_id_rsa
Generating public/private RSA key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /tmp/temp_id_rsa.
Your public key has been saved in /tmp/temp_id_rsa.pub.
The key fingerprint is:
SHA256:fYAVWY6OBo82dFc360pVm+ax99z1dOox3uycOwVsAY8 root@powervc231_lpar
The key's randomart image is:
+---[RSA 4096]----+
|          o++.o .|
|         o.+ +.+o|
|      o o + E.+* |
|     . = = . o* o|
|      + S o o..+=|
|     . o   o . +O|
|            . + *|
|             o B.|
|              o+B|
+----[SHA256]-----+

自分自身に対して、鍵交換で作成したssh鍵を登録します。

# ssh-copy-id -i /tmp/temp_id_rsa.pub root@powervc231_lpar
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/tmp/temp_id_rsa.pub"
The authenticity of host 'powervc231_lpar (172.xx.xx.xx)' can't be established.
ECDSA key fingerprint is SHA256:ukgtTY7y/cnUpEBXrQNfQNbBQVRAOt0XGZpopDxlf4s.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@powervc231_lpar's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@powervc231_lpar'"
and check to make sure that only the key(s) you wanted were added.

鍵登録が完了しました。


導入用インベントリーの作成

powervc-opsmgr inventory -c <クラスター名> -k でインベントリーを作成します。


# powervc-opsmgr inventory -c powervc231 -k /tmp/temp_id_rsa (折りたたんでいます)
# powervc-opsmgr inventory -c powervc231 -k /tmp/temp_id_rsa
+--------------------------------------------------------------------------------+
|                               PowerVC Inventory                                |
+--------------------------------------------------------------------------------+
	Configure Firewall (y/n) (Default: y): y
+--------------------------------------------------------------------------------+
   PowerVC Nodes
	Enter the number of nodes           : 1
+--------------------------------------------------------------------------------+
   INFO:
     Primary/Bootstrap Node
  	* First node specified will be considered as primary or bootstrap node.
     Sudo User
  	* Sudo user with same username and password across all nodes is required.
+--------------------------------------------------------------------------------+
   PowerVC Node(s) Information
     Node 1
	Enter IP/Hostname for Node 1        : 172.xx.xx.xx
	Enter Username for all nodes        : root
+--------------------------------------------------------------------------------+
   Virtual IP
	Enter Virtual IP                    : 172.xx.xx.xy
+--------------------------------------------------------------------------------+



+--------------------------------------------------------------------------------+
|                         PowerVC Inventory - powervc231                         |
+--------------------------------------------------------------------------------+
	Cluster Name              : powervc231
	Cluster ID                : 0c4e8731-25b6-4234-afa6-5794734d8a99
	Install Method            : cluster
	Firewall Config           : True
	Login User                : root
	Virtual IP                : 172.xx.xx.xy
	Primary/Bootstrap Host    : 172.xx.xx.xx
	Hosts                     : 172.xx.xx.xx
	Edition                   : private_cloud
+--------------------------------------------------------------------------------+
|                 *** End of PowerVC Inventory - powervc231 ***                  |
+--------------------------------------------------------------------------------+
Establishing passwordless connection

PLAY [{{ playbook_task_names.configure_ssh_keys }}] ****************************

TASK [Gathering Facts] *********************************************************
Sunday 10 August 2025  05:20:45 -0400 (0:00:00.070)       0:00:00.070 *********
ok: [172.xx.xx.xx]

TASK [command] *****************************************************************
Sunday 10 August 2025  05:20:47 -0400 (0:00:01.707)       0:00:01.777 *********
changed: [172.xx.xx.xx]

TASK [include_vars] ************************************************************
Sunday 10 August 2025  05:20:48 -0400 (0:00:00.803)       0:00:02.581 *********
ok: [172.xx.xx.xx]

TASK [include_vars] ************************************************************
Sunday 10 August 2025  05:20:48 -0400 (0:00:00.034)       0:00:02.616 *********
ok: [172.xx.xx.xx]

TASK [{{ pvc_utils_task_names.store_locale_variable }}] ************************
Sunday 10 August 2025  05:20:48 -0400 (0:00:00.041)       0:00:02.657 *********
ok: [172.xx.xx.xx]

TASK [include_vars] ************************************************************
Sunday 10 August 2025  05:20:48 -0400 (0:00:00.035)       0:00:02.693 *********
skipping: [172.xx.xx.xx]

TASK [{{ pvc_utils_task_names.error_message_for_utils_nls }}] ******************
Sunday 10 August 2025  05:20:48 -0400 (0:00:00.028)       0:00:02.721 *********
skipping: [172.xx.xx.xx]

TASK [include_vars] ************************************************************
Sunday 10 August 2025  05:20:48 -0400 (0:00:00.026)       0:00:02.747 *********
ok: [172.xx.xx.xx]

TASK [include_vars] ************************************************************
Sunday 10 August 2025  05:20:48 -0400 (0:00:00.032)       0:00:02.780 *********
ok: [172.xx.xx.xx]

TASK [pvc_sshkeys : include_vars] **********************************************
Sunday 10 August 2025  05:20:48 -0400 (0:00:00.035)       0:00:02.816 *********
ok: [172.xx.xx.xx]

TASK [{{ pvc_sshkeys_task_names.get_home_directory_for_ansible_user }}] ********
Sunday 10 August 2025  05:20:48 -0400 (0:00:00.034)       0:00:02.851 *********
ok: [172.xx.xx.xx]

TASK [{{ pvc_sshkeys_task_names.set_home_directory_for_ansible_user }}] ********
Sunday 10 August 2025  05:20:48 -0400 (0:00:00.489)       0:00:03.340 *********
ok: [172.xx.xx.xx]

TASK [pvc_sshkeys : Get the stat for ssh directory] ****************************
Sunday 10 August 2025  05:20:48 -0400 (0:00:00.034)       0:00:03.375 *********
ok: [172.xx.xx.xx]

TASK [pvc_sshkeys : Delete ssh is file or link] ********************************
Sunday 10 August 2025  05:20:49 -0400 (0:00:00.404)       0:00:03.780 *********
skipping: [172.xx.xx.xx]

TASK [pvc_sshkeys : Creates ssh directory /root/.ssh] **************************
Sunday 10 August 2025  05:20:49 -0400 (0:00:00.030)       0:00:03.811 *********
ok: [172.xx.xx.xx]

TASK [pvc_sshkeys : copy SSH Key files if specified] ***************************
Sunday 10 August 2025  05:20:49 -0400 (0:00:00.418)       0:00:04.229 *********
changed: [172.xx.xx.xx]

TASK [pvc_sshkeys : copy SSH Key files if specified] ***************************
Sunday 10 August 2025  05:20:50 -0400 (0:00:00.508)       0:00:04.737 *********
changed: [172.xx.xx.xx]

TASK [pvc_sshkeys : Generate ssh key pair] *************************************
Sunday 10 August 2025  05:20:50 -0400 (0:00:00.374)       0:00:05.112 *********
ok: [172.xx.xx.xx]

TASK [pvc_sshkeys : Fetch public key] ******************************************
Sunday 10 August 2025  05:20:51 -0400 (0:00:00.330)       0:00:05.442 *********
ok: [172.xx.xx.xx]

TASK [pvc_sshkeys : Copy the keys to the authorized_keys file] *****************
Sunday 10 August 2025  05:20:51 -0400 (0:00:00.389)       0:00:05.832 *********
ok: [172.xx.xx.xx] => (item=172.xx.xx.xx)

TASK [pvc_sshkeys : Make all Hosts known to each other - update known_hosts files] ***
Sunday 10 August 2025  05:20:51 -0400 (0:00:00.537)       0:00:06.370 *********
# 172.xx.xx.xx:22 SSH-2.0-OpenSSH_8.0
# 172.xx.xx.xx:22 SSH-2.0-OpenSSH_8.0
# 172.xx.xx.xx:22 SSH-2.0-OpenSSH_8.0
ok: [172.xx.xx.xx] => (item=172.xx.xx.xx)
# localhost:22 SSH-2.0-OpenSSH_8.0
# localhost:22 SSH-2.0-OpenSSH_8.0
# localhost:22 SSH-2.0-OpenSSH_8.0
ok: [172.xx.xx.xx] => (item=localhost)
# 127.0.0.1:22 SSH-2.0-OpenSSH_8.0
# 127.0.0.1:22 SSH-2.0-OpenSSH_8.0
# 127.0.0.1:22 SSH-2.0-OpenSSH_8.0
ok: [172.xx.xx.xx] => (item=127.0.0.1)
172.xx.xx.xx               : ok=18   changed=3    unreachable=0    failed=0    skipped=3    rescued=0    ignored=0


PLAY RECAP *********************************************************************
172.xx.xx.xx               : ok=18   changed=3    unreachable=0    failed=0    skipped=3    rescued=0    ignored=0

Sunday 10 August 2025  05:20:53 -0400 (0:00:01.126)       0:00:07.496 *********
===============================================================================
Gathering Facts --------------------------------------------------------- 1.71s
pvc_sshkeys : Make all Hosts known to each other - update known_hosts files --- 1.13s
command ----------------------------------------------------------------- 0.80s
pvc_sshkeys : Copy the keys to the authorized_keys file ----------------- 0.54s
pvc_sshkeys : copy SSH Key files if specified --------------------------- 0.51s
{{ pvc_sshkeys_task_names.get_home_directory_for_ansible_user }} -------- 0.49s
pvc_sshkeys : Creates ssh directory /root/.ssh -------------------------- 0.42s
pvc_sshkeys : Get the stat for ssh directory ---------------------------- 0.40s
pvc_sshkeys : Fetch public key ------------------------------------------ 0.39s
pvc_sshkeys : copy SSH Key files if specified --------------------------- 0.37s
pvc_sshkeys : Generate ssh key pair ------------------------------------- 0.33s
include_vars ------------------------------------------------------------ 0.04s
include_vars ------------------------------------------------------------ 0.04s
{{ pvc_utils_task_names.store_locale_variable }} ------------------------ 0.04s
include_vars ------------------------------------------------------------ 0.04s
{{ pvc_sshkeys_task_names.set_home_directory_for_ansible_user }} -------- 0.03s
pvc_sshkeys : include_vars ---------------------------------------------- 0.03s
include_vars ------------------------------------------------------------ 0.03s
pvc_sshkeys : Delete ssh is file or link -------------------------------- 0.03s
include_vars ------------------------------------------------------------ 0.03s
SSH Key exchange successfully completed at, 2025-08-10 05:20:53.,
 Refer to
 /opt/ibm/powervc-opsmgr/ansible/artifacts/powervc-opsmgr_powervc231_ssh_key_xchg_20250810_052044/stdout
 for more details.
Inventory file generated successfully at /opt/ibm/powervc-opsmgr/ansible/inventory/powervc231



+--------------------------------------------------------------------------------+
|                         PowerVC Inventory - powervc231                         |
+--------------------------------------------------------------------------------+
	Cluster Name              : powervc231
	Cluster ID                : 0c4e8731-25b6-4234-afa6-5794734d8a99
	Install Method            : cluster
	Firewall Config           : True
	Login User                : root
	Virtual IP                : 172.xx.xx.xy
	Primary/Bootstrap Host    : 172.xx.xx.xx
	Hosts                     : 172.xx.xx.xx
	Edition                   : private_cloud
	Inventory Directory       : /opt/ibm/powervc-opsmgr/ansible/inventory/powervc231
+--------------------------------------------------------------------------------+
|                 *** End of PowerVC Inventory - powervc231 ***                  |
+--------------------------------------------------------------------------------+

作成された inventory

Inventory file generated successfully at /opt/ibm/powervc-opsmgr/ansible/inventory/powervc231
+--------------------------------------------------------------------------------+
|                         PowerVC Inventory - powervc231                         |
+--------------------------------------------------------------------------------+
	Cluster Name              : powervc231
	Cluster ID                : 0c4e8731-25b6-4234-afa6-5794734d8a99
	Install Method            : cluster
	Firewall Config           : True
	Login User                : root
	Virtual IP                : 172.xx.xx.xy
	Primary/Bootstrap Host    : 172.xx.xx.xx
	Hosts                     : 172.xx.xx.xx
	Edition                   : private_cloud
	Inventory Directory       : /opt/ibm/powervc-opsmgr/ansible/inventory/powervc231
+--------------------------------------------------------------------------------+
|                 *** End of PowerVC Inventory - powervc231 ***                  |
+--------------------------------------------------------------------------------+

Pre Check

導入の pre check を実施します。

# powervc-opsmgr install -c powervc231 -p (折りたたんでいます)

# powervc-opsmgr install -c powervc231 -p

PLAY [{{ playbook_task_names.precheck }}] **************************************
Sunday 10 August 2025  05:22:40 -0400 (0:00:00.109)       0:00:00.109 *********
ok: [172.xx.xx.xx]

TASK [Gathering Facts] *********************************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:41 -0400 (0:00:01.706)       0:00:01.815 *********
changed: [172.xx.xx.xx]

TASK [command] *****************************************************************
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:42 -0400 (0:00:00.916)       0:00:02.731 *********

TASK [include_vars] ************************************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:42 -0400 (0:00:00.034)       0:00:02.766 *********

TASK [include_vars] ************************************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:42 -0400 (0:00:00.040)       0:00:02.807 *********

TASK [{{ pvc_utils_task_names.store_locale_variable }}] ************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:42 -0400 (0:00:00.039)       0:00:02.846 *********
Sunday 10 August 2025  05:22:42 -0400 (0:00:00.029)       0:00:02.875 *********
Sunday 10 August 2025  05:22:43 -0400 (0:00:00.027)       0:00:02.903 *********

TASK [include_vars] ************************************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:43 -0400 (0:00:00.037)       0:00:02.941 *********

TASK [include_vars] ************************************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:43 -0400 (0:00:00.039)       0:00:02.980 *********

TASK [pvc_precheck : include_vars] *********************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:43 -0400 (0:00:00.039)       0:00:03.020 *********
Sunday 10 August 2025  05:22:43 -0400 (0:00:00.033)       0:00:03.053 *********

TASK [pvc_precheck : package facts] ********************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:45 -0400 (0:00:02.523)       0:00:05.577 *********
Sunday 10 August 2025  05:22:45 -0400 (0:00:00.105)       0:00:05.683 *********
[WARNING]: Consider using the yum, dnf or zypper module rather than running
'rpm'.  If you need to use command because yum, dnf or zypper is insufficient
you can add 'warn: false' to this command task or set 'command_warnings=False'
in ansible.cfg to get rid of this message.

TASK [pvc_precheck : Precheck if ansible is powervc provided] ******************
[WARNING]: Consider using the yum, dnf or zypper module rather than running
'rpm'.  If you need to use command because yum, dnf or zypper is insufficient
you can add 'warn: false' to this command task or set 'command_warnings=False'
in ansible.cfg to get rid of this message.
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:46 -0400 (0:00:00.375)       0:00:06.058 *********
Sunday 10 August 2025  05:22:46 -0400 (0:00:00.101)       0:00:06.160 *********
changed: [172.xx.xx.xx]

TASK [pvc_precheck : Precheck if distro version] *******************************
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:46 -0400 (0:00:00.349)       0:00:06.510 *********
Sunday 10 August 2025  05:22:46 -0400 (0:00:00.141)       0:00:06.651 *********
Sunday 10 August 2025  05:22:46 -0400 (0:00:00.098)       0:00:06.750 *********
Sunday 10 August 2025  05:22:46 -0400 (0:00:00.101)       0:00:06.852 *********
fatal: [172.xx.xx.xx]: FAILED! => {"changed": true, "cmd": ["grep", "cluster =", "/opt/ibm/powervc/version.properties"], "delta": "0:00:00.003255", "end": "2025-08-10 05:22:47.202899", "msg": "non-zero return code", "rc": 2, "start": "2025-08-10 05:22:47.199644", "stderr": "grep: /opt/ibm/powervc/version.properties: No such file or directory", "stderr_lines": ["grep: /opt/ibm/powervc/version.properties: No such file or directory"], "stdout": "", "stdout_lines": []}
...ignoring

TASK [pvc_precheck : get cluster name from /opt/ibm/powervc/version.properties] ***
fatal: [172.xx.xx.xx]: FAILED! => {"changed": true, "cmd": ["grep", "cluster =", "/opt/ibm/powervc/version.properties"], "delta": "0:00:00.003255", "end": "2025-08-10 05:22:47.202899", "msg": "non-zero return code", "rc": 2, "start": "2025-08-10 05:22:47.199644", "stderr": "grep: /opt/ibm/powervc/version.properties: No such file or directory", "stderr_lines": ["grep: /opt/ibm/powervc/version.properties: No such file or directory"], "stdout": "", "stdout_lines": []}
...ignoring
Sunday 10 August 2025  05:22:47 -0400 (0:00:00.337)       0:00:07.189 *********

TASK [pvc_precheck : set cluster name from remote nodes] ***********************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:47 -0400 (0:00:00.105)       0:00:07.294 *********
Sunday 10 August 2025  05:22:47 -0400 (0:00:00.098)       0:00:07.393 *********
Sunday 10 August 2025  05:22:47 -0400 (0:00:00.100)       0:00:07.494 *********
Sunday 10 August 2025  05:22:47 -0400 (0:00:00.149)       0:00:07.643 *********

TASK [pvc_precheck : getting the interface name] *******************************
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:48 -0400 (0:00:00.343)       0:00:07.986 *********

TASK [pvc_precheck : Setting HOST_INTERFACE as a ansible fact] *****************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:48 -0400 (0:00:00.105)       0:00:08.091 *********
ok: [172.xx.xx.xx] => {
    "msg": "Install Type ipv4 is selected"
}

TASK [pvc_precheck : debug] ****************************************************
ok: [172.xx.xx.xx] => {
    "msg": "Install Type ipv4 is selected"
}
Sunday 10 August 2025  05:22:48 -0400 (0:00:00.104)       0:00:08.196 *********

TASK [pvc_precheck : getting ipv4 address when the install type is ipv4] *******
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:48 -0400 (0:00:00.346)       0:00:08.543 *********
Sunday 10 August 2025  05:22:48 -0400 (0:00:00.102)       0:00:08.646 *********

TASK [pvc_precheck : Setting HOST_IP as a ansible fact] ************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:48 -0400 (0:00:00.104)       0:00:08.750 *********
ok: [172.xx.xx.xx] => {
    "msg": "The host management network interface  env32 IP address is 172.xx.xx.xx "
}

TASK [pvc_precheck : debug] ****************************************************
ok: [172.xx.xx.xx] => {
    "msg": "The host management network interface  env32 IP address is 172.xx.xx.xx "
}
Sunday 10 August 2025  05:22:49 -0400 (0:00:00.153)       0:00:08.903 *********

TASK [pvc_precheck : getting hostname] *****************************************
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:49 -0400 (0:00:00.337)       0:00:09.241 *********
ok: [172.xx.xx.xx] => {
    "msg": "Hostname is: powervc231_lpar"
}

TASK [pvc_precheck : debug] ****************************************************
ok: [172.xx.xx.xx] => {
    "msg": "Hostname is: powervc231_lpar"
}
Sunday 10 August 2025  05:22:49 -0400 (0:00:00.104)       0:00:09.345 *********

TASK [pvc_precheck : getting short hostname] ***********************************
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:49 -0400 (0:00:00.338)       0:00:09.683 *********
ok: [172.xx.xx.xx] => {
    "msg": "Short hostname is: powervc231_lpar"
}

TASK [pvc_precheck : debug] ****************************************************
ok: [172.xx.xx.xx] => {
    "msg": "Short hostname is: powervc231_lpar"
}
Sunday 10 August 2025  05:22:49 -0400 (0:00:00.104)       0:00:09.788 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "Host name is set correctly"
}

TASK [pvc_precheck : Check hostname is not localhost] **************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "Host name is set correctly"
}
Sunday 10 August 2025  05:22:50 -0400 (0:00:00.106)       0:00:09.895 *********
Sunday 10 August 2025  05:22:50 -0400 (0:00:00.102)       0:00:09.998 *********

TASK [pvc_precheck : check hostname length] ************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:50 -0400 (0:00:00.388)       0:00:10.387 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "hostname length validated"
}

TASK [pvc_precheck : validate hostname length] *********************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "hostname length validated"
}
Sunday 10 August 2025  05:22:50 -0400 (0:00:00.104)       0:00:10.491 *********
Sunday 10 August 2025  05:22:50 -0400 (0:00:00.103)       0:00:10.594 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "OS/architecture requirement met"
}

TASK [pvc_precheck : validate OS and architecture] *****************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "OS/architecture requirement met"
}
Sunday 10 August 2025  05:22:50 -0400 (0:00:00.139)       0:00:10.734 *********
ok: [172.xx.xx.xx]

TASK [pvc_precheck : get OS and architecture of one node] **********************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:50 -0400 (0:00:00.107)       0:00:10.842 *********

TASK [pvc_precheck : compare OS and architecture of all nodes] *****************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "OS/architecture matched"
}
Sunday 10 August 2025  05:22:51 -0400 (0:00:00.132)       0:00:10.975 *********
Sunday 10 August 2025  05:22:51 -0400 (0:00:00.131)       0:00:11.107 *********
Sunday 10 August 2025  05:22:51 -0400 (0:00:00.152)       0:00:11.259 *********
Sunday 10 August 2025  05:22:51 -0400 (0:00:00.248)       0:00:11.508 *********

TASK [pvc_precheck : Warn Mismatch in SELinux] *********************************
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:51 -0400 (0:00:00.364)       0:00:11.873 *********

TASK [pvc_precheck : Warn Mismatch in SELinux] *********************************
ok: [172.xx.xx.xx] => (item=172.xx.xx.xx) => {
    "ansible_loop_var": "item",
    "changed": false,
    "item": "172.xx.xx.xx",
    "msg": "SELinux validated"
}
Sunday 10 August 2025  05:22:52 -0400 (0:00:00.219)       0:00:12.093 *********
Sunday 10 August 2025  05:22:52 -0400 (0:00:00.105)       0:00:12.198 *********
changed: [172.xx.xx.xx]

TASK [pvc_precheck : check net tools] ******************************************
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:52 -0400 (0:00:00.470)       0:00:12.669 *********
ok: [172.xx.xx.xx] => {
    "msg": "net-tools rpm is present. precheck check_net_tools() succeeded."
}

TASK [pvc_precheck : Validate presence of net tools] ***************************
ok: [172.xx.xx.xx] => {
    "msg": "net-tools rpm is present. precheck check_net_tools() succeeded."
}
Sunday 10 August 2025  05:22:52 -0400 (0:00:00.109)       0:00:12.779 *********
Sunday 10 August 2025  05:22:53 -0400 (0:00:00.145)       0:00:12.925 *********
Sunday 10 August 2025  05:22:53 -0400 (0:00:00.101)       0:00:13.027 *********

TASK [pvc_precheck : {{ pvc_utils_task_names.install_misc_packages }}] *********
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:55 -0400 (0:00:02.014)       0:00:15.042 *********

TASK [pvc_precheck : check nslookup RHEL] **************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:55 -0400 (0:00:00.367)       0:00:15.409 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "nslookup validated"
}

TASK [pvc_precheck : validate nslookup RHEL] ***********************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "nslookup validated"
}
Sunday 10 August 2025  05:22:55 -0400 (0:00:00.137)       0:00:15.546 *********
Sunday 10 August 2025  05:22:55 -0400 (0:00:00.216)       0:00:15.763 *********
Sunday 10 August 2025  05:22:55 -0400 (0:00:00.124)       0:00:15.887 *********
Sunday 10 August 2025  05:22:56 -0400 (0:00:00.131)       0:00:16.019 *********

TASK [pvc_precheck : check epel enabled] ***************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:22:56 -0400 (0:00:00.816)       0:00:16.835 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "EPEL repo is not enabled"
}

TASK [pvc_precheck : is epel enabled] ******************************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "EPEL repo is not enabled"
}
Sunday 10 August 2025  05:22:57 -0400 (0:00:00.132)       0:00:16.967 *********
Sunday 10 August 2025  05:22:57 -0400 (0:00:00.131)       0:00:17.099 *********

TASK [pvc_precheck : openstack versions check] *********************************
ok: [172.xx.xx.xx] => (item=kilo)
ok: [172.xx.xx.xx] => (item=liberty)
ok: [172.xx.xx.xx] => (item=mitaka)
ok: [172.xx.xx.xx] => (item=newton)
ok: [172.xx.xx.xx] => (item=ocata)
ok: [172.xx.xx.xx] => (item=pike)
ok: [172.xx.xx.xx] => (item=queens)
ok: [172.xx.xx.xx] => (item=rocky)
ok: [172.xx.xx.xx] => (item=stein)
ok: [172.xx.xx.xx] => (item=train)
ok: [172.xx.xx.xx] => (item=ussuri)
ok: [172.xx.xx.xx] => (item=victoria)
ok: [172.xx.xx.xx] => (item=wallaby)
Sunday 10 August 2025  05:23:06 -0400 (0:00:09.451)       0:00:26.550 *********

TASK [pvc_precheck : Set openstack_versions_present to false by default] *******
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:06 -0400 (0:00:00.135)       0:00:26.686 *********
Sunday 10 August 2025  05:23:07 -0400 (0:00:00.569)       0:00:27.256 *********
Sunday 10 August 2025  05:23:07 -0400 (0:00:00.205)       0:00:27.461 *********

TASK [pvc_precheck : new naming scheme for RHEL repos] *************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:08 -0400 (0:00:00.816)       0:00:28.277 *********

TASK [pvc_precheck : check rdo enabled] ****************************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "RDO repo is not enabled"
}
Sunday 10 August 2025  05:23:08 -0400 (0:00:00.161)       0:00:28.438 *********

TASK [pvc_precheck : check rdo yum enabled] ************************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "RDO yum repo is not enabled"
}
Sunday 10 August 2025  05:23:08 -0400 (0:00:00.158)       0:00:28.597 *********
Sunday 10 August 2025  05:23:08 -0400 (0:00:00.103)       0:00:28.700 *********

TASK [pvc_precheck : get umask permissions] ************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:09 -0400 (0:00:00.341)       0:00:29.041 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "umask permissions check successful"
}

TASK [pvc_precheck : check umask permissions] **********************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "umask permissions check successful"
}
Sunday 10 August 2025  05:23:09 -0400 (0:00:00.152)       0:00:29.194 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "minimum memory requirement met"
}

TASK [pvc_precheck : validate minimum memory] **********************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "minimum memory requirement met"
}
Sunday 10 August 2025  05:23:09 -0400 (0:00:00.131)       0:00:29.325 *********
Sunday 10 August 2025  05:23:09 -0400 (0:00:00.102)       0:00:29.428 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "minimum cpu cores requirement met"
}

TASK [pvc_precheck : validate minimum cpu cores] *******************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "minimum cpu cores requirement met"
}
Sunday 10 August 2025  05:23:09 -0400 (0:00:00.134)       0:00:29.562 *********

TASK [pvc_precheck : get cpu speed ppc] ****************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:10 -0400 (0:00:00.371)       0:00:29.933 *********
Sunday 10 August 2025  05:23:10 -0400 (0:00:00.126)       0:00:30.060 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "minimum cpu speed requirement met"
}

TASK [pvc_precheck : check cpu speed ppc] **************************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "minimum cpu speed requirement met"
}
Sunday 10 August 2025  05:23:10 -0400 (0:00:00.138)       0:00:30.199 *********
Sunday 10 August 2025  05:23:10 -0400 (0:00:00.171)       0:00:30.371 *********
Sunday 10 August 2025  05:23:10 -0400 (0:00:00.104)       0:00:30.475 *********

TASK [pvc_precheck : check fs_ulimit] ******************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:10 -0400 (0:00:00.341)       0:00:30.817 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "fs ulimit - unlimited"
}

TASK [pvc_precheck : fs_ulimit] ************************************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "fs ulimit - unlimited"
}
Sunday 10 August 2025  05:23:11 -0400 (0:00:00.106)       0:00:30.924 *********
Sunday 10 August 2025  05:23:11 -0400 (0:00:00.103)       0:00:31.027 *********

TASK [pvc_precheck : check install directories permissions] ********************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:11 -0400 (0:00:00.383)       0:00:31.410 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "install directories permissions check successful"
}

TASK [pvc_precheck : validate install directories permissions] *****************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "install directories permissions check successful"
}
Sunday 10 August 2025  05:23:11 -0400 (0:00:00.106)       0:00:31.517 *********
Sunday 10 August 2025  05:23:11 -0400 (0:00:00.149)       0:00:31.667 *********

TASK [pvc_precheck : Check if opt/ibm dir is present] **************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:12 -0400 (0:00:00.445)       0:00:32.113 *********

TASK [pvc_precheck : Check if /var/opt/ibm dir is present] *********************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:12 -0400 (0:00:00.336)       0:00:32.449 *********

TASK [pvc_precheck : Creates opt/ibm directory] ********************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:13 -0400 (0:00:00.509)       0:00:32.958 *********

TASK [pvc_precheck : Creates /var/opt/ibm directory] ***************************
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:13 -0400 (0:00:00.349)       0:00:33.308 *********
ok: [172.xx.xx.xx] => (item=/opt)

TASK [pvc_precheck : check ibm dirs access] ************************************
ok: [172.xx.xx.xx] => (item=/opt)
ok: [172.xx.xx.xx] => (item=/opt/ibm)
ok: [172.xx.xx.xx] => (item=/var/opt/ibm)
Sunday 10 August 2025  05:23:14 -0400 (0:00:00.881)       0:00:34.190 *********
Sunday 10 August 2025  05:23:14 -0400 (0:00:00.105)       0:00:34.296 *********

TASK [pvc_precheck : Recursively remove /var/opt/ibm directory] ****************
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:14 -0400 (0:00:00.351)       0:00:34.647 *********

TASK [pvc_precheck : Set ibm dirs access check to true by default] *************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:14 -0400 (0:00:00.106)       0:00:34.754 *********
Sunday 10 August 2025  05:23:14 -0400 (0:00:00.127)       0:00:34.881 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "ibm dirs access validated"
}

TASK [pvc_precheck : validate ibm dirs access] *********************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "ibm dirs access validated"
}
Sunday 10 August 2025  05:23:15 -0400 (0:00:00.104)       0:00:34.985 *********
Sunday 10 August 2025  05:23:15 -0400 (0:00:00.102)       0:00:35.088 *********

TASK [pvc_precheck : See if any interface has an IPv4 address] *****************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:15 -0400 (0:00:00.389)       0:00:35.477 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "interfaces ipv4 addresses check successful"
}

TASK [{{ pvc_precheck_task_names.check_interfaces_ipv4_addresses }}] ***********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "interfaces ipv4 addresses check successful"
}
Sunday 10 August 2025  05:23:15 -0400 (0:00:00.106)       0:00:35.584 *********
Sunday 10 August 2025  05:23:15 -0400 (0:00:00.103)       0:00:35.687 *********

TASK [pvc_precheck : check disk space] *****************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:16 -0400 (0:00:00.361)       0:00:36.049 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "disk space validated"
}

TASK [pvc_precheck : validate disk space] **************************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "disk space validated"
}
Sunday 10 August 2025  05:23:16 -0400 (0:00:00.106)       0:00:36.156 *********
Sunday 10 August 2025  05:23:16 -0400 (0:00:00.103)       0:00:36.259 *********

TASK [pvc_precheck : initialize HOSTNAME] **************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:16 -0400 (0:00:00.345)       0:00:36.605 *********

TASK [pvc_precheck : set HOSTNAME] *********************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:16 -0400 (0:00:00.153)       0:00:36.758 *********
ok: [172.xx.xx.xx] => {
    "HOSTNAME": "powervc231_lpar"
}

TASK [pvc_precheck : debug] ****************************************************
ok: [172.xx.xx.xx] => {
    "HOSTNAME": "powervc231_lpar"
}
Sunday 10 August 2025  05:23:16 -0400 (0:00:00.106)       0:00:36.864 *********

TASK [pvc_precheck : check host ping] ******************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:20 -0400 (0:00:03.505)       0:00:40.370 *********
Sunday 10 August 2025  05:23:20 -0400 (0:00:00.140)       0:00:40.511 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "hostname local validated"
}

TASK [pvc_precheck : validate host ping] ***************************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "hostname local validated"
}
Sunday 10 August 2025  05:23:20 -0400 (0:00:00.105)       0:00:40.617 *********
Sunday 10 August 2025  05:23:20 -0400 (0:00:00.103)       0:00:40.720 *********
Sunday 10 August 2025  05:23:20 -0400 (0:00:00.101)       0:00:40.822 *********

TASK [pvc_precheck : localhost count ipv4] *************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:21 -0400 (0:00:00.344)       0:00:41.166 *********
Sunday 10 August 2025  05:23:21 -0400 (0:00:00.101)       0:00:41.267 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "localhost is Loopback check successful"
}

TASK [pvc_precheck : check localhost is Loopback ipv4] *************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "localhost is Loopback check successful"
}
Sunday 10 August 2025  05:23:21 -0400 (0:00:00.108)       0:00:41.375 *********
Sunday 10 August 2025  05:23:21 -0400 (0:00:00.103)       0:00:41.479 *********

TASK [pvc_precheck : check hostname is Loopback] *******************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:21 -0400 (0:00:00.362)       0:00:41.842 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "hostname is Loopback check successful"
}

TASK [pvc_precheck : validate hostname is Loopback] ****************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "hostname is Loopback check successful"
}
Sunday 10 August 2025  05:23:22 -0400 (0:00:00.105)       0:00:41.947 *********
Sunday 10 August 2025  05:23:22 -0400 (0:00:00.103)       0:00:42.051 *********

TASK [pvc_precheck : check valid host in dns] **********************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:40 -0400 (0:00:18.350)       0:01:00.402 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "valid host in dns check successful"
}

TASK [pvc_precheck : validate valid host in dns] *******************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "valid host in dns check successful"
}
Sunday 10 August 2025  05:23:40 -0400 (0:00:00.105)       0:01:00.507 *********
Sunday 10 August 2025  05:23:40 -0400 (0:00:00.103)       0:01:00.611 *********

TASK [pvc_precheck : Check hostname of the host] *******************************
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:41 -0400 (0:00:00.353)       0:01:00.964 *********

TASK [pvc_precheck : Set nodename as hostname] *********************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:41 -0400 (0:00:00.131)       0:01:01.096 *********
Sunday 10 August 2025  05:23:41 -0400 (0:00:00.102)       0:01:01.198 *********
changed: [172.xx.xx.xx]

TASK [pvc_precheck : Count the host entry present on the VM] *******************
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:41 -0400 (0:00:00.345)       0:01:01.544 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "Duplicate entry is not present"
}

TASK [pvc_precheck : Validate check for duplicate host name] *******************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "Duplicate entry is not present"
}
Sunday 10 August 2025  05:23:41 -0400 (0:00:00.105)       0:01:01.650 *********
Sunday 10 August 2025  05:23:41 -0400 (0:00:00.103)       0:01:01.754 *********

TASK [pvc_precheck : check proxy permissions] **********************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:42 -0400 (0:00:00.400)       0:01:02.155 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "proxy permissions check successful"
}

TASK [pvc_precheck : validate proxy permissions] *******************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "proxy permissions check successful"
}
Sunday 10 August 2025  05:23:42 -0400 (0:00:00.105)       0:01:02.260 *********
Sunday 10 August 2025  05:23:42 -0400 (0:00:00.103)       0:01:02.363 *********

TASK [pvc_precheck : check hostname underscore] ********************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:42 -0400 (0:00:00.341)       0:01:02.705 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "hostname underscore validated"
}

TASK [pvc_precheck : validate hostname underscore] *****************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "hostname underscore validated"
}
Sunday 10 August 2025  05:23:42 -0400 (0:00:00.106)       0:01:02.812 *********
Sunday 10 August 2025  05:23:43 -0400 (0:00:00.103)       0:01:02.915 *********

TASK [pvc_precheck : Set nodename as hostname] *********************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:43 -0400 (0:00:00.130)       0:01:03.046 *********
Sunday 10 August 2025  05:23:43 -0400 (0:00:00.105)       0:01:03.151 *********

TASK [pvc_precheck : Set nodename as hostname] *********************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:43 -0400 (0:00:00.182)       0:01:03.333 *********

TASK [pvc_precheck : set_fact] *************************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:43 -0400 (0:00:00.107)       0:01:03.441 *********

TASK [pvc_precheck : Validate ping for 4 times grep the 'received' response] ***
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:47 -0400 (0:00:03.489)       0:01:06.930 *********
Sunday 10 August 2025  05:23:47 -0400 (0:00:00.141)       0:01:07.072 *********
Sunday 10 August 2025  05:23:47 -0400 (0:00:00.104)       0:01:07.177 *********
ok: [172.xx.xx.xx]

TASK [pvc_precheck : Set localhost as the nodename] ****************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:47 -0400 (0:00:00.111)       0:01:07.288 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "Ping test passed"
}

TASK [pvc_precheck : Validate ping] ********************************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "Ping test passed"
}
Sunday 10 August 2025  05:23:47 -0400 (0:00:00.108)       0:01:07.396 *********
Sunday 10 August 2025  05:23:47 -0400 (0:00:00.102)       0:01:07.499 *********
Sunday 10 August 2025  05:23:47 -0400 (0:00:00.099)       0:01:07.598 *********
Sunday 10 August 2025  05:23:47 -0400 (0:00:00.102)       0:01:07.701 *********
Sunday 10 August 2025  05:23:47 -0400 (0:00:00.101)       0:01:07.802 *********
Sunday 10 August 2025  05:23:48 -0400 (0:00:00.150)       0:01:07.953 *********
Sunday 10 August 2025  05:23:48 -0400 (0:00:00.102)       0:01:08.055 *********
Sunday 10 August 2025  05:23:48 -0400 (0:00:00.102)       0:01:08.158 *********
Sunday 10 August 2025  05:23:48 -0400 (0:00:00.103)       0:01:08.261 *********
Sunday 10 August 2025  05:23:48 -0400 (0:00:00.102)       0:01:08.364 *********
Sunday 10 August 2025  05:23:48 -0400 (0:00:00.100)       0:01:08.465 *********
Sunday 10 August 2025  05:23:48 -0400 (0:00:00.102)       0:01:08.567 *********
Sunday 10 August 2025  05:23:48 -0400 (0:00:00.102)       0:01:08.670 *********
Sunday 10 August 2025  05:23:48 -0400 (0:00:00.151)       0:01:08.821 *********
Sunday 10 August 2025  05:23:49 -0400 (0:00:00.101)       0:01:08.923 *********
Sunday 10 August 2025  05:23:49 -0400 (0:00:00.103)       0:01:09.026 *********
Sunday 10 August 2025  05:23:49 -0400 (0:00:00.099)       0:01:09.125 *********
Sunday 10 August 2025  05:23:49 -0400 (0:00:00.103)       0:01:09.229 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "root user"
}

TASK [pvc_precheck : check user privillege] ************************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "root user"
}
Sunday 10 August 2025  05:23:49 -0400 (0:00:00.133)       0:01:09.363 *********
Sunday 10 August 2025  05:23:49 -0400 (0:00:00.103)       0:01:09.466 *********

TASK [pvc_precheck : test apache id] *******************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:49 -0400 (0:00:00.422)       0:01:09.889 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "apache id check successful"
}

TASK [pvc_precheck : check apache id] ******************************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "apache id check successful"
}
Sunday 10 August 2025  05:23:50 -0400 (0:00:00.134)       0:01:10.023 *********
Sunday 10 August 2025  05:23:50 -0400 (0:00:00.103)       0:01:10.127 *********
Sunday 10 August 2025  05:23:50 -0400 (0:00:00.103)       0:01:10.230 *********

TASK [pvc_precheck : Gather facts for listening ports] *************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:51 -0400 (0:00:00.809)       0:01:11.040 *********
ok: [172.xx.xx.xx] => (item=5000)

TASK [pvc_precheck : Check port is available or not] ***************************
ok: [172.xx.xx.xx] => (item=5000)
ok: [172.xx.xx.xx] => (item=35357)
ok: [172.xx.xx.xx] => (item=9292)
ok: [172.xx.xx.xx] => (item=9191)
ok: [172.xx.xx.xx] => (item=8774)
ok: [172.xx.xx.xx] => (item=9000)
ok: [172.xx.xx.xx] => (item=9696)
ok: [172.xx.xx.xx] => (item=8428)
ok: [172.xx.xx.xx] => (item=5470)
ok: [172.xx.xx.xx] => (item=7870)
ok: [172.xx.xx.xx] => (item=5671)
ok: [172.xx.xx.xx] => (item=4369)
ok: [172.xx.xx.xx] => (item=50110)
ok: [172.xx.xx.xx] => (item=8080)
ok: [172.xx.xx.xx] => (item=6200)
ok: [172.xx.xx.xx] => (item=6201)
ok: [172.xx.xx.xx] => (item=6202)
ok: [172.xx.xx.xx] => (item=8998)
ok: [172.xx.xx.xx] => (item=6080)
ok: [172.xx.xx.xx] => (item=8778)
ok: [172.xx.xx.xx] => (item=8041)
Sunday 10 August 2025  05:23:52 -0400 (0:00:00.905)       0:01:11.946 *********
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 5000, 'ansible_loop_var': 'item'})

TASK [pvc_precheck : Group available ports] ************************************
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 5000, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 35357, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 9292, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 9191, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 8774, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 9000, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 9696, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 8428, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 5470, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 7870, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 5671, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 4369, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 50110, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 8080, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 6200, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 6201, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 6202, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 8998, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 6080, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 8778, 'ansible_loop_var': 'item'})
ok: [172.xx.xx.xx] => (item={'changed': False, 'ansible_facts': {'reg_port_available': False}, 'failed': False, 'item': 8041, 'ansible_loop_var': 'item'})
Sunday 10 August 2025  05:23:52 -0400 (0:00:00.343)       0:01:12.289 *********
Sunday 10 August 2025  05:23:52 -0400 (0:00:00.216)       0:01:12.506 *********

TASK [pvc_precheck : List available ports] *************************************
ok: [172.xx.xx.xx] => {
    "msg": "Ports are not being used and are available:- [5000, 35357, 9292, 9191, 8774, 9000, 9696, 8428, 5470, 7870, 5671, 4369, 50110, 8080, 6200, 6201, 6202, 8998, 6080, 8778, 8041] precheck check_ports_available success."
}
Sunday 10 August 2025  05:23:52 -0400 (0:00:00.114)       0:01:12.620 *********
Sunday 10 August 2025  05:23:52 -0400 (0:00:00.100)       0:01:12.721 *********
Sunday 10 August 2025  05:23:52 -0400 (0:00:00.103)       0:01:12.825 *********

TASK [pvc_precheck : get service facts] ****************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:56 -0400 (0:00:03.805)       0:01:16.631 *********
Sunday 10 August 2025  05:23:56 -0400 (0:00:00.111)       0:01:16.742 *********
Sunday 10 August 2025  05:23:57 -0400 (0:00:00.325)       0:01:17.067 *********
Sunday 10 August 2025  05:23:57 -0400 (0:00:00.151)       0:01:17.219 *********
Sunday 10 August 2025  05:23:57 -0400 (0:00:00.143)       0:01:17.363 *********
Sunday 10 August 2025  05:23:57 -0400 (0:00:00.112)       0:01:17.476 *********

TASK [pvc_precheck : checking status of disable_ipv6 kernel] *******************
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:57 -0400 (0:00:00.353)       0:01:17.829 *********
Sunday 10 August 2025  05:23:58 -0400 (0:00:00.117)       0:01:17.946 *********
Sunday 10 August 2025  05:23:58 -0400 (0:00:00.110)       0:01:18.057 *********
Sunday 10 August 2025  05:23:58 -0400 (0:00:00.109)       0:01:18.167 *********
Sunday 10 August 2025  05:23:58 -0400 (0:00:00.161)       0:01:18.329 *********
Sunday 10 August 2025  05:23:58 -0400 (0:00:00.111)       0:01:18.440 *********
Sunday 10 August 2025  05:23:58 -0400 (0:00:00.139)       0:01:18.580 *********

TASK [pvc_precheck : set_fact] *************************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:58 -0400 (0:00:00.146)       0:01:18.726 *********

TASK [pvc_precheck : set_fact] *************************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:23:58 -0400 (0:00:00.148)       0:01:18.874 *********

TASK [pvc_precheck : copying rpm_prereq.rhel18.py to /root on remote host] *****
ok: [172.xx.xx.xx] => (item=rpm_prereq_rhel8.py)
Sunday 10 August 2025  05:23:59 -0400 (0:00:00.959)       0:01:19.834 *********

TASK [pvc_precheck : creating logfile at /root/ to be used by rpm_prereq_rhel8.py] ***
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:24:00 -0400 (0:00:00.450)       0:01:20.285 *********

TASK [pvc_precheck : fetching rpm_prereq log file to control node /var/log] ****
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:24:00 -0400 (0:00:00.443)       0:01:20.728 *********

TASK [pvc_precheck : delete the rpm_prereq log file from remote host path] *****
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:24:01 -0400 (0:00:00.387)       0:01:21.116 *********
Sunday 10 August 2025  05:24:01 -0400 (0:00:00.135)       0:01:21.251 *********
Sunday 10 August 2025  05:24:01 -0400 (0:00:00.137)       0:01:21.389 *********
Sunday 10 August 2025  05:24:01 -0400 (0:00:00.138)       0:01:21.527 *********
Sunday 10 August 2025  05:24:01 -0400 (0:00:00.227)       0:01:21.755 *********
Sunday 10 August 2025  05:24:02 -0400 (0:00:00.139)       0:01:21.895 *********
Sunday 10 August 2025  05:24:02 -0400 (0:00:00.137)       0:01:22.032 *********
Sunday 10 August 2025  05:24:02 -0400 (0:00:00.143)       0:01:22.176 *********
Sunday 10 August 2025  05:24:02 -0400 (0:00:00.137)       0:01:22.314 *********
Sunday 10 August 2025  05:24:02 -0400 (0:00:00.141)       0:01:22.455 *********
Sunday 10 August 2025  05:24:02 -0400 (0:00:00.139)       0:01:22.595 *********
Sunday 10 August 2025  05:24:02 -0400 (0:00:00.205)       0:01:22.801 *********
Sunday 10 August 2025  05:24:03 -0400 (0:00:00.142)       0:01:22.944 *********
[WARNING]: Consider using the yum module rather than running 'yum'.  If you
need to use command because yum is insufficient you can add 'warn: false' to
this command task or set 'command_warnings=False' in ansible.cfg to get rid of
this message.

TASK [pvc_precheck : checking if versionlock exists] ***************************
[WARNING]: Consider using the yum module rather than running 'yum'.  If you
need to use command because yum is insufficient you can add 'warn: false' to
this command task or set 'command_warnings=False' in ansible.cfg to get rid of
this message.
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:24:03 -0400 (0:00:00.821)       0:01:23.765 *********
ok: [172.xx.xx.xx] => {
    "msg": "versionlock does not exist, not checking for rpm versionlock"
}

TASK [pvc_precheck : debug] ****************************************************
ok: [172.xx.xx.xx] => {
    "msg": "versionlock does not exist, not checking for rpm versionlock"
}
Sunday 10 August 2025  05:24:04 -0400 (0:00:00.144)       0:01:23.910 *********
Sunday 10 August 2025  05:24:04 -0400 (0:00:00.142)       0:01:24.053 *********
Sunday 10 August 2025  05:24:04 -0400 (0:00:00.140)       0:01:24.193 *********
Sunday 10 August 2025  05:24:04 -0400 (0:00:00.229)       0:01:24.423 *********
Sunday 10 August 2025  05:24:04 -0400 (0:00:00.139)       0:01:24.563 *********
Sunday 10 August 2025  05:24:04 -0400 (0:00:00.138)       0:01:24.701 *********
Sunday 10 August 2025  05:24:04 -0400 (0:00:00.142)       0:01:24.843 *********
Sunday 10 August 2025  05:24:05 -0400 (0:00:00.141)       0:01:24.985 *********
Sunday 10 August 2025  05:24:05 -0400 (0:00:00.142)       0:01:25.128 *********
Sunday 10 August 2025  05:24:05 -0400 (0:00:00.138)       0:01:25.267 *********
Sunday 10 August 2025  05:24:05 -0400 (0:00:00.211)       0:01:25.478 *********
Sunday 10 August 2025  05:24:05 -0400 (0:00:00.136)       0:01:25.615 *********
Sunday 10 August 2025  05:24:05 -0400 (0:00:00.138)       0:01:25.753 *********
Sunday 10 August 2025  05:24:05 -0400 (0:00:00.137)       0:01:25.891 *********
Sunday 10 August 2025  05:24:06 -0400 (0:00:00.112)       0:01:26.003 *********

TASK [pvc_precheck : check if /etc/cinder/ is dir] *****************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:24:06 -0400 (0:00:00.345)       0:01:26.348 *********
Sunday 10 August 2025  05:24:06 -0400 (0:00:00.162)       0:01:26.511 *********
fatal: [172.xx.xx.xx]: FAILED! => {"msg": "'dict object' has no attribute 'stdout_lines'"}

TASK [pvc_precheck : get config value for files in /etc/cinder] ****************
fatal: [172.xx.xx.xx]: FAILED! => {"msg": "'dict object' has no attribute 'stdout_lines'"}
...ignoring
Sunday 10 August 2025  05:24:06 -0400 (0:00:00.108)       0:01:26.619 *********
Sunday 10 August 2025  05:24:06 -0400 (0:00:00.113)       0:01:26.732 *********

TASK [pvc_precheck : check pwd exists] *****************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:24:07 -0400 (0:00:00.350)       0:01:27.083 *********
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "pwd exists"
}

TASK [pvc_precheck : does pwd exist] *******************************************
ok: [172.xx.xx.xx] => {
    "changed": false,
    "msg": "pwd exists"
}
Sunday 10 August 2025  05:24:07 -0400 (0:00:00.116)       0:01:27.199 *********
Sunday 10 August 2025  05:24:07 -0400 (0:00:00.115)       0:01:27.314 *********
ok: [172.xx.xx.xx] => (item=/var/opt/ibm/powervc/db)

TASK [pvc_precheck : Get the stale dir path] ***********************************
ok: [172.xx.xx.xx] => (item=/var/opt/ibm/powervc/db)
ok: [172.xx.xx.xx] => (item=/var/lib/mysql)
ok: [172.xx.xx.xx] => (item=/usr/bin/mysql)
Sunday 10 August 2025  05:24:08 -0400 (0:00:00.876)       0:01:28.190 *********
ok: [172.xx.xx.xx] => {
    "msg": []
}

TASK [pvc_precheck : debug] ****************************************************
ok: [172.xx.xx.xx] => {
    "msg": []
}
Sunday 10 August 2025  05:24:08 -0400 (0:00:00.118)       0:01:28.309 *********
172.xx.xx.xx               : ok=113  changed=20   unreachable=0    failed=0    skipped=116  rescued=0    ignored=2

PLAY RECAP *********************************************************************
172.xx.xx.xx               : ok=113  changed=20   unreachable=0    failed=0    skipped=116  rescued=0    ignored=2

Sunday 10 August 2025  05:24:08 -0400 (0:00:00.021)       0:01:28.330 *********
===============================================================================
pvc_precheck : check valid host in dns --------------------------------- 18.35s
pvc_precheck : openstack versions check --------------------------------- 9.45s
pvc_precheck : get service facts ---------------------------------------- 3.81s
pvc_precheck : check host ping ------------------------------------------ 3.51s
pvc_precheck : Validate ping for 4 times grep the 'received' response --- 3.49s
pvc_precheck : package facts -------------------------------------------- 2.52s
pvc_precheck : {{ pvc_utils_task_names.install_misc_packages }} --------- 2.01s
Gathering Facts --------------------------------------------------------- 1.71s
pvc_precheck : copying rpm_prereq.rhel18.py to /root on remote host ----- 0.96s
command ----------------------------------------------------------------- 0.92s
pvc_precheck : Check port is available or not --------------------------- 0.91s
pvc_precheck : check ibm dirs access ------------------------------------ 0.88s
pvc_precheck : Get the stale dir path ----------------------------------- 0.88s
pvc_precheck : checking if versionlock exists --------------------------- 0.82s
pvc_precheck : new naming scheme for RHEL repos ------------------------- 0.82s
pvc_precheck : check epel enabled --------------------------------------- 0.82s
pvc_precheck : Gather facts for listening ports ------------------------- 0.81s
pvc_precheck : reduce openstack versions check -------------------------- 0.57s
pvc_precheck : Creates opt/ibm directory -------------------------------- 0.51s
pvc_precheck : check net tools ------------------------------------------ 0.47s
Refer to
 /opt/ibm/powervc-opsmgr/ansible/artifacts/powervc-opsmgr_powervc231_precheck_20250810_052238/stdout
 for more details.
Precheck passed

最終出力で、 Precheck passed が表示されました。

Pre Checkの実行ログの途中で FAILED! というメッセージ表示がありますが、これは新規インストール時に既存のPowerVC設定ファイルが存在しないなどが理由で発生するものです。
メッセージの末尾に ...ignoring とあるように、このエラーは無視される想定内の動作のため、最終的に Precheck passed と表示されれば問題ありません。

Sunday 10 August 2025  05:24:08 -0400 (0:00:00.021)       0:01:28.330 *********
===============================================================================
pvc_precheck : check valid host in dns --------------------------------- 18.35s
pvc_precheck : openstack versions check --------------------------------- 9.45s
pvc_precheck : get service facts ---------------------------------------- 3.81s
pvc_precheck : check host ping ------------------------------------------ 3.51s
pvc_precheck : Validate ping for 4 times grep the 'received' response --- 3.49s
pvc_precheck : package facts -------------------------------------------- 2.52s
pvc_precheck : {{ pvc_utils_task_names.install_misc_packages }} --------- 2.01s
Gathering Facts --------------------------------------------------------- 1.71s
pvc_precheck : copying rpm_prereq.rhel18.py to /root on remote host ----- 0.96s
command ----------------------------------------------------------------- 0.92s
pvc_precheck : Check port is available or not --------------------------- 0.91s
pvc_precheck : check ibm dirs access ------------------------------------ 0.88s
pvc_precheck : Get the stale dir path ----------------------------------- 0.88s
pvc_precheck : checking if versionlock exists --------------------------- 0.82s
pvc_precheck : new naming scheme for RHEL repos ------------------------- 0.82s
pvc_precheck : check epel enabled --------------------------------------- 0.82s
pvc_precheck : Gather facts for listening ports ------------------------- 0.81s
pvc_precheck : reduce openstack versions check -------------------------- 0.57s
pvc_precheck : Creates opt/ibm directory -------------------------------- 0.51s
pvc_precheck : check net tools ------------------------------------------ 0.47s
Refer to
 /opt/ibm/powervc-opsmgr/ansible/artifacts/powervc-opsmgr_powervc231_precheck_20250810_052238/stdout
 for more details.
Precheck passed

PowerVC 2.3.1 install

PowerVC 導入を実行します。
実行に時間がかかるため、ターミナルを切断しても問題ないよう nohup コマンドで実行します。

# nohup powervc-opsmgr install -c powervc231 &

コマンドを実行した同じディレクトリに出力された nohup.out で実行状態を確認します。

nohup.out に実行ログが出力されていることが確認できました。

# head -n 50 nohup.out

PLAY [{{ playbook_task_names.precheck }}] **************************************
Sunday 10 August 2025  05:26:56 -0400 (0:00:00.108)       0:00:00.108 *********
ok: [172.xx.xx.xx]

TASK [Gathering Facts] *********************************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:26:58 -0400 (0:00:02.657)       0:00:02.765 *********
changed: [172.xx.xx.xx]

TASK [command] *****************************************************************
changed: [172.xx.xx.xx]
Sunday 10 August 2025  05:26:59 -0400 (0:00:00.883)       0:00:03.649 *********

TASK [include_vars] ************************************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:26:59 -0400 (0:00:00.033)       0:00:03.682 *********

TASK [include_vars] ************************************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:26:59 -0400 (0:00:00.039)       0:00:03.722 *********

TASK [{{ pvc_utils_task_names.store_locale_variable }}] ************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:26:59 -0400 (0:00:00.036)       0:00:03.758 *********
Sunday 10 August 2025  05:27:00 -0400 (0:00:00.029)       0:00:03.787 *********
Sunday 10 August 2025  05:27:00 -0400 (0:00:00.027)       0:00:03.815 *********

TASK [include_vars] ************************************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:27:00 -0400 (0:00:00.036)       0:00:03.851 *********

TASK [include_vars] ************************************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:27:00 -0400 (0:00:00.037)       0:00:03.889 *********

TASK [pvc_precheck : include_vars] *********************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:27:00 -0400 (0:00:00.038)       0:00:03.927 *********
Sunday 10 August 2025  05:27:00 -0400 (0:00:00.031)       0:00:03.959 *********

TASK [pvc_precheck : package facts] ********************************************
ok: [172.xx.xx.xx]
Sunday 10 August 2025  05:27:02 -0400 (0:00:02.474)       0:00:06.433 *********
Sunday 10 August 2025  05:27:02 -0400 (0:00:00.106)       0:00:06.540 *********
[WARNING]: Consider using the yum, dnf or zypper module rather than running
'rpm'.  If you need to use command because yum, dnf or zypper is insufficient
you can add 'warn: false' to this command task or set 'command_warnings=False'
in ansible.cfg to get rid of this message.

時間経過後、nohup.out を確認すると導入が完了していることがわかりました。
この環境ではおよそ 1 時間 20 分かかっています。
(おそらくCPU割り当てが少ないので時間を要したと推測しています)

# tail -n 50 nohup.out
TASK [pvc_main : synchronize state file] ***************************************
ok: [172.xx.xx.xx -> 172.xx.xx.xx] => (item=172.xx.xx.xx)
Sunday 10 August 2025  06:47:56 -0400 (0:00:00.889)       1:19:28.150 *********

TASK [pvc_main : synchronize inventory] ****************************************
ok: [172.xx.xx.xx -> 172.xx.xx.xx] => (item=172.xx.xx.xx)
Sunday 10 August 2025  06:48:00 -0400 (0:00:04.736)       1:19:32.887 *********
ok: [172.xx.xx.xx] => {
    "msg": "Play completed successfully"
}

TASK [pvc_main : Success message for play] *************************************
ok: [172.xx.xx.xx] => {
    "msg": "Play completed successfully"
}
Sunday 10 August 2025  06:48:00 -0400 (0:00:00.156)       1:19:33.044 *********

PLAY RECAP *********************************************************************
172.xx.xx.xx               : ok=2927 changed=1343 unreachable=0    failed=0    skipped=2948 rescued=0    ignored=13

Sunday 10 August 2025  06:48:01 -0400 (0:00:00.153)       1:19:33.198 *********
===============================================================================
pvc_db_ssl : Restart and manage PowerVC services with resources(Approx 10 min) - 372.48s
pvc_bootstrap_keystone : Wait for keystone service to be active ------- 121.82s
pvc_db_ssl : Pause for 2 mins ----------------------------------------- 120.18s
pvc_reverse_proxy : restart proxyserver -------------------------------- 91.96s
pvc_utils : Install selinux packages ----------------------------------- 82.98s
pvc_firewalld : Open TCP ports on Firewall ----------------------------- 48.24s
pvc_bootstrap_keystone : install keystone packages --------------------- 47.92s
pvc_galera_new : Installing mariadb and galera packages ---------------- 37.24s
pvc_db_conn : Create DB credentials and grant permissions -------------- 34.82s
pvc_db_ssl : Update configuration files to include SSL flag ------------ 34.51s
pvc_galera_new : Install mariadb --------------------------------------- 34.19s
pvc_pacemaker : Configure Pacemaker resources -------------------------- 32.09s
{{ pvc_firewalld_task_names.open_firewall_port_for_pvc_firewalld_component_services }} -- 31.15s
pvc_main : {{ playbook_task_names.wait_for_30_seconds_to_have_galera_as_resource_active }} -- 30.42s
pvc_galera_new : Wait for 30 seconds for WSREP become prepared state --- 30.39s
pvc_galera_new : Wait for 30 seconds for WSREP become prepared state --- 30.39s
pvc_main : Httpd service restart --------------------------------------- 30.20s
pvc_pacemaker : Wait untill cluster is online and ready ---------------- 26.03s
pvc_pacemaker : Configure Pacemaker resources -------------------------- 25.53s
pvc_ui : Install UI server and client packages ------------------------- 25.27s
IBM PowerVC installation successfully completed at 2025-08-10 06:48:01.
 Refer to
 /opt/ibm/powervc-opsmgr/ansible/artifacts/powervc-opsmgr_powervc231_install_20250810_052825/stdout
 for more details.
Access PowerVC UI at https://172.xx.xx.xy
+--------------------------------------------------------------------------------+
|                        *** End of PowerVC Inventory ***                        |
+--------------------------------------------------------------------------------+

ログイン

ログイン画面

スクリーンショット 2025-08-10 22.16.04.png

ログイン後

スクリーンショット 2025-08-10 22.17.37.png

2.3.0 とほぼ同じ UI です。


おわりに

無事 PowerVC 2.3.1 の導入が確認できました。

チェック用pythonスクリプトの実行やssh鍵を使用した導入などが加わり、少しずつ機能追加されています。

一旦は導入確認まで。

ご参考:

以上です。

1
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?