Exercise 2: What molecule test's Idempotence Step Actually Does — Possible Solution ==================================================================== Explanation: Within its full cycle (create → converge → idempotence → verify → destroy), Molecule's idempotence step specifically re-runs the exact same converge step -- applying the role under test a SECOND time against the same test instance that the first converge step already configured. It then inspects the results of that second application and fails the whole test outright if any task reports changed -- succeeding only if the second run reports the role has nothing left to do. -- How this relates to ansible1-6's own manual practice -- -- -- This is mechanically identical to the "run a playbook twice and -- check for changed=0 in the PLAY RECAP" practice ansible1-6 taught -- by hand -- the same underlying question (does a second, identical -- run genuinely make zero further changes) is being asked, and the -- same interpretation applies (any changed on that second run is a -- real idempotency bug, not expected behavior). The difference is -- entirely about WHO performs the check and WHEN: ansible1-6's own -- version required a person to remember to actually run the playbook -- a second time and manually read the recap output looking for a -- nonzero changed count. Molecule's idempotence step performs this -- exact same check automatically, every single time molecule test is -- run, with no human needing to remember to do it or interpret the -- output themselves -- turning a manual habit into an automated, -- repeatable, CI-runnable test that either passes or fails on its -- own. WHY THIS WORKS AS AN ANSWER ------------------------------ This describes the mechanical behavior of the idempotence step precisely (re-running converge, checking for changed), then explicitly draws the equivalence to ansible1-6's own manual practice while naming the real difference (automation vs. manual habit) rather than just saying "it's the same, but automated."