
On 14/03/12 16:24, Craig Sanders wrote:
On Tue, Mar 13, 2012 at 02:45:55PM +1100, Toby Corkindale wrote:
So: Cobbler, Koan, Juju and Orchestra
I wondered if anyone here is using any of these, and if so, what's your opinion? Do they work as well as advertised?
I don't use any of the above, so can't comment on them (i might look at juju in future, sounds interesting).
juju does look the most promising of all of them. I've used Puppet extensively, but would love to be able to skip the bootstrapping phase (ie. provisioning virtual server, installation, initial configuration of network and DNS, signing puppet certs, creating initial machine manifest, etc).
Are they any good when running with local virtual machines rather than on an EC2-compatible cloud?
if you're interested in running your own ec2-like cloud, you might want to take a look at devstack http://devstack.org/
it's a shell script to automatically install and configure openstack as a development environment. works remarkably well - i've even used it to create multinode devstacks inside an existing openstack cloud (to test the latest version).
BTW, the conceptual models for local kvm vs cloud-style are slightly different - but not incompatible. typically, cloud VMs are ephemeral and get blown away whenever you shut them down unless you snapshot it (and rebuild from a base minimalist VM next time you need it). local VMs tend to be more persistent.
i've recently been using KVM on my desktop machine to build debian and centos images to upload to our openstack cloud. with a little bit of care and attention to detail (mainly cleaning up the local VM prior to shutting it down, and then uploading with glance), it's a good way of doing it.
Yeah, I use kvm and lxc heavily myself, and they both work extremely well. I love lxc so much, now that it's matured a bit. (It is so much faster and lighter-weight compared to kvm-based KVMs, and easy to hack from scripts to get things bootstrapped. But of course you're limited to only running other similar operating systems.)
the VMs i build like this are what i think of as "infrastructure vms" - minimal installs, minimal configuration, a blank slate ready for anyone to use.
The ideas look good, but it's surprisingly hard to come up with documentation showing how to go from an Ubuntu install to actually having the whole lot working. (The things I did find gloss over important steps, or only get one part going, such as PXE boot, but not juju.. or juju or koan to boot a machine, but not configure it..)
one way to do it is to launch a standard minimal ubuntu (or debian or centos or whatever image), say one of the ubuntu uec images readily available for download, and then use puppet or chef or your own scripts to install and configure everything needed for that particular vm.
you can then snapshot it to launch multiple instances, and/or to use it as a base for further customisations.
We currently have something a little bit like that going on already.. preconfigured images that can be quickly copied and modified.. but there's still quite a bit of legwork involved that, theoretically, Orchestra could automate. I managed to get Koan working with Cobbler well enough that I could get a new system fired up and installed and on the network in one command. (ie. saying "give me a new machine called X based on profile Y") The part where Juju comes in and starts configuring it just wasn't working though.. the post-install scripts that are supposed to register it were failing, and I couldn't work out why exactly. -T