[Ovirt-devel] Details about pending cobbler image support & ovirt integration
Michael DeHaan
mdehaan at redhat.com
Wed Jul 9 13:28:25 UTC 2008
Hi folks,
So I'm still working on the image tracking support for Cobbler ... I've
been a bit sidetracked with other Cobbler/Func items though this is the
/big/ item for Cobbler 1.1. Anyhow, I wanted to provide a basic
summary of what will be going on there in Cobbler land to make sure
we're all on the same page, and that ovirt can get what it wants out of
this. I should also add that I am more than happy to take patches if
you'd like to work on Cobbler directly :)
Essentially the idea is that cobbler contains a series of related
objects.... Distros, Profiles, Systems, and Repos at the base level.
In ovirt's case, we do not care so much about repos.
A distro record contains info about a kernel, initrd, and tree -- and
maybe some additional kernel options and so forth.
A profile takes a distro and adds a kickstart, and specific parameters
that (if providing a virtual install environment) pass extra parameters
to python-virtinst when invoked with koan.
A system takes a profile and customizes it further -- for instance, it
may add networking info or specific kickstart or kernel options
customizations.
Images are the new object. We want cobbler to track them like other
objects.
# cobbler image add --name=QuestionableRemondInstallISO
--file=/mnt/nfs/blah/foo.img
Then we are going to teach koan about images. Currently koan can be
used to reinstall existing systems or launch VM installations, but it
doesn't know about images.
This will look like:
# koan --server=cobbler.example.org
--image=QuestionableRemondInstallISO --virt
And that will kick of the install using the centrally managed parameters.
The next thing to do after getting fullvirt ISO tracking done is to make
sure --file can just take NFS urls and mount them (I'll look into the
libvirt storage stuff for this).
After that, we also teach "cobbler image add" to track images that can
be fed to virt-image, AKA virt disk images. This will have a similar
syntax, most likely...
# cobbler image add --name=MysteryOS --file=/mnt/nfs/blah/foo.img
--image-type=blah [--virt-ram=] [--virt-disk=] [etc]
The --virt parameters will work basically as they do with cobbler
profiles today.
All of the cobbler image stuff will also be accessible over the web service.
So most likely ovirt would have to make the calls to add new images (and
their details) into the "registry" (via cobbler XMLRPC) and then on the
host end, make the right calls to koan to replicate them on demand.
The next logical step after handling virt-images is perhaps teaching
cobbler about physical images and cloning tools, though I'm much more
interested in the virt case, as I have no problem if all the hypervisors
out there have to run Linux :)
The other thing we might want to talk about are cobbler triggers, which
could be written to notify ovirt of changes to the cobbler configuration
-- this is similar to something we are planning with Spacewalk. In
general, I think ovirt would mostly be giving orders to cobbler, but if
someone makes a change outside of cobbler, like deleting a virt-image
ovirt wants to have used, it should probably have a way of knowing it
should re-scan cobbler XMLRPC to see what changed.
Kerberos authorization can be configured here ...
https://fedorahosted.org/cobbler/wiki/CobblerWithKerberos though I
should mention I found a way to get cobbler to authenticate against
Spacewalk here...
https://www.redhat.com/archives/spacewalk-devel/2008-July/msg00024.html
-- in that general theme, it would be possible to write a cobbler auth
plugin that allowed Cobbler to defer authorization of it's own API into
ovirt if we really wanted to. That probably won't be neccessary
though, but I thought I'd throw it out there.
The other thing I'd like to see is Cobbler managing /tftpboot for ovirt
and PXE for ovirt, which I think was something you wanted to do. All
of those APIs are stable now -- if someone wants pointers on how all
that works just let me know.
Thanks!
--Michael
More information about the ovirt-devel
mailing list