Fail Safely - block / rescue / always

Replace ignore_errors with real rollback and guaranteed cleanup.

A intermediate Ansible challenge worth 10 points. Solve it hands-on in a real Ansible environment in your browser - no local setup, no fake shells.

The Challenge

Scenario: Post-incident 8812 - release v2 was corrupt on one node. The play used ignore_errors, went green, left current pointing at an empty directory, and still held the deploy lock the next morning.

Rewrite the deploy so the play still succeeds, web01 activates v2, web02 rolls back to v1 and logs why, and no host keeps deploy.lock whatever happened. Then run check.