2016-05-20 7 views
4

定義ファイルが自分のノードに存在する場合に、実行中にプレイブックを停止することはできますか?また、プレイブックが停止した理由を説明するために出力できますか?ファイルが存在する場合、可能な停止のプレイブック

このインストール中にパスワードが生成され、このパスワードを再初期化しないため、自分のアプリケーションが既にインストールされているノード上で私のプレイブックが誤って再実行されないようにします。

答えて

3

fail moduleを使用すると、カスタムエラーメッセージを表示して強制的にエラーを出力できます。

これをstat moduleを使用してファイルのチェックとカップルします。これは十分に簡単に機能するはずです。

簡単な例または1つの実行脚本は、次のようなものに見えるかもしれません:それは動作しないコードをテストした後

- name: check for foo.conf 
    stat: path=/etc/foo.conf 
    register: foo 

- name: fail if already run on host 
    fail: msg="This host has already had this playbook run against it" 
    when: foo.stat.exists 

- name: create foo.conf 
    file: path=/etc/foo.conf state=touch 
+0

を、私はこのメッセージを持っている(私は私の側に検索を続ける): が失敗しました!条件付き(foo.exists)の評価中にエラーが発生しました: 'dict object'に属性 'exists'がありません\ n \ nエラーは '/var/lib/awx/projects/_5__safetyportal/Safety_Cube_master/main.yml'にあります:行12、列5ですが、正確な構文の問題によってはファイルのどこかに\ nと表示されることがあります。\ n \ n問題のある行は次のように表示されます:\ n \ n \ n - 名前:既にホスト上で実行されている場合は失敗します。\ nここ\ n "} – vlaneo

+0

'.stat.exists'コメントを編集して修正しますか?) – vlaneo

関連する問題