11

Is there any method to rollback the changes in Ansible? Suppose my play book contains different plays like create 5 users,install 3 rpms, start the services. If I want to rollback a certain play how can I do. Is there any possibility that we can achieve this in anisble?

3 Answers 3

14

Ansible doesn't have any automatic way to keep track of things and undo on failure, but it does offer you some functionality to handle failures yourself.

This is implemented using blocks. With blocks you can define a set of tasks to be executed in the rescue: section. These can be anything you want, and with careful planning you could should be able to get it to undo everything.

Though if the system is broken in some unusual way, your 'undo' tasks may also fail. If your system is in a VM where you could checkpoint/snapshot, or running on a filesystem (ie zfs) that supports checkpoints/snapshots you could certainly use those facilities to revert.

4

I don't know any undo functionality.

What I would do, especially for such simply tasks, is to edit the playbook and instead of

state: present

write

state: absent
4
  • 1
    I think "state" applicable for limited tasks/plays.
    – KKE
    Oct 11, 2018 at 20:24
  • Yes, but it is present for users and packages. And the services can be started/stopped, disabled/enabled etc.
    – Peter
    Oct 12, 2018 at 13:24
  • 3
    caution, though.. using this method may not return the system to its previous state (if, for example, the system already had the user or package on it before running the playbook, changing state to absent would remove the package when ansible didn't install it)
    – Eric Horne
    Feb 13, 2019 at 21:20
  • in a modification case, set state from "present" to "absent" will remove it instead of changing it back.
    – Haili Sun
    Oct 26, 2022 at 3:28
4

No, there is no global functionality for a rollback.

You have to add a new play that reverses the action of the other one.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.