On Tue, Feb 2, 2010 at 4:05 AM, Christian Horn <chorn(a)fluxcoil.net> wrote:
On Mon, Feb 01, 2010 at 08:07:14PM -0500, Kelsey Hightower wrote:
>
> MadHatter aims to create an advanced configuration management module
> for Cobbler with a feature set similar to Puppet, the open source CMS
> from Reductive Labs. Unlike Puppet, MadHatter will forgo a
> configuration language and instead opt for doing things the “Cobbler”
> way.
Maybe its just me but even i have understandings of cobblers and puppets
workings and reading this projectside multiple times i didnt get what
you are up to.
Thanks for the feedback, and I agree that this section can use more
clarification.
Trying to get puppets functionality without using its language but
just with cobbler-tools.. doesnt make sense to me.
Besides snippets (which you dont want to use apparently to embed
puppet-instructions) there are ksmeta as input-channel, but thats
not really a decent interface to somehow get puppets functionality.
Hopefully, I can offer some clarity here.
What I mean by "Puppet" like functionality is the ability to manage a
collection of resources and group them together. This group can then
be assigned to individual systems.
Additions to Cobbler are required to achieve this, mainly Management
Classes and Resources.
Management Classes will work similar to Cobbler Profiles today.
Management Classes will provide the following fields:
Name
Comment
Pre Scripts
Packages
Services
Repos
Mounts
Users
Groups
Config Files
Post Scripts
Each field is optional, and allows you to list the resources used by
this Management Class. The details of each resource are stored in
configuration files under /etc/cobbler/resources.
/etc/cobbler/resources/mounts
/etc/cobbler/resources/users
/etc/cobbler/resources/services
... etc
Once you have defined a collection of resources you can then assign
the Management Class to a system in Cobbler using the following
cobbler system edit --name=hostname --mgmt-classes="collection_of_resources"
Some resources can utilize ksmeta data similar to kickstart profiles.
One resource that comes to mind are config file resources.
Example:
cobbler mgmt-classes report --name=qpid
Name : qpid
Comment : This Role defines what it takes to be an QPid broker.
....
Config Files : [‘qpidd.conf’, ‘openais.conf’]
Within "/etc/cobbler/settings/configs"
[qpidd.conf]
template=/var/lib/cobbler/templates/qpidd.conf.tmpl
owner=qpidd
user=qpidd
mode=0755
service=qpidd
Within "/var/lib/cobbler/templates/qpidd.conf.tmpl"
# Configuration file for qpidd. Entries are of the form:
# name=value
#
# (Note: no spaces on either side of '='). Using default settings:
# "qpidd --help" or "man qpidd" for more details.
cluster-name = $clustername
auth = $auth
-
The Cobbler system entry:
cobbler system report --name=alice
Name : Alice
Comment :
Hostname :
alice.wonderland.com
....
Kickstart Metadata : {'clustername': 'wonderland', 'auth':
'no' }
Management Classes : ['qpid']