Open3
Ansible Playbook 覚書
doc
Playbook Keywords
play, role, block, task に指定可能なキーワード定義
Block
Role
module一覧
参考
エラーハンドリング
-
ignore_errors: true
つけるとエラーを無視 - playの終わりにhandlerが呼び出されるが、あるTaskでhandlerに通知したとて、その後に処理されるTaskが失敗するとhandler処理は呼び出されない
- CLIオプションに
--force-handlers
をつける、force_handlers: True
をplayにつける、force_handlers = True
をansible.cfgに記述する、などすると強制的にhandlerを呼び出す
- CLIオプションに
-
register
でタスクのレスポンスを変数に入れれるので、後段の処理やfailed_when
などで使用できる-
register: result
でresultにレスポンスを保存 - result.rc -> exit-status: 0かそれ以外などでハンドリングできる
- result.stderr, result.stdout -> stderr, stdoutの出力を見てハンドリングできる
-
-
failed_when
をtaskに設定するとタスク失敗の定義を上書きできる- or で条件を接続できる
register: diff_cmd failed_when: diff_cmd.rc == 0 or diff_cmd.rc >= 2
- 配列にするとand
register: result failed_when: - result.rc == 0 - '"No such" not in result.stdout'
- 1行が長くなる場合はYAMLのmulti-line構文使う
register: ret failed_when: > ("No such file or directory" in ret.stdout) or (ret.stderr != '') or (ret.rc == 10)
- or で条件を接続できる
ログの量増やす
-v
オプションでより詳細なログを出力できる。-vv
,-vvv
などvを増やすほどより詳細なログが出る
ansible-playbook -vv playbook.yaml