Michael DeHaan wrote: > Occasionally the question comes up on what puppet/cfengine/other > integration looks like for Cobbler. So far that answer (for Puppet, > anyway) has been to use external_nodes, as below, but I think we can do > better than this. Here's the Wiki page on that: > > https://fedorahosted.org/cobbler/wiki/UsingCobblerWithConfigManagementSystem > > How does this idea (to be explained below) sound for those that are > using Puppet? I think this could be done with a minimum amount of code > so it wouldn't be too intrusive to non-Puppet users. I don't think > this was cleanly possible until 1.0, due to the new mod_python services > infrastructure in Cobbler. > > New feature: Cobbler gets a new URL that serves up an external_nodes > file for a given profile/system name. > > http://cobbler.example.org/cblr/svc/op/puppet/system/$name > OR > http://cobbler.example.org/cblr/svc/op/puppet/profile/$name > > This file returns the YAML file that is required to tell Puppet what > puppet classes the node gets. > > Cobbler also ships a very simple snippet for use in kickstart %post that > wgets this file when called, saves it, and uses that file to supply the > answer to "external_nodes". > > We could source the variable assignments out of --ksmeta, so there would > be no need for additional variables added into Cobbler to support this, > just some added support code. > > For example: > > cobbler profile edit --name=webserver --ksmeta="profile=webserver" > cobbler system edit --name=foo --profile="webserver" > > If it makes things easier we could still add a syntax like: > > cobbler profile edit --name=webserver --management-classes=webserver > > This feature would allow the profiles to be reassigned anytime, as > needed, as the profile and system level without reinstalling the > system. You can then manage your IP/MAC/install/config-mgmt > associations all in one place, without having to hop between 6 or 7 > different tools. To me, this is exactly what cobbler's goal is --- to > allow you to do powerful edits in terms of "objects" and /what/ you want > to get done, not how you want to do it. > > Thoughts? > > Does cfengine have a similar concept for mapping systems locally to the > configuration rules they should access? > > --Michael > > _______________________________________________ > cobbler mailing list > [email protected] > https://fedorahosted.org/mailman/listinfo/cobbler >
I should also add, the external_nodes file would be generated from a template, such as /etc/cobbler/puppet_nodes.template That way you could still achieve the parameters support mentioned in the linked Wiki URL. --Michael _______________________________________________ cobbler mailing list [email protected] https://fedorahosted.org/mailman/listinfo/cobbler
