はじめに
ansible-core 2.17.0 (Ansible Community Package だと 10)では、ansible.builtin.yum
モジュールがなくなりました。
With the removal of Python 2 support, the yum module and yum action plugin are removed and redirected to dnf.
https://github.com/ansible/ansible/blob/stable-2.17/changelogs/CHANGELOG-v2.17.rst#v2-17-0
マネージドノード(自動化対象ノード)での Python 2系のサポートをしなくなったことによるものです。
影響
表に見える影響として分かりやすいのは、ドキュメントです。ansible.builtin
内の一覧から yum
モジュールが消えています。
以前は閲覧できた yum
モジュールのページも Not Found です。
- Ansible の latest の
yum
: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/yum_module.html - ansible-core の 2.17 の
yum
: https://docs.ansible.com/ansible-core/2.17/collections/ansible/builtin/yum_module.html
ansible-doc
でも見れません。
# ansible-core 2.17.0 で検証 % ansible-doc yum [WARNING]: yum was not found % ansible-doc ansible.builtin.yum [WARNING]: ansible.builtin.yum was not found
ドキュメントでは、以前のバージョンに切り替えれば見れます。
- Ansible 9 の
yum
: https://docs.ansible.com/ansible/9/collections/ansible/builtin/yum_module.html - ansible-core の 2.16 の
yum
: https://docs.ansible.com/ansible-core/2.16/collections/ansible/builtin/yum_module.html
実装としては、ansible.built.dnf
モジュールへのリダイレクトとして残っています。
ansible/lib/ansible/config/ansible_builtin_runtime.yml at v2.17.0 · ansible/ansible · GitHub
ansible.builtin.yum
モジュールを使った(用に見える)Playbook を実行する際、-vv
をつけると、ansible.builtin.dnf
にリダイレクトする様子が確認できます。
Playbook:
- name: Install git ansible.builtin.yum: name: git become: true
実行ログ:
PLAYBOOK: yum.yml ************************************************************** 1 plays in yum.yml PLAY [Yum] ********************************************************************* redirecting (type: action) ansible.builtin.yum to ansible.builtin.dnf TASK [Install git] ************************************************************* task path: /Users/sakana/ansible/yum.yml:7 redirecting (type: action) ansible.builtin.yum to ansible.builtin.dnf redirecting (type: action) ansible.builtin.yum to ansible.builtin.dnf
おわりに
脱 Python2 がだいぶ進みましたね。