Ansible wait_for
wait_for モジュールを使うと
port が開くまでとか
ファイルが作成されるまで
という条件での動作設定ができる
使い道としては
ssh が使えるようになるまで、とか
インストールログで complete が表示されるまで
というように設定することになる
もし、動作ではなくて時間だけ指定するのなら
command モジュールで sleep を指定する
tasks:
-name: 8000ポートが開くま10秒間隔でチェック
wait_for: port=8000 delay=10
-name: /var/log/foo.log が作成されるまで
wait_for: path=/var/log/foo.log
-name: lock ファイルが消えるまで
wait_for: path=/var/lock/file.lock state=absent
-name: install.log中に “completed”という文字が現れるまで
wait_for: path=/var/foo/install.log search_regex=completed
これらを元にメモすると
ファイルを指定するときには
wait_for: path=対象のパス
で指定
そして、対象ファイルの削除を条件にするなら
state=absent
を指定
検索する文字列を条件にするのなら
search_regex=対象文字列
ポートを間隔で監視したいのなら
port=対象ポート番号 delay=間隔秒数
というかんじになる