web-dev-qa-db-ja.com

ansibleyumが機能しない

opsマシンでコマンドを実行すると:

ansible web -b -l 192.168.31.101 -m yum -a "name=gcc state=latest"

以下に示すエラーが返されます。

192.168.31.101 | FAILED! => {
    "changed": false,
    "failed": true,
    "msg": "python2 bindings for rpm are needed for this module. python2 yum module is needed for this  module" 
}

しかし、コマンドを実行するとSudo yum install gcc直接192.168.31.101、正しく実行されました。

ansibleは正しいyumとpythonを使用できないようです

6
zimmer

私は解決策を見つけました、ホストファイルへのpythonパスを追加するだけです

ansible_python_interpreter=/usr/bin/python2.7
6
zimmer

これは、マシンにpython2.7とpython3がインストールされていたために発生しました。 ansibleはpython3を使用していたため、エラーが発生しました。そのため、makefileターゲットで以下のように明示的に指定する必要がありました/bin/python2.7 /bin/ansible-playbook configure-box.yml

0
Mayur Nagekar

私の状態では、yumパッケージをインストールし、ターゲットホストにフラグ--system-site-packagesでvirtualenvを再構成してから、ansible環境変数ansible_python_interpreterを使用する必要があります。

yum install yum
virtualenv --system-site-packages venv
0
samsong8610