2017-10-19 5 views
0

SSH接続が完了する前にSSH接続がタイムアウトすることが多い、長時間実行可能ないくつかのタスクがあります。タスクは、プレイブックの指定された順序で実行する必要があります。不可能な「火災と忘れ」の同期タスクを設定することは可能ですか?

プレイリストを一連の「忘却」タスクとして構成したいと考えています。最終的なタスクはすべてが完了したというSNS通知です。で、私はプレイブックを開始し、私のコンピュータ(制御マシン)をオフにして、プレイブックがサーバー上で進行し続けるようにしたいと思います。

私が知る限り、これを行う唯一の方法は、タスクを非同期にポーリングを無効にすることです(そして時間制限が長くなります)。しかし、タスクを非同期として設定すると、前のタスクが完了するまでタスクの実行をブロックする必要があるため、役に立たないことがあります。

私は変数の登録を検討した後、次のタスクでwhen: variable.finishedを設定してみましたが、タスクがスキップされます。私はwait_forblockを調べましたが、これらは私が意図していることをしていないようです。

これは可能ですか?もしそうなら、どうですか?

ありがとうございました。

+1

[プルモードでプレイブックを実行することはできますか?](https://stackoverflow.com/questions/38663591/is-it-possible-to-run-a-playbook-in-プルモード) – techraf

答えて

0

いくつかの審議の後、私が実際に必要としていたことは、プレイブック全体を「火をつけて忘れる」非同期タスクとして実行する能力であると判断しました。それ以来(

- hosts: server 
    tasks: 
    - name: Run a Playbook 
     command: ansible-playbook {{playbook}} 
     async: 3600 
     poll: 0 

そしてlocalhostを使用するために、オリジナル脚本のホストを修正:

は、これを行うために、私は例えば、サーバは自身で脚本を実行するだろう新しい非同期ansibleタスクを作りました現在それ自身で実行されています)。

関連する問題