October 21, 2026
Ansible Engine Validation Introduction
This lab is about replacing manual static routes with OSPF, a dynamic routing protocol that lets your routers discover each other and build their own routing tables automatically. You'll start by defining host-specific OSPF settings — network type, area, and process ID — for each of the three routers. From there, you'll build a playbook that removes the static routes you no longer need and enables OSPF across all the interfaces using a loop, so you're not repeating the same task three times over. The second half of the lab is where it gets interesting: rather than just assuming the configuration worked, you'll add a second play that actually checks it. Using Ansible's `assert` module, the playbook collects OSPF neighbor and routing data from the devices and validates that the neighbor relationships reached a FULL state and that the expected routes actually showed up — so the playbook is confirming its own success instead of you having to check manually. By the end, you'll have OSPF running across the topology and a playbook that knows how to tell you whether it actually worked. But configuring OSPF is only half the job. How do you know it actually worked? That's where this lab goes a step further: you'll use Ansible's `assert` module to build real validation into your playbook — checking that OSPF neighbor relationships actually reach a FULL state, and that the expected routes show up in the routing table. By the end of this lab, you won't just be configuring the network — you'll be teaching your playbook to check its own work.