Not quite entirely finished yet, but he's a walk through of the deployment feature in 1.8, brought to you by Scott Henson and myself. Comments welcome.
Ok, so here's the deal. The best way to create virtual deployments in cobbler has always been to make sure you have system records for each VM. However cobbler doesn't do a great job of telling you where you deployed those VMs, and deploying those VMs has been up to you. This is all about to change for the better.
# cobbler system list alpha beta gamma virt-foo virt-bar
# we'll require that the hostname fields are set for the systems cobbler system edit --name=alpha --hostname=alpha.example.org cobbler system edit --name=beta--hostname=alpha.example.org cobbler system edit --name=gamma --hostname=alpha.example.org
# now let's bring a virt system to life! # cobbler deploy --system=virt-bar --virt-host=gamma [--method=ssh|func] (koan runs and installs system record on gamma, using the --hostname set for gamma)
# Now, imagine we have the following ... two groups of machines where we could possibly install a virt instance cobbler system edit --name=alpha --virt-group=labA cobbler system edit --name=beta --virt-group=labA cobbler system edit --name=gamma --virt-group=labB
# Let's make it happen # cobbler deploy --system=virt-bar --virt-group=labB
# Now, I'm curious, where did I deploy the system named "virt-bar" ? # cobbler system report | grep virt-host gamma
Wow, cobbler recorded where we deployed the system since we used cobbler deploy to deploy it. (We may also support reinstalling the virt system in the future...)
This will allow deploying the system record to the most "free" system in labB. (Some work on this pending).
Current deployment methods include SSH and Func, both requiring koan. Something using libvirt-remote and/or libvirt-qmf is very likely in the future. Currently the heuristic for virt groups is "pick a random system", we're working on that also. We'll include our own lightweight options and be able to use external options as well.
And all of this will also work over the Python and XMLRPC APIs just like the above.
--Michael