Ansible

Posted2 October 2015

I'm rather enjoying Ansible. I just created a Centos 7 VM and got Ansible installed and talking to the other machines in our estate in (literally) a matter of minutes (if you can make SSH work, you're pretty much all set). Getting it to do some clever stuff like dropping a couple of standard configs (both templated and "add a line" type) has been pretty easy too. I've tripped over various Yaml and logic problems though (mostly just teething pains, I think). I'd like a "unit test", "dry run" or even just a syntax checker before committing to Git though - that would save me some time I think.

In this particular instance Ansible is going to replace some home-grown scripts and whatnot, and hopefully for the basis of pipelined deployments. As it stands I can't immediately see how I'm going to do all that with the setup I have, but I'm sure there's a way to do it. For what it's worth, I suspect some other areas of the estate will change first, so I'm sure opportunities will arise as that happens.

One other thing that I'm wondering about is a replacement for Mcollective (without Puppet, Mcollective isn't such an obvious choice). Ansible does have 'ad hoc' ways to do things, so "run this on all boxes" is possible that way. The nice thing about Mcollective is the speed it can get around hundreds of boxes, which I suspect Ansible struggles with a bit (although Ansible has parallelism, I doubt it really works dozens of hosts at once). Since that size of estate isn't likely for a while here, we'll probably be okay just using Ansible. The other thing I can think of is 'registration agents'. Mcollective can send the broker details of every server in the estate every five minutes, which is handy to get 'facts' back about the infrastructure. Ansible has facts, but you'd have to run Ansible to get them back to the server (sort of like Puppet does), but there's no Mcollective equivalent.

Either way, I've got to commend Ansible for a super-fast 'get started' experience. It's quick to get going, easy to do some fairly advanced things and looks like it'll scale up for quite some time yet.

Tags: #ansible #cmdb

More blog posts:

Previous Post: Check MK | Next Post: MySQL and MariaDB

Blog Archive