Adventures in provisioning

I have been playing around with various provisioning systems with the goal of being able to just boot up a machine, and have it join my cluster automatically. I have been playing around with Ubuntu MAAS, and Salt lately, and almost have a really good system set up. Key to both MAAS and Salt is control over DNS settings on the local network. I have been using a Linksys router with DD-WRT installed.

I have set up DD-WRT so that machines on my network are accessible by [hostname] and have set up some static IPs so that my laptop is called ‘salt’. It will be the salt master.

I am using DNSMasq to point pxe boot VirtualBox virtual machines at the MAAS server. VirtualBox VMs don’t seem to want to pxe boot by default, so I had to install ‘extensions’ to VirtualBoxManager to enable network boot.

I haven’t quite gotten MAAS to provision machines all the way, but I think that I will be able solve those problems, and modify the preseed files to get SaltStack to install when a machine boots up.

With salt, I have made some state files that will install Postgresql and set up streaming replication with the help of some scripts that use salt to run commands on minions. I feel that there must be a better way because I could do most of what I’m doing over ssh, but generating and signing ssl certs requires a coordinated, ordered, and secure sequence of events that I just couldn’t figure out how to accomplish using salt states or even pillar.

Overall, I feel like I’m zeroing in on a silver bullet provisioning system… One that will just work.


One Response

  1. brainstorm
    brainstorm October 15, 2013 at 6:44 am | | Reply

    Try ansible.

Leave a Reply