Ansible、現在実行中のホストでジョブを強制的にタイムアウトする方法を見つけようとします。

Ansible、現在実行中のホストでジョブを強制的にタイムアウトする方法を見つけようとします。

Ansibleに関しては、これは非常に簡単であることを願っています。

想像する:

赤、緑、青の3つのサーバーがあります。

Linuxでは、yumを使用してPlaybookにランダムパッケージをインストールするタスクを作成しました。

同じスクリプトでyumジョブの下には2つの異なるランダムジョブがあり、その内容は重要ではありません。

このプレイブックを実行すると、yumジョブは赤と緑のサーバーで正常に実行されますが、青いサーバーでは最大3分間ハングした後に失敗します。フォークを使いたくても他のゲーム/クエストを「遮断」できるので、これは良くありません。

私の目標は、sshセッションを閉じるか、別の手段を使用して、ansibleが特定のタスク(完了するために「x」秒以上かかる場合)を強制的に放棄させる方法を見つけることです。その後、失敗および/またはジョブのサーバーがスキップされた理由でした。

これは、ジョブが完了するまで「待機」することとは異なります。この場合、操作が完了しないか失敗するのに時間がかかりすぎるため、これを行うことはできません。また、後続の実行時にも10分間繰り返し停止します。したがって、タイムアウト後に失敗するか、タイムアウト後にジョブをスキップすることをお勧めします。 (可能であれば、カスタムメッセージを使用することをお勧めします。)

ドキュメントとオンラインを見ましたが、この質問に答えて探している解決策が見つかりませんでした。誰でもこれを達成する方法を知っていますか? (いいえ。クライアントのポリシーが中断される可能性がある根本的な問題を実際に解決することはできません。そのため、問題サーバーが実行されないように除外したくありません。)

よろしくお願いします!

ベストアンサー1

おすすめ記事