[et-mgmt-tools] Cobbler command line is now pluggable

Michael DeHaan mdehaan at redhat.com
Wed Nov 28 20:46:38 UTC 2007


This is kind of a development specific topic, but one many of you have 
been asking about, so I'm sharing here for those not on IRC.

Summary:   Cobbler command line functions are now driven by modules on 
the 0.7.X branch, and also now all use "optparse", so the commmand line
parsing is better too. 

Main feature:  This means that it is now very easy to add new functions 
to cobbler, specific to /your/ site.   Just drop them in 
/usr/lib/python2.X/site-packages/cobbler/modules following the pattern 
of the CLI modules that are already in that directory.   These functions 
could be packaged in a separate RPM, for instance.    This may sound 
like stuff you could already do with the cobbler API (you could), but 
the module interface makes it much easier, as all the API and parser 
stuff is already set up for you.   The old trigger system is there too, 
but this allows for even more customization potential.

This also makes it much easier to add new options to the existing 
commands (if you're writing a patch), as it should be a lot easier to 
understand.   
This also means things like the following work:

# cobbler distro add --help

That will show you all the commands that "distro add" takes.   Just 
typing "cobbler" will also show you a cheat sheet of the valid commands.

This is all part of the drive to make cobbler even more modular (and 
adaptable to complex site-specific configurations) than it already is.   
I'm trying to blur the line between "simple provisioning in a box" and 
"uber-flexible deployment framework" and you get to pick where you want 
to be along that line.   It starts out very simple, but if you want to 
customize it to do things that are not doable in the "core" 
distribution, that should be very easy to do as well.   So cobbler is 
going to enable doing a lot more things outside of "core".

Another part of this is initiative is making everything template driven, 
and also adding in the authentication modules previously mentioned for 
choosing your workflow.   It should all remain completely simple (like 
now) by default... with the advanced info on the Wiki for those that 
want it.

This is in the git "devel" branch for those that want to check it out.   
Instructions for working with the devel branch are here:  
https://hosted.fedoraproject.org/projects/cobbler/wiki/PatchProcess

--Michael




More information about the et-mgmt-tools mailing list