any cobbler management modules out there?

236 views
Skip to first unread message

Nick

unread,
Jan 20, 2012, 5:34:35 AM1/20/12
to puppet...@googlegroups.com
Hi,

I've been looking for a module for Cobbler, one which allows me to install a
kickstart mirror, configure the repos, distros, profiles and systems, as well
the basic settings.

I found:

- A very old thread started by Sven Muller about writing a cobbler provider

http://groups.google.com/group/puppet-users/browse_thread/thread/b128386cab3a8d3e

- A couple of existing, but quite basic modules:
https://github.com/actionjack/puppet-cobbler
http://forge.puppetlabs.com/ghoneycutt/cobbler

Unfortunately these seem to attempt only to manage /etc/cobbler/settings, and
nothing else.

Does anyone know of something I could use or build upon?

Cheers,

N

Dan White

unread,
Jan 20, 2012, 8:57:32 AM1/20/12
to puppet...@googlegroups.com
I am running Cobbler and Puppet together and I am not sure that a Puppet Module is appropriate for more than just the base settings.

Cobbler manages all its internal info. To get Puppet to manage it would, IMO, either involve hacking Cobbler or wrapping Cobbler command line calls in Puppet "exec" resources.

Sounds messy to me.

I keep both Cobbler and Puppet in a Subversion repository. I used this as a model to start from:
<http://consultancy.edvoncken.net/index.php/HOWTO_Set_up_a_Subversion_repository_for_provisioning>
and modified things to fit my environment.

If you want to preserve the contents of Cobbler, just back up /var/lib/cobbler/config/
Everything is in the JSON files.

“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”
Bill Waterson (Calvin & Hobbes)

> --
> You received this message because you are subscribed to the Google Groups "Puppet Users" group.
> To post to this group, send email to puppet...@googlegroups.com.
> To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
>

Nick

unread,
Jan 20, 2012, 12:25:48 PM1/20/12
to puppet...@googlegroups.com
On 20/01/12 13:57, Dan White wrote:
> I am running Cobbler and Puppet together and I am not sure that a Puppet
> Module is appropriate for more than just the base settings.
>
> Cobbler manages all its internal info. To get Puppet to manage it would,
> IMO, either involve hacking Cobbler or wrapping Cobbler command line calls in
> Puppet "exec" resources.

Yes - I had imagined the latter.

> Sounds messy to me.

Yes again. But then that's nothing new in this field.

> I keep both Cobbler and Puppet in a Subversion repository. I used this as a
> model to start from:
> <http://consultancy.edvoncken.net/index.php/HOWTO_Set_up_a_Subversion_repository_for_provisioning>
>
> and modified things to fit my environment.

Interesting; although there's a big blank there when it gets to Puppet.

> If you want to preserve the contents of Cobbler, just back up
> /var/lib/cobbler/config/ Everything is in the JSON files.

I keep Puppet in Git. However, it is not documented and wasn't obvious to me
that you can version control the entirety of Cobbler and not tread on its toes.
However, if you are doing that, obviously it is possible, and this seems a good
way to sidestep the problem. For now, anyway.

I'll see if I can shoehorn the cobbler directories into my puppet repository
somewhere, perhaps under modules/cobbler/files...

Then the Puppet bit would just need to deploy that. (Ignoring SCM tracking,
which won't play nicely with a scheme like this, by default.) Actually since I'm
currently using a masterless Puppet config and checking the source out
everywhere, deployment would just be a matter of symlinking.

However, this is only able to cut and paste a working cobbler system, right? So
far as I can see, I can't use it to drive things from Puppet. What I was hoping
might be possible is to have one manifest defining a node's parameters, and use
external references within it (or a masterless equivalent along the lines of
[1]) to import these into Cobbler.

Thanks,

Nick

1. http://current.workingdirectory.net/posts/2011/puppet-without-masters/

Ashley Penney

unread,
Jan 20, 2012, 2:05:57 PM1/20/12
to puppet...@googlegroups.com
While this isn't what you want to hear, exactly, there's a bootstrapping tool that
works fantastic with Puppet at http://www.theforeman.org/ - it's probably why
you don't see many cobbler modules.  People like me who used cobbler when
starting out with Puppet migrated off to Foreman with time.

Garrett Honeycutt

unread,
Jan 20, 2012, 2:09:17 PM1/20/12
to puppet...@googlegroups.com

My cobbler module[1] is pretty old and I imagine crusty by now. You
mentioned that the module was basic and implied you wanted to manage
other things.

What other things should a cobbler module be managing? Perhaps we could
work together on updating this module to offer more functionality and
flexibility.

[1] - http://forge.puppetlabs.com/ghoneycutt/cobbler

-g

--
Garrett Honeycutt

206.414.8658
http://puppetlabs.com

Dan White

unread,
Jan 20, 2012, 5:01:15 PM1/20/12
to puppet...@googlegroups.com
You are correct. I do not want to hear about another tool.

I am currently working in a pro-Microsoft-anti-Anything-Else environment that still uses a boatload of Linux servers to do all the "Ditch Digging". I have had a tough time convincing them to use this.

I have looked at Foreman. My first impression is that it has a much bigger "footprint" than what I am using now.

I could be convinced to give it a serious try, but the People Who Pay The Bills are another story.

Thanks for offering, anyway.

“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”
Bill Waterson (Calvin & Hobbes)

Nick

unread,
Jan 20, 2012, 5:20:09 PM1/20/12
to puppet...@googlegroups.com
On 20/01/12 19:05, Ashley Penney wrote:
> While this isn't what you want to hear, exactly, there's a bootstrapping tool that
> works fantastic with Puppet at http://www.theforeman.org/ - it's probably why
> you don't see many cobbler modules. People like me who used cobbler when
> starting out with Puppet migrated off to Foreman with time.

Yes - in fact, I looked at Foreman first. The main reason I then looked at
Cobbler was that Foreman appeared to be very GUI/RDBMS oriented, and ideally I'm
looking for a way to keep everything in version control and generate our
deployment system via Puppet from there.

Can Foreman do that now? If so, I may go back and look again later.


Thanks,

N

oinks...@letterboxes.org

unread,
Jan 21, 2012, 10:31:23 AM1/21/12
to Garrett Honeycutt, puppet...@googlegroups.com
On 20/01/12 19:09, Garrett Honeycutt wrote:
> My cobbler module[1] is pretty old and I imagine crusty by now. You
> mentioned that the module was basic and implied you wanted to manage
> other things.
>
> What other things should a cobbler module be managing?

Well, as I said, there's a limit to what you can set up. I was hoping to be able to:

- write a node definition manifest for a new machine

- include dhcp, dns, hostname and network definitions

- commit to Git

- deploy via Puppet

- have the provisioning server pick the config up and set up PXE, DHCP, and
DNS accordingly

- shortly after, boot a new machine, and during the PXE boot either
- have its MAC address recognised
- select the system from a menu

- have the provisioned with puppet and an appropriate hostname

- have puppet configure it in the pre-assigned role

To be able to do that with Cobbler, I'd need to be able have puppet configure
the distros, repos, profiles, and systems known to it.

Ideally, I'd be able to re-deploy a new Cobbler server in exactly the same way
as another node.

Of course, this is an idea - I'd probably settle for much less in the short term.

> Perhaps we could
> work together on updating this module to offer more functionality and
> flexibility.

I might be up for that later, but I've probably not got the luxury right now - I
need as much off-the-shelf stuff as I can get. Judging by James Turnbull's blog
post [1] on writing new types/providers, it might be fairly easy to do such a
thing for Cobbler, but I'm not primarily a Ruby developer nor very far into
Puppet, so the learning curve and risk of getting bogged down in some detail is
fairly high.

Cheers,

N

1. http://www.kartar.net/2010/02/puppet-types-and-providers-are-easy/

Peter Meier

unread,
Jan 21, 2012, 2:33:12 PM1/21/12
to puppet...@googlegroups.com
> Cobbler manages all its internal info. To get Puppet to manage it
> would, IMO, either involve hacking Cobbler or wrapping Cobbler
> command line calls in Puppet "exec" resources.

Cobbler has also an API you can talk to. There is a cobbler gem [1], [2]
that provides you an easy way to interact with the cobbler api from
ruby. It so far is known to work with Cobbler 2.0.x, but should probably
also work with any 2.x.

~pete

[1] https://rubygems.org/gems/cobbler
[2] https://github.com/duritong/ruby-cobbler

signature.asc
Reply all
Reply to author
Forward
0 new messages