Ansible の Python インタプリタ警告の解消

AnsibleAnsibleBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このチャレンジでは、Python インタプリタに関連する一般的な Ansible 構成問題に直面します。Ansible コマンドを実行するとき、デフォルトの Python インタプリタに関する警告が表示される場合があります。あなたの課題は、Ansible を適切に構成することでこれらの警告を解消することです。このチャレンジは、Ansible 構成ファイルを理解し、Ansible 環境を最適化するために必要な調整を行うあなたの能力をテストします。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) ansible(("Ansible")) -.-> ansible/AnsibleSetupandConfigurationGroup(["Ansible Setup and Configuration"]) ansible(("Ansible")) -.-> ansible/ModuleOperationsGroup(["Module Operations"]) ansible/AnsibleSetupandConfigurationGroup -.-> ansible/install("Ansible Setup") ansible/ModuleOperationsGroup -.-> ansible/command("Execute Commands") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills ansible/install -.-> lab-390490{{"Ansible の Python インタプリタ警告の解消"}} ansible/command -.-> lab-390490{{"Ansible の Python インタプリタ警告の解消"}} linux/touch -.-> lab-390490{{"Ansible の Python インタプリタ警告の解消"}} linux/nano -.-> lab-390490{{"Ansible の Python インタプリタ警告の解消"}} end

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