以下の内容はhttps://tekunabe.hatenablog.jp/entry/2025/08/06/ansible_core_2.17_rhel8より取得しました。


[Ansible/AAP] ansible-core 2.17 のマネージドノードのサポートに RHEL8 がない理由を推察する

はじめに

現在の Ansible Automation Platform の ライフサイクルが示されたページに、ansible-core の各バージョンとサポートされるバージョンや、サポートされるマネージドノードのOS (Supported Managed OS (RHEL))が表にまとまっています。

access.redhat.com

PythonPowerShell のバージョンの対応までの情報であれば、コミュニティのドキュメントにもまとまっています。私が把握している限り、マネージドノードのOS(RHEL)の情報は AAP ドキュメント独自の情報です。

2025/08/06 時点の情報では ansible-core 2.16 では RHEL 7 – 10 ですが、2.17 では RHEL 9 – 10 となっていています。

2025/08/06 時点の https://access.redhat.com/support/policy/updates/ansible-automation-platform より

このことから「 ansible-core 2.17 では RHEL 8 のマネージドノードをサポートしていない」と読み取っていました。この点について、以前からなんでだろうと思っていました。

最近、別件で調べていたこととこの件が繋がった(と思う)ので、私が推察したことをまとめておきます。

推察

まず、ansible-core 2.16 のマネージノードでサポートされる Python は 2.7, 3.6 – 3.12 で、ansible-core 2.17 では 3.7 – 3.12 です。

ansible-core 2.17 では Python 3.6 がサポートされていないので Python 3.7 以上を利用する必要があります。普通に考えれば、RHEL 8 であっても Python 3.7 以上をインストールすればいいじゃんて話になると思います。

困るのが ansible.builtin.dnf モジュールです。このモジュールは Pythonバインディングが必要です。しかし、RHEL 8向けには DNF のPython バインディングPython 3.6 用までしか用意されていません

The python38 and python39 modules and the python3.11 and python3.12 package suites do not include the same bindings to system tools (RPM, DNF, SELinux, and others) that are provided for the python36 module.

これがネックで、ansible-core 2.17 のマネージドノードのサポートに RHEL8 がないのかなと思っています。

おそらく ansible.builtin.ping のような他の ansible.builtin のモジュールは、RHEL 8 + Python 3.8 なマネージドノードに ansible-core 2.17 が使える気もする(未検証)のですが、組み込みのモジュールである ansible.builtin.dnf が動かないのであれば、動くとは言えないって話なのかなと。

私なりにまとめますと・・

  • ansible-core 2.17 のマネージドノードの Python バージョン要件が 3.7 – 3.12
  • しかし ansible.builtin.dnf の動作に必要な Python バインディングは、RHEL 8 向けには、Python 3.6 までしか用意されていない
  • 結果的に、ansible-2.17 では マネージドノードとして RHEL 8 はサポートされない

なにか指摘などありましたら、@akira6592 までご連絡いただけるとありがたいです。




以上の内容はhttps://tekunabe.hatenablog.jp/entry/2025/08/06/ansible_core_2.17_rhel8より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14