を:
ファイルリストを取得する(a)のpythonの間に削除取得されているので...
fatal: [my target IP goes here]: FAILED! => {"changed": false, "failed":
true, "msg": "rmtree failed: [Errno 2] No such file or directory:
'/path/to/my/app/caches/tmp/whatever.tmp'"}
...は、おそらく最大トリミングされたエラーかのように見えます(b)実際にファイルを削除しようとしています。あなたは、コードを見れば、Ansibleはこれを行いいる、shutil.rmtree
を呼び出すことによってディレクトリを削除します。
try:
names = os.listdir(path)
except os.error, err:
onerror(os.listdir, path, sys.exc_info())
for name in names:
fullname = os.path.join(path, name)
try:
mode = os.lstat(fullname).st_mode
except os.error:
mode = 0
if stat.S_ISDIR(mode):
rmtree(fullname, ignore_errors, onerror)
else:
try:
os.remove(fullname)
except os.error, err:
onerror(os.remove, fullname, sys.exc_info())
ファイルがos.listdir
への呼び出しとos.remove
への呼び出し の間に削除された場合は、No such file or directory
エラーになるだろう。ここ
ソリューションは、ちょうどrm
を使用することが考えられます:
command: rm -rf /path/to/my/app/caches/tmp
代替ソリューションは、1がshutil.rmtree
にignore_errors
パラメータを設定することができることをAnsibleは、パッチを適用することです。
エラーメッセージのパスが 'file'タスクのパスと完全に異なるため、混乱します。この質問を編集して、プレイブックの*実際の*タスクと*実際の*エラーメッセージを含めることができますか?ミスマッチにより、何が起こっているのか不明確になります。 – larsks
完了しました。基本的には、tmpディレクトリ内にまだ存在していないファイルがあることを私に伝えています。しかし、ポイントは、私はそれが削除プロセスを停止し、キャッシュディレクトリ内のすべてを削除したくないということです。途中でありがとう。 – Kokonoe0825
エラーを引き起こしているファイルに関して注目すべきことはありますか?たとえば、壊れたシンボリックリンク、または通常のファイル以外のものですか?また、どのバージョンのAnsibleをお使いですか?また、あなたは単純に 'コマンド:rm -rf/path/to/my/app/caches/tmp'と考えましたか? – larsks