[et-mgmt-tools] Optional override of kickstart on a per-system-basis

Michael DeHaan mdehaan at redhat.com
Fri Jun 15 18:27:40 UTC 2007

The following use case suggestion just came in from mbarr on IRC...

Suppose you have a bunch of existing kickstarts, perhaps owned by a RHN 
satellite.   The use case is that you want to use Cobbler to manage your 
PXE tree, and (possibly) DHCP.   However, cobbler currently requires 
that kickstarts be assigned to a profile, but they can't be assigned to 
a system object.   Why?  Because cobbler *wants* you to think about 
profiles.   However, this means you can't use Cobbler for PXE.    Seems 
broken to me.

In 0.5.0, this has changed and I finally decided to be a bit more 
flexible after hearing this request a few times.  The use case is a good 
one.   I still maintain that cobbler profiles and kickstart templating 
are more powerful than having a kickstart for each existing system, but 
for those people converting an infrastructure that has a lot of existing 
kickstarts for specific servers, Cobbler should support those -- as a 
way to migrate to a system that has templates and profiles that really 
serve to define the roles that individual systems should perform 
("webserver", "dbserver", "etc")

So the following is now possible:

cobbler profile add --name=fc6-webserver--distro=abcd 
cobbler system add --name=label --mac=AA:BB:CC:DD:EE:FF 
--profile=fc6-webserver --kickstart=/path/to/kickstart

So basically it works like you'd expect, though before you had to put 
the --kickstart on the profile object always, and had no way to do a 
system specific kickstart file without creating a profile for that 
specific system.    Any values to --ksmeta or --kopts or any of the 
virtual settings still work as you would expect.   You can pass in a 
http://, nfs://, or ftp:// URL for --kickstart (like before), though, 
like before, these network locations will be treated as raw kickstarts 
to use directly and not templates.

For new users of cobbler, I still highly recommend using profiles as an 
abstraction layer -- though if you have some existing kickstarts and 
aren't able to templatize them right away, it's still important that you 
can be able to do this.   So that's why this was added.

So, there you go...

This is checked into the git repository for those interested.


More information about the et-mgmt-tools mailing list