ansibleでroleから抜ける方法はありますか?
現在Ansibleであるソフトをインストールするroleを書いているのですが、もしインストールされていれば後続のロールの処理をスキップする、というような処理を書きたいです。
これは私の知る方法では、まずインストールされているかどうかをチェックしてその結果を変数に入れる。その後、後続の処理全てにwhenを書けばできなくはないと思います。
しかしこの方法は後続の処理全てにwhenを書かなければいけないため、もっと良い方法がないか悩んでいます。
全てにwhenを書いた場合の例を書くと、
- name: Is hoge Installed?
shell: type hoge
failed_when: false
changed_when: result.rc not in [0]
register: result
- name: a
when: result.changed
- name: b
when: result.changed
- name: c
when: result.changed
...
このような感じになってしまいます。
他に良い方法はないでしょうか?
ご回答お待ちしております。