0

ansible を介してインテル エジソンにコードを再デプロイするスクリプトを作成しています。次のコマンドを実行すると、エラーが発生します。可能であれば、この問題の原因となっているファイルをローカルで見つける方法を知りたいです。サーバー上でエラーをスローするファイル「/home/root/.ansible/tmp/ansible-tmp-1444631867.66-245111051532005/setup」は、おそらくローカルリポジトリのファイルから生成されたものだと思います。

ただし、ローカルで ansible にこのセットアップ ファイルが見つからないようで、エラーがスローされた後、ansible はこのファイルをサーバー (edison) から削除します。

$ ansible-playbook -i inventory.yml provision_edison.yml

failed: [192.168.1.196] => {"failed": true, "parsed": false}
Traceback (most recent call last):
  File "/home/root/.ansible/tmp/ansible-tmp-1444631867.66-245111051532005/setup", line 196, in <module>
import syslog
ImportError: No module named syslog
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011

私のインベントリファイル inventory.yml

[edisons]
192.168.1.196

私の provision_edison.yml ファイル

 ---
 - hosts: edisons
   remote_user: root
   tasks:
     - name: "test if stuff is working"
       shell: uname -a

これは、サーバーで発生している Python インポート エラーとして認識しています。サーバーがスローした行番号 196 がローカルにあるファイルに対応するかどうかを確認しようとしましたが、うまくいきませんでした。

 root@edison-01:/usr/bin# ./python
 Python 2.7.3 (default, Aug 15 2014, 22:34:09) 
 [GCC 4.8.2] on linux2
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import syslog
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
 ImportError: No module named syslog
4

2 に答える 2

0

Python 環境の何かがオフになっている必要があります。 syslog少なくとも 2.6 以降、標準ライブラリの一部となっています。これは UNIX ベースのマシンですか? これは Python のクリーン インストールですか? Python パスなどを確認し、そのボックスに他の標準ライブラリをインポートできるかどうかを確認します。

于 2015-10-12T22:03:17.617 に答える