CentOS8にAnsibleをインストールした時のログです。以前OSをインストールしておいた環境に pipでインストールを試みましたが、失敗しました。pipをupgradeして実施しましょう。
[ansibleuser@localhost ~]$ sudo pip3 install ansible
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting ansible
Downloading https://files.pythonhosted.org/packages/fd/f8/071905c6a67592d0852a9f340f6ab9226861eeeb97fdf4068642b22edcf3/ansible-4.10.0.tar.gz (36.8MB)
100% |????????????????????????????????| 36.8MB 16kB/s
Collecting ansible-core~=2.11.7 (from ansible)
Downloading https://files.pythonhosted.org/packages/9e/03/f7eeac50fef28f29d0a07f0a87e0c49101956fee751fd4bf25614d7dcdbf/ansible-core-2.11.7.tar.gz (7.1MB)
100% |????????????????????????????????| 7.1MB 74kB/s
Collecting jinja2 (from ansible-core~=2.11.7->ansible)
Downloading https://files.pythonhosted.org/packages/20/9a/e5d9ec41927401e41aea8af6d16e78b5e612bca4699d417f646a9610a076/Jinja2-3.0.3-py3-none-any.whl (133kB)
100% |????????????????????????????????| 143kB 4.4MB/s
Requirement already satisfied: PyYAML in /usr/lib64/python3.6/site-packages (from ansible-core~=2.11.7->ansible)
Collecting cryptography (from ansible-core~=2.11.7->ansible)
Downloading https://files.pythonhosted.org/packages/f9/4b/1cf8e281f7ae4046a59e5e39dd7471d46db9f61bb564fddbff9084c4334f/cryptography-36.0.1.tar.gz (572kB)
100% |????????????????????????????????| 573kB 854kB/s
Complete output from command python setup.py egg_info:
=============================DEBUG ASSISTANCE==========================
If you are seeing an error here please try the following to
successfully install cryptography:
Upgrade to the latest pip and try again. This will fix errors for most
users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
=============================DEBUG ASSISTANCE==========================
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-efmnffop/cryptography/setup.py", line 14, in <module>
from setuptools_rust import RustExtension
ModuleNotFoundError: No module named 'setuptools_rust'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-efmnffop/cryptography/
[ansibleuser@loca
[ansibleuser@localhost ~]$ sudo pip3 install --upgrade pip
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting pip
Downloading https://files.pythonhosted.org/packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl (1.7MB)
100% |????????????????????????????????| 1.7MB 387kB/s
Installing collected packages: pip
Successfully installed pip-21.3.1
[ansibleuser@localhost ~]$ sudo pip3 install ansible
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
Collecting ansible
Using cached ansible-4.10.0.tar.gz (36.8 MB)
Preparing metadata (setup.py) ... done
Collecting ansible-core~=2.11.7
Using cached ansible-core-2.11.7.tar.gz (7.1 MB)
Preparing metadata (setup.py) ... done
Collecting jinja2
Using cached Jinja2-3.0.3-py3-none-any.whl (133 kB)
Requirement already satisfied: PyYAML in /usr/lib64/python3.6/site-packages (from ansible-core~=2.11.7->ansible) (3.12)
Collecting cryptography
Downloading cryptography-36.0.1-cp36-abi3-manylinux_2_24_x86_64.whl (3.6 MB)
|????????????????????????????????| 3.6 MB 4.0 MB/s
Collecting packaging
Downloading packaging-21.3-py3-none-any.whl (40 kB)
|????????????????????????????????| 40 kB 5.7 MB/s
Collecting resolvelib<0.6.0,>=0.5.3
Downloading resolvelib-0.5.4-py2.py3-none-any.whl (12 kB)
Collecting cffi>=1.12
Downloading cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (405 kB)
|????????????????????????????????| 405 kB 46.3 MB/s
Collecting MarkupSafe>=2.0
Downloading MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (30 kB)
Collecting pyparsing!=3.0.5,>=2.0.2
Downloading pyparsing-3.0.6-py3-none-any.whl (97 kB)
|????????????????????????????????| 97 kB 13.0 MB/s
Collecting pycparser
Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
|????????????????????????????????| 118 kB 23.0 MB/s
Using legacy 'setup.py install' for ansible, since package 'wheel' is not installed.
Using legacy 'setup.py install' for ansible-core, since package 'wheel' is not installed.
Installing collected packages: pycparser, pyparsing, MarkupSafe, cffi, resolvelib, packaging, jinja2, cryptography, ansible-core, ansible
Running setup.py install for ansible-core ... done
Running setup.py install for ansible ... done
Successfully installed MarkupSafe-2.0.1 ansible-4.10.0 ansible-core-2.11.7 cffi-1.15.0 cryptography-36.0.1 jinja2-3.0.3 packaging-21.3 pycparser-2.21 pyparsing-3.0.6 resolvelib-0.5.4
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
インストールされたansibleのバージョンを確認します。Python3.8以上が必要と警告が出ていますが今回はスルーします。
[ansibleuser@localhost ~]$ ansible --version
[DEPRECATION WARNING]: Ansible will require Python 3.8 or newer on the controller starting with Ansible 2.12. Current version: 3.6.8 (default, Aug 24 2020,
17:57:11) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]. This feature will be removed from ansible-core in version 2.12. Deprecation warnings can be disabled by setting
deprecation_warnings=False in ansible.cfg.
ansible [core 2.11.7]
config file = None
configured module search path = ['/home/ansibleuser/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
ansible collection location = /home/ansibleuser/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible
python version = 3.6.8 (default, Aug 24 2020, 17:57:11) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]
jinja version = 3.0.3
libyaml = True
ansibleから操作する各サーバーにsshで接続するために、sshpassが必要なのでインストールします。まずは epel-release からインストールします。(放置しておいた古いOSでいきなり sshpassをインストールすると 一致した引数がありません: sshpass エラーが発生します)
[ansibleuser@localhost ~]$ sudo yum install epel-release
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
メタデータの期限切れの最終確認: 0:20:18 時間前の 2022年01月09日 06時41分17秒 に実施しました。
依存関係が解決しました。
パッケージ アーキテクチャー バージョン リポジトリー サイズ
インストール:
epel-release noarch 8-11.el8 extras 24 k
トランザクションの概要
インストール 1 パッケージ
ダウンロードサイズの合計: 24 k
インストール済みのサイズ: 35 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
epel-release-8-11.el8.noarch.rpm 563 kB/s | 24 kB 00:00
合計 43 kB/s | 24 kB 00:00
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール : epel-release-8-11.el8.noarch 1/1
scriptletの実行中: epel-release-8-11.el8.noarch 1/1
検証 : epel-release-8-11.el8.noarch 1/1
Installed products updated.
インストール済み:
epel-release-8-11.el8.noarch
完了しました!
sshpassをインストールします。
[ansibleuser@localhost ~]$ sudo yum install epel-release
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
メタデータの期限切れの最終確認: 0:20:18 時間前の 2022年01月09日 06時41分17秒 に実施しました。
依存関係が解決しました。
パッケージ アーキテクチャー バージョン リポジトリー サイズ
インストール:
epel-release noarch 8-11.el8 extras 24 k
トランザクションの概要
インストール 1 パッケージ
ダウンロードサイズの合計: 24 k
インストール済みのサイズ: 35 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
epel-release-8-11.el8.noarch.rpm 563 kB/s | 24 kB 00:00
合計 43 kB/s | 24 kB 00:00
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール : epel-release-8-11.el8.noarch 1/1
scriptletの実行中: epel-release-8-11.el8.noarch 1/1
検証 : epel-release-8-11.el8.noarch 1/1
Installed products updated.
インストール済み:
epel-release-8-11.el8.noarch
完了しました!
[ansibleuser@localhost ~]$ sudo yum install sshpass
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Extra Packages for Enterprise Linux Modular 8 - x86_64 905 kB/s | 979 kB 00:01
Extra Packages for Enterprise Linux 8 - x86_64 5.3 MB/s | 11 MB 00:02
メタデータの期限切れの最終確認: 0:00:01 時間前の 2022年01月09日 07時01分51秒 に実施しました。
依存関係が解決しました。
パッケージ アーキテクチャー バージョン リポジトリー サイズ
インストール:
sshpass x86_64 1.06-9.el8 epel 27 k
トランザクションの概要
インストール 1 パッケージ
ダウンロードサイズの合計: 27 k
インストール済みのサイズ: 40 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
sshpass-1.06-9.el8.x86_64.rpm 306 kB/s | 27 kB 00:00
合計 43 kB/s | 27 kB 00:00
警告: /var/cache/dnf/epel-6519ee669354a484/packages/sshpass-1.06-9.el8.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 2f86d6a1: NOKEY
Extra Packages for Enterprise Linux 8 - x86_64 1.6 MB/s | 1.6 kB 00:00
GPG 鍵 0x2F86D6A1 をインポート中:
Userid : "Fedora EPEL (8) <epel@fedoraproject.org>"
Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
これでよろしいですか? [y/N]: y
鍵のインポートに成功しました
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール : sshpass-1.06-9.el8.x86_64 1/1
scriptletの実行中: sshpass-1.06-9.el8.x86_64 1/1
検証 : sshpass-1.06-9.el8.x86_64 1/1
Installed products updated.
インストール済み:
sshpass-1.06-9.el8.x86_64
完了しました!
ansibleの動作確認をします。
[ansibleuser@localhost ~]$ ansible localhost -m ping
[DEPRECATION WARNING]: Ansible will require Python 3.8 or newer on the controller starting with Ansible 2.12. Current version: 3.6.8 (default, Aug 24 2020,
17:57:11) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]. This feature will be removed from ansible-core in version 2.12. Deprecation warnings can be disabled by setting
deprecation_warnings=False in ansible.cfg.
[WARNING]: No inventory was parsed, only implicit localhost is available
localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}