Ansible Python インタープリタ警告の解決

AnsibleBeginner
オンラインで実践に進む

はじめに

このチャレンジでは、Python インタープリタに関連する Ansible の一般的な設定問題に取り組みます。Ansible コマンドを実行する際、デフォルトの Python インタープリタに関する警告が表示されることがあります。あなたのタスクは、Ansible を適切に設定することでこれらの警告を解消することです。このチャレンジを通じて、Ansible の設定ファイルを理解し、環境を最適化するために必要な調整を行う能力を試します。

正しい Python インタープリタを使用するように Ansible を設定する

あらかじめ設定された Ansible 環境が用意されています。簡単な Ansible コマンドを実行しようとすると、Python インタープリタに関する警告が発生します。あなたのタスクは、これらの警告を解決し、インタープリタ関連の問題なしに Ansible コマンドが実行されるようにすることです。

警告を再現するには、ターミナルで次のコマンドを実行してください:

ansible all -m ping

次のような出力が表示されるはずです:

[DEPRECATION WARNING]: Distribution ubuntu 22.04 on host localhost should use /usr/bin/python3, but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this host. See
https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html for more information. This feature will be removed in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
localhost | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
[DEPRECATION WARNING]: Distribution ubuntu 22.04 on host web1 should use /usr/bin/python3, but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this host. See
https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html for more information. This feature will be removed in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
web1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

目標は、これらの警告を排除し、Ansible が確実に Python 3 を使用するようにすることです。

タスク

  • Ansible コマンド実行時に発生する Python インタープリタの警告を確認する。
  • 正しい Python インタープリタを指定するための Ansible 設定ファイルを作成する。
  • コマンドを再実行して、警告が解消されたことを確認する。

要件

  1. すべての操作は /home/labex/project ディレクトリ内で行ってください。
  2. /home/labex/project ディレクトリに ansible.cfg という名前の Ansible 設定ファイルを作成してください。
  3. 適切な設定オプションを使用して、Python インタープリタを /usr/bin/python3 に設定してください。
  4. インベントリファイルはすでに /etc/ansible/hosts にセットアップされています(初期設定で提供済み)。

Ansible を正しく設定した後、コマンドを実行しても Python インタープリタの警告は表示されなくなります。出力は以下のようになるはずです:

localhost | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
web1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
✨ 解答を確認して練習

まとめ

このチャレンジでは、Python インタープリタに関連する Ansible の一般的な設定問題を解決する方法を学びました。非推奨(deprecated)の Python インタープリタに関する警告に遭遇し、代わりに Python 3 を使用するように Ansible を設定する方法を習得しました。Ansible 設定ファイル(ansible.cfg)を作成し、interpreter_python オプションを使用して正しい Python インタープリタのパスを指定することで、Ansible が適切な Python バージョンを使用するようにしました。この演習は、システムの Python 環境とシームレスに連携するように Ansible を適切に設定することの重要性を示しています。これは、警告を回避し、Ansible コマンドを円滑に実行するために不可欠なスキルです。