Hi,
Further to a question I asked on the Puppet mailing list, I wonder if anyone
here has had any success managing Cobbler with Puppet which they could share?
http://groups.google.com/group/puppet-users/browse_thread/thread/31040119...
As I said there, what I'd like to do is:
- write a Puppet node definition manifest for a new machine
- include DHCP, DNS, hostname and network declarations
- commit this to Git
- deploy via Puppet
- have the Cobber server pick the config up and set up PXE, DHCP, and
DNS accordingly (Cobbler being managed via Puppet)
- shortly after, boot a new machine, and during the PXE boot either
- have its MAC address recognised, or
- select the system from a menu
- have it provisioned with the Puppet package and an appropriate hostname
- have Puppet configure it in the pre-assigned role
Ideally, I'd be able to re-deploy a new Cobbler server in exactly the same way
as another node.
Puppet modules which allow automating setting up repos, profiles, systems etc.
don't seem to exist on the public internet.
One way might be to write a Puppet type based on the Ruby library for
controlling Cobbler 2.0 (2.x?) I gather exists here:
http://www.google.com/url?sa=D&q=https://github.com/duritong/ruby-cob...
However, more recently I've been experimenting with Augeas (from Puppet) to
manage certain config files and I notice there are Augeas lenses (parsers) for
cobbler's settings and modules.conf files. Plus there is a generic JSON lens,
which presumably could handle everything in /var/lib/cobbler/config.
So another approach might be to use that - although this would would be
bypassing the API, of course, which comes with its own set of problems.
Cheers,
Nick