I've been talking with Andrew Brown from NCSU, and we have some ideas on 
how to implement a cobbler imaging solution utilizing livecd's and 
partimage.   He's going to be taking a crack at implementing this for a 
future cobbler release.   I've included basic details here so others 
could see what we are thinking and weigh in.  The use case is for the 
Virtual Compute Lab (http://vcl.ncsu.edu/) though this should be 
extensible to any other place that needs to clone images and might have 
mixed Linux/other deployments.    Naturally, if you can do kickstart (or 
preseed, or autoyast, or ...), it's always preferable to do kickstart 
(or equivalents) -- maintaining security updates on images and so forth 
and dealing with hardware differences is an additional layer of complexity.

This is somewhat based around some capabilities of IBM's xcat, though 
we're going to rework it to make it work idiomatically in cobbler where 
there is much less setup involved. 

The following instructions assume pxe_just_once is turned on in 
/etc/cobbler/settings and the systems PXE first in BIOS order.  That 
makes some things simpler as the live images can simply reboot when done.

The idea/syntax is as follows:

# from a base of the imported RHEL5 distro, use livecd-tools to create a 
livecd and convert it to a PXE-able image.
# this livecd image will contain a post script that uses partimage to 
export partitions to a configured NFS share (in cobbler)
# and/or load the image based on kernel arguments configured via flags 
below.
cobbler distro make-cloner --name=RHEL5-cloner --distro=RHEL5

# here we make a profile for what is being cloned.   For example, 
"RHEL5-image-myclassproject37", this name will be used
# by the NFS share, and because it is parented by a cloner image, it 
will have special symantics in terms of what kernel
# arguments get fed to it, such that our special live image (or modified 
initrd, TBD) knows what to do.
cobbler profile add --name=RHEL5-image-projectX --distro=RHEL5-cloner

# now we assign a system via PXE boot to be cloned.  Note that we are 
assigning it to a live image not to be installed, but to
# be netbooted and then cloned.
cobbler system edit --name=foo --profile=RHEL5-image-projectX 
--save-clone [--netboot-enabled=1]

# to clone the image, we assign another system to the cloner profile, 
like so, and reboot it once finished
cobbler system edit --name=bar --profile=RHEL5-image-projectX 
--load-clone [--netboot-enabled=1]

This should cover all partition types supported by partimage but not the 
"weird stuff".

This also seems to imply that we would have a settting in 
/etc/cobbler/settings to configure the address info of the NFS
server to save things to.

Comments?   Questions?


--Michael
_______________________________________________
cobbler mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/cobbler

Reply via email to