ansibleでポートがひらいていたら次に進むとかやりたい

ansibleのメモ

wait forをつかう

sysctlとかのコマンド自体はすぐ正常終了でかえってきちゃうけど、実際のサービスの起動まで時間がかかる時につかう。 よくSolrを使うんですが、起動コマンドからサーバが起動するまでに少しラグがあったりしたので、wait_forをつかって起動確認をすることに。

若干面倒なんだけど、ansibleにこれを書いておくと、開いて置かなくては行けないポートチェックとしても使えるので便利。

 - name: タイムアウトが60秒で、開始は10秒から、ポート80番を5秒ごとにチェックする。
   wait_for:
     timeout: 60
     port: 80
     delay: 10

ポート以外にも、サーバの死活、ファイルの有無やテキストファイルないのregexにも対応してる。

wait_for - Waits for a condition before continuing

connvoi's Picture

About connvoi

肉とビールと料理と写真とゲーム たまに技術 python / Solr / PHP / ansible

Jp, Tokyo https://connvoi.com