Extending Puppet using Rubygems

51 views
Skip to first unread message

Kelsey Hightower

unread,
Jun 23, 2012, 8:38:20 PM6/23/12
to puppet...@googlegroups.com
There is a pending pull request that adds the ability for Puppet to load Faces, parser functions, and report processors installed via Rubygems.

https://github.com/puppetlabs/puppet/pull/873

This means in addition to extending Puppet via pluginsync you would be able to simply do something like this:

   gem install puppetlabs-cloud-provisioner

That would bring in all the gem dependancies and be ready for use without restarting Puppet. For more examples take a look at this ticket: http://projects.puppetlabs.com/issues/7788

I would really love to get some feedback around this, and if you like it, add your vote to the ticket.

Thanks.

Ohad Levy

unread,
Jun 24, 2012, 7:53:16 AM6/24/12
to puppet...@googlegroups.com
+1, esp as if you use pluginsync on clients and master you end up pulling the same content (even if its only required on the master) to the clients.

ohad 

Thanks.

--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/dfuw73cfR9AJ.
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.

jcbollinger

unread,
Jun 25, 2012, 9:19:01 AM6/25/12
to puppet...@googlegroups.com


I will never use it, at least for any system that has a decent native package manager.  As I have written before, it is a bad idea to give multiple agents (e.g. gem and yum) overlapping management responsibilities.  If it doesn't interfere with anything else, though, nor take substantial effort to maintain then I won't vote against it.


John

Kelsey Hightower

unread,
Jun 25, 2012, 9:25:56 AM6/25/12
to puppet...@googlegroups.com
John you make a really good point. Rubygems support would be totally optional. One of my hopes is that once people are able to use rubygems for things like parser functions and report processors we start seeing more OS packages built from those gems. 
 
 

Jason Slagle

unread,
Jun 26, 2012, 9:41:00 AM6/26/12
to puppet...@googlegroups.com

On 06/25/2012 09:25 AM, Kelsey Hightower wrote:
>
> John you make a really good point. Rubygems support would be totally
> optional. One of my hopes is that once people are able to use rubygems
> for things like parser functions and report processors we start seeing
> more OS packages built from those gems.
>
>

More useful might be a good and easy way to create OS packages to do
plugins like this.

That would solve some amount of the chicken and egg problem you see
bootstrapping puppet clients that need certain plugins.

I suspect this change will allow that since it will suck plugin stuff
from a system location, so we don't have to go trying to create packages
to throw stuff in $libdir?

Thanks!

Jason

Eric Shamow

unread,
Jun 26, 2012, 9:51:35 AM6/26/12
to puppet...@googlegroups.com
Jason,

Packaging gems as OS packages is pretty easy to do. You can use gem2rpm on RHEL systems or fpm (https://github.com/jordansissel/fpm) in the more general case.

-Eric

--
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+unsubscribe@googlegroups.com.

Kelsey Hightower

unread,
Jun 26, 2012, 9:55:50 AM6/26/12
to puppet...@googlegroups.com
Yep, also see Eric's example of using something like gem2rpm to create those OS packages. If you like this idea, please up vote the ticket and add your comments there.

llo...@oreillyauto.com

unread,
Jun 26, 2012, 10:51:33 AM6/26/12
to puppet...@googlegroups.com

This sort of support would have saved me about 2-3 days of time here recently.

It certainly has my support, and I have upvoted the pull the request.

Michael Stahnke

unread,
Jun 27, 2012, 6:07:31 PM6/27/12
to puppet...@googlegroups.com
I'm certainly in this camp as well. You can bet that if extensions
got popular, we would take some effort to package them (beyond gems)
for use within Puppet. It's pretty simple to migrate from gems to
rpm/deb at least.


>
>
> John
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/puppet-users/-/7O4phpnzUV0J.
>
> To post to this group, send email to puppet...@googlegroups.com.
> To unsubscribe from this group, send email to
> puppet-users...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages