Ansible Scenario Labs
Fix playbook syntax, module params, handlers, and role structures
How It Works
Each lab drops you into a broken config. Your job: find the bug and fix it.
Read the Scenario
Understand what went wrong — a teammate pushed broken config and CI is failing.
Debug in the Terminal
Run the tool, read the errors, and trace them back to the source.
Fix & Verify
Edit the config, re-run the check, and confirm a clean result.
Beginner
4 labsStart here — core concepts and simple fixes
Fix Privilege Escalation
Add missing become directive to a playbook that installs packages and manages services
Fix When Conditionals
Fix broken when conditions that incorrectly use Jinja2 braces and missing string quotes
Fix Handler Notification Mismatch
Fix a handler that never fires because the notify name doesn't match the handler name
Fix YAML Indentation
Fix broken YAML indentation in an Ansible playbook that installs and configures Nginx
Intermediate
3 labsLevel up — multi-resource configs and debugging
Fix Inventory Configuration
Fix mismatched host group names between the inventory file and the playbook
Fix Loop Syntax
Fix broken loop variable references that use wrong dictionary keys
Fix Wrong Module Parameters
Fix incorrect apt module parameter names and invalid state values in a playbook
Advanced
3 labsExpert mode — complex configurations and edge cases
Fix Role Structure
Fix a broken role reference, missing handler state, and invalid default variable in an Ansible role
Fix Template Variables
Define missing variables referenced by a Jinja2 template in an Ansible playbook
Fix Variable File Reference
Fix a wrong vars_files path and mismatched variable names between the playbook and vars file