
AWX でインベントリを設定し、簡単な ping コマンドを実行しようとしています。次のエラーが表示されます。
SSH password:
SUDO password[defaults to SSH password]:
192.168.168.21 | FAILED! => {
"changed": false,
"module_stderr": "Connection to 192.168.168.21 closed.\r\n",
"module_stdout": "/bin/sh: /usr/bin/python: No such file or directory\r\n",
"msg": "The module failed to execute correctly, you probably need to set the interpreter.\nSee stdout/stderr for the exact error",
"rc": 127
}
これは、awx がコマンドを実行するすべてのノードに Python が必要であることを意味しますか? 私には少し奇妙に思えます。私が何か間違っているか、管理しているすべてのノードに Python が必要であることを前提に構築されているかのどちらかです。python を (awx_task または awx_web) で使用し、サブプロセスで ssh を実行してホストに接続し、シェル コマンドを実行すると想定します。
答え1
1 レベル下 (または上?) に移動する必要があります。Ansible では、接続先のマシンに Python がインストールされている必要があります。AWX は、Ansible の UI/API です。
私が知っている中でPythonを必要としない唯一のモジュールはraw
モジュール。
AWX または Ansible Tower を使用する場合は、まず Ansible についてもう少し詳しく知っておくことをお勧めします。