dnf コマンドを使用した Ansible のローカル・インストール(PowerVC 2.0.2.1 前提作業)

##### はじめに

yum ではなく、dnf コマンドを使用した Ansible のインストールを確認しました。
PowerVC 2.0.2.1 導入のための前提作業で実施しています。

---
##### 環境

・RHEL 8.4 on PowerSystems (ppc64le)
・RPM モジュールは一部、PowerVC 2.0.2.1 同梱のrpm を使用
・ansible-2.9.27-1.el8.noarch.rpm


---
##### 準備

① Ansible 2.9 の rpm をインターネットから探してきてダウンロードし、対象サーバーに配置する。
当文書では"ansible-2.9.27-1.el8.noarch.rpm"を使用。


② repository の作成

以下のレポジトリを作成する。

```
# dnf repolist
repo id                                                          repo の名前
dvd-AppStream                                                    RHEL8_AppStream
dvd-BaseOS                                                       RHEL8_BaseOS
dvd-supplement                                                   RHEL8_Supplement
multiarch-ppc64le                                                multiarch-rhel-ppc64le
pvc_ops_manager-noarch                                           noarch-rhel-noarch
```

RHEL モジュールは iso ファイルをマウントした先を見せています。

```
# cat /etc/yum.repos.d/RHEL_pvc.repo
[dvd-BaseOS]
name=RHEL8_BaseOS
baseurl=file:///media/rhel84dvd/BaseOS/
enabled=1
gpgcheck=0
gpgkey=file:///media/rhel84dvd/RPM-GPG-KEY-redhat-release

[dvd-AppStream]
name=RHEL8_AppStream
baseurl=file:///media/rhel84dvd/AppStream/
enabled=1
gpgcheck=0
gpgkey=file:///media/rhel84dvd/RPM-GPG-KEY-redhat-release

[dvd-supplement]
name=RHEL8_Supplement
baseurl=file:///media/rhel84-sup-dvd/
enabled=1
gpgcheck=0
gpgkey=file:///media/rhel84-sup-dvd/RPM-GPG-KEY-redhat-release

```

"multiarch-ppc64le" と "pvc_ops_manager-noarch " は PowerVC 2.0.2.1 同梱のモジュールで定義ファイルは以下です。

```
# cat /etc/yum.repos.d/pvc_ops_manager.repo
[pvc_ops_manager-noarch]
name=noarch-rhel-noarch
gpgcheck=0
enabled=1
module_hotfixes=true
baseurl=file:/opt/ibm/powervc-opsmgr/packages/opsmgr/noarch/

[multiarch-ppc64le]
name=multiarch-rhel-ppc64le
gpgcheck=0
enabled=1
module_hotfixes=true
baseurl=file:/opt/ibm/powervc-opsmgr/packages/opsmgr/ppc64le/

```

---

##### 導入

"ansible-2.9.27-1.el8.noarch.rpm" を配置したディレクトリー上で dnf コマンドを使用して Ansible を導入します。

```
# ls -l ansible-2.9.27-1.el8.noarch.rpm
-rw-r--r--. 1 root root 17686096 Dec 29 03:09 ansible-2.9.27-1.el8.noarch.rpm
```


```
# dnf install ansible-2.9.27-1.el8.noarch.rpm
メタデータの期限切れの最終確認: 0:05:25 時間前の 2021年12月29日 03時07分39秒 に実施しました。
依存関係が解決しました。
==================================================================================================================================
 パッケージ                         アーキテクチャー      バージョン                   リポジトリー                         サイズ
==================================================================================================================================
インストール:
 ansible                            noarch                2.9.27-1.el8                 @commandline                          17 M
依存関係のインストール:
 python3-cryptography               ppc64le               3.2.1-4.el8                  dvd-BaseOS                           548 k
 python3-jinja2                     noarch                2.11.3-1.ibm                 pvc_ops_manager-noarch               232 k
 python3-markupsafe                 ppc64le               1.1.1-2.ibm                  multiarch-ppc64le                     44 k
 sshpass                            ppc64le               1.06-4.el8.ibm               multiarch-ppc64le                     34 k
弱い依存関係のインストール:
 python3-jmespath                   noarch                0.9.0-11.el8                 dvd-AppStream                         45 k

トランザクションの概要
==================================================================================================================================
インストール  6 パッケージ

合計サイズ: 18 M
ダウンロードサイズの合計: 310 k
インストール後のサイズ: 101 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/3): python3-jinja2-2.11.3-1.ibm.noarch.rpm                                                     175 MB/s | 232 kB     00:00
(2/3): python3-markupsafe-1.1.1-2.ibm.ppc64le.rpm                                                  37 MB/s |  44 kB     00:00
(3/3): sshpass-1.06-4.el8.ibm.ppc64le.rpm                                                          27 MB/s |  34 kB     00:00
----------------------------------------------------------------------------------------------------------------------------------
合計                                                                                               30 MB/s | 310 kB     00:00
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                          1/1
  インストール中   : sshpass-1.06-4.el8.ibm.ppc64le                                                                           1/6
  インストール中   : python3-markupsafe-1.1.1-2.ibm.ppc64le                                                                   2/6
  インストール中   : python3-jinja2-2.11.3-1.ibm.noarch                                                                       3/6
  インストール中   : python3-jmespath-0.9.0-11.el8.noarch                                                                     4/6
  インストール中   : python3-cryptography-3.2.1-4.el8.ppc64le                                                                 5/6
  インストール中   : ansible-2.9.27-1.el8.noarch                                                                              6/6
  scriptletの実行中: ansible-2.9.27-1.el8.noarch                                                                              6/6
  検証             : python3-cryptography-3.2.1-4.el8.ppc64le                                                                 1/6
  検証             : python3-jmespath-0.9.0-11.el8.noarch                                                                     2/6
  検証             : python3-jinja2-2.11.3-1.ibm.noarch                                                                       3/6
  検証             : python3-markupsafe-1.1.1-2.ibm.ppc64le                                                                   4/6
  検証             : sshpass-1.06-4.el8.ibm.ppc64le                                                                           5/6
  検証             : ansible-2.9.27-1.el8.noarch                                                                              6/6
Installed products updated.

インストール済み:
  ansible-2.9.27-1.el8.noarch               python3-cryptography-3.2.1-4.el8.ppc64le      python3-jinja2-2.11.3-1.ibm.noarch
  python3-jmespath-0.9.0-11.el8.noarch      python3-markupsafe-1.1.1-2.ibm.ppc64le        sshpass-1.06-4.el8.ibm.ppc64le

完了しました!
```

----

##### 導入確認

```
# which ansible
/usr/bin/ansible


# ansible --version
ansible 2.9.27
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.6/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.6.8 (default, Sep 12 2021, 04:52:34) [GCC 8.4.1 20200928 (Red Hat 8.4.1-1)]
```


Ansible 2.9.27 が導入されました。


以上です。