Ansibleのfailモジュール

表題の通り。Ansibleのcoreモジュールのひとつであるfailモジュールを使う。

■ 環境

  • ansible 1.9.2

■ きっかけ

実行対象ホストのOSが対象外であった場合に以降のタスクを全て実行させたくない、というplaybookを書きたかったのだが、どうやれば良いのかいまいちわかっていなかった。

そういえば”failed_when“と書くことができるな…ということは”fail“させれば良いのか、と思い出し、ドキュメントをちゃんと見てみると”failモジュール“の存在を知った。”when“と共に書けば実現できそうである。

■ fail module

Docs >> fail – Fail with custom message
http://docs.ansible.com/ansible/fail_module.html

自身の場合は、”gather_facts“で収集した情報からOSに関する情報を取得し判断材料としている。

- name: OS check
  fail: msg="not supported."
  when:
    - ansible_distribution == "CentOS"
    - ansible_distribution_major_version|int < 7

上記は、CentOS 7以外は全てfailさせ実行を終了させている。

とりあえずやりたい事は実現できたので良しとする。

以上。

■ 関連