This isn't an exact answer to your question, but hopefully it can
provide you with some ideas.
We're using Jenkins[*] as a front-end to ansible. Playbooks are
wrapped in Jenkins jobs, which allow us to schedule and remotely
trigger the playbooks, or have them run automatically on VCS
commits, or in response to some other job, like a successful
software build. Using Jenkins also allows us to capture run times,
do fancy trending and reporting, trigger other tasks based on the
results of a playbook run, and do all the other approximately 5
billion things for which Jenkins plugins exist. (Seriously, Jenkins
is pretty much the best thing ever.) Finally, ansible compliments
Jenkins nicely, because it allows us to trivially do things like
distribute build artifacts to mutliple clusters of app servers
simultaneously.
(Incidentally, I'm also using Jenkins to control our puppet
infrastructure; the pupetmaster setup that puppetlabs recommends is,
frankly, absurd, but we have too much invested in puppet manifests
and modules to throw it away. Our nodes are managed via multiple
geograpically-distributed Jenkins slaves, controlled by a single
master, which communicate over ssh, much like ansible. Honestly, if
ansible existed when I started designing this infrastructure, I'd
likely be triggering puppet runs from playbooks, via jenkins!)
* Trevor Squillario <tsquillario at gmail.com> [2012/08/31 12:58]: