Tuesday, June 2, 2009

Cobbler and what I'm going to be doing to it make it skynet

So this is my second post in as many days, kind of a surprise to me. But I had some ideas running around my head about cobbler and I thought it would be nice to set them down.

Cobbler Deploy

So a few weeks (maybe a couple months ago?) I sprung a new cobbler feature on the world. The feature was deploy. Basically the ability to push new virtual guests out to hosts. Cobbler 2.0 will have this feature if everything goes as planned.

It is ok, but I think I painted the feature into a little bit of a virtualization corner that might not be such a good idea. After a quick 30 seconds of googling, there seems to be command line tools for playing with the management console of IBM blade centers. It would be very nice to be able to use the deploy feature to simply push out a provisioning to a blade center. Having to log into the blade center's management console to tell it to boot PXE next boot and reboot the blade. It would be so much nicer if cobbler did it for me. So I think I'm going to rename the current virt parameters used by deploy and add a few more. Then I'm going to take a shot at a deploy module for IBM blade centers. Should be a good time.

Cobbler Storage

The next feature that sprung to mind (a few days ago no less) was for cobbler to provision storage along with the hosts. I've posted to the list about it, but I thought I would flesh out a few of the ideas that have been bouncing around my head tonight. Basically we have storage pools that are a container for information about how to put storage there and should probably contain some information about the actual storage backing that pool. Then profiles and systems would have a storage grouping similar to interfaces. They would have things like the storage pool to grab from, the size of the storage, what to format it (if at all?), and mount point. I'm sure we can figure out more to throw there, for the first pass the above should be good enough.

As a quick aside, this would be a good thing to tie into the deploy code. Say you want your new virtual guest to live on a SAN Lun, well attach storage to the profile from which it is created and then when it is provisioned, it will get that storage provisioned imediately. Should be a nice little plus.

Anyway, this opens up a nice first storage module to help flesh out the overall API without messing with too much external hardware. I would think that LVM over ssh or func would let us experiment with the idea without dealing with any vendors or hacking some noninteractive interface over top of an interactive one. In my book that sounds sane.

What is cobbler?

The above plus a suggestion brings up the question of what is cobbler becoming? Someone on the devel list suggested that cobbler start managing switches. With deploy, network, and storage, it should have enough information to manage ethernet switches and fiber channel switches. That makes cobbler into something more than a provisioning server. It suddenly becomes a datacenter management application. Your entire datacenter can be managed by cobbler. I don't know how much of that is possible, or even desirable, but it is an interesting idea. Is it not?

0 comments: