回滚 Ansible 中的更改

回滚 Ansible 中的更改

有没有方法可以回滚 Ansible 中的更改?假设我的剧本包含不同的剧本,例如创建 5 个用户、安装 3 个 rpm、启动服务。如果我想回滚某个剧本,我该怎么做。我们有可能在 anisble 中实现这一点吗?

答案1

Ansible 没有任何自动的方式来跟踪事物并在失败时撤消,但它确实为您提供了一些自己处理故障的功能。

这是使用以下方法实现的。使用块,您可以定义一组要在rescue:部分中执行的任务。这些可以是任何您想要的,并且经过仔细规划,您应该能够让它撤消所有操作。

但是如果系统以某种不寻常的方式损坏,您的“撤消”任务也可能会失败。如果您的系统位于可以检查点/快照的虚拟机中,或者在支持检查点/快照的文件系统(即 zfs)上运行,您当然可以使用这些功能进行恢复。

答案2

我不知道任何撤消功能。

我会做的,特别是对于这样简单的任务,是编辑剧本,而不是

state: present

state: absent

答案3

不,没有用于回滚的全局功能。

您必须添加一个新玩法来逆转另一个玩法的动作。

相关内容