web-dev-qa-db-ja.com

Ansibleの変更をロールバックする

Ansibleで変更をロールバックする方法はありますか?私のプレイブックに、5ユーザーの作成、3 rpmのインストール、サービスの開始などのさまざまなプレイが含まれているとします。特定のプレイをロールバックしたい場合はどうすればよいですか。これをanisbleで実現できる可能性はありますか?

4
Kiron

Ansibleには、自動的に追跡して障害時に元に戻す方法はありませんが、障害を自分で処理するための機能がいくつかあります。

これは blocks を使用して実装されます。ブロックを使用すると、 `rescue:セクションで実行する一連のタスクを定義できます。これらは何でもかまいません。慎重な計画を立てれば、すべてを元に戻すことができるはずです。

ただし、システムが異常な方法で壊れた場合、「元に戻す」タスクも失敗する可能性があります。システムがVMチェックポイント/スナップショットの場所、またはチェックポイント/スナップショットをサポートするファイルシステム(つまりzfs)で実行されている場合、これらの機能を使用して元に戻すことができます。

7
Zoredache

元に戻す機能は知りません。

特にそのような単純なタスクの場合、私がやろうとしていることは、プレイブックを編集することです。

state: present

書く

state: absent
2
Peter

いいえ、ロールバックのグローバル機能はありません。

もう一方のアクションを逆にする新しいプレイを追加する必要があります。

1
Sven