I was recently tasked with transitioning a server setup from the medieval times
of “we can’t get in contact with the server-guy, but here are some vague
instructions that are probably outdated” to the modern times of “automate all
the things!” Trying to make sure the process was fully codified and idempotent,
I ran into some snags here and there. This is a documentation of those snags,
both for a future me, but also for others, should they struggle with the same
things. As the title says, it is focused on Ansible, its integration with
Rackspace and how to keep the playbook idempotent – that is, how to make
sure that running the playbook has no effect if no changes has been made to it.