Re: [Puppet Users] Package provider for gentoo?

2011-09-07 Thread Daniel Pittman
On Tue, Sep 6, 2011 at 20:00, Matthew Marlowe
m...@professionalsysadmin.com wrote:
 This comes down to the package provider depending on eix, which is
 presumably some sort of interface to portage that isn't standard;
 fixing the provider should fix the problem there.  That pretty much
 depends on someone who cares sending an appropriate patch.  (hint ;)

 That's probably most of it.  Can you provide a link to the file(s) on
 github within the puppet source specific to the gentoo packaging
 provider?

You want lib/puppet/provider/package/portage.rb

 I'll see if I can find to review it and consider extending
 or updating it to understand more of the gentoo build specific
 procedures.  I'm not sure if this might require adding new keywords or
 resources, or if we're just talking about setting and creating class
 variables that the provider would interpret and implement.

So, that would wrap the generic package type and provide a concrete
implementation of checking, and actioning, the instructions from
Puppet.  Presumably it uses the eix tool, presently, and should be
reworked not to require that to achieve the same aims to fix this bug.

(...but I am not certain - I don't know gentoo well. :)

Daniel
-- 
⎋ Puppet Labs Developer – http://puppetlabs.com
♲ Made with 100 percent post-consumer electrons

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



[Puppet Users] Package provider for gentoo?

2011-09-06 Thread Peter Berghold
Once again I'm experimenting with the Gentoo Linux distro and trying to get
puppet to work with it.  I'm starting to think it is a lost cause.

In my puppet setup I have a list of packages that are built on any system
that I support regardless of the systems final use. These include tmpwatch,
snmpd, ntpd.. you get the idea.  Using the templates I already had in place
I run puppetd for the first time on the target host and got the following
error:


warning: Found multiple default providers for package: pip, gem; using pip

I checked the on-line documentation and found there was a provider (or so
the docs said) for portage, which was good news to me since I know that
Gentoo is portage based.  So I added to my site.pp file:

if ( $operatingsystem == gentoo ) {
Package { provider = portage }
}

Well in the words of my son, Epic Fail.

Now I get:
err: Could not prefetch package provider 'portage': Command update_eix is
missing

I'm running puppet 2.7.3 on both the puppet master and the client.   Any
thoughts?


-- 
Peter L. Berghold
Owner, Shark River Technical Solutions LLC

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



Re: [Puppet Users] Package provider for gentoo?

2011-09-06 Thread James Turnbull
Peter Berghold wrote:
 Now I get:
 err: Could not prefetch package provider 'portage': Command update_eix
 is missing
 
 I'm running puppet 2.7.3 on both the puppet master and the client.   Any
 thoughts?

Caveat: I am not a Gentoo person.

Is the binary update_eix present on the host?

James

-- 
James Turnbull
Puppet Labs
1-503-734-8571

Join us for PuppetConf http://www.bit.ly/puppetconfsig, September 22nd
and 23rd in Portland, Oregon, USA.

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



Re: [Puppet Users] Package provider for gentoo?

2011-09-06 Thread Peter Berghold
Doing a google after I sent the email I found the following page:

http://projects.puppetlabs.com/projects/puppet/wiki/Puppet_Gentoo

after doing a emerge eix and re-running the puppet transaction things
*look* to be going normally can't tell for sure since it is still
running and it is not generating any spew for me to look at.

I'll know in a while if it worked.



On Tue, Sep 6, 2011 at 3:43 PM, James Turnbull ja...@puppetlabs.com wrote:

 Peter Berghold wrote:
  Now I get:
  err: Could not prefetch package provider 'portage': Command update_eix
  is missing
 
  I'm running puppet 2.7.3 on both the puppet master and the client.   Any
  thoughts?

 Caveat: I am not a Gentoo person.

 Is the binary update_eix present on the host?

 James

 --
 James Turnbull
 Puppet Labs
 1-503-734-8571

 Join us for PuppetConf http://www.bit.ly/puppetconfsig, September 22nd
 and 23rd in Portland, Oregon, USA.

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




-- 
Peter L. Berghold
Owner, Shark River Technical Solutions LLC

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



Re: [Puppet Users] Package provider for gentoo?

2011-09-06 Thread Matthew Marlowe
Peter,

Puppet works great on gentoo with the following caveats:
- Puppet conceptually uses a binary package paradigm, and one needs to
work around that.  It would be nice if we could extend puppet for
gentoo to make it more source based distribution aware and
especially allow it to manage portage configuration files and limit
compile times/etc.
- Do to the differences between binary and source, one frequently will
setup puppet to run only once/day on server nodes during off peak
hours so that any compiling/package dependencies will not occur during
critical periods - and if possible, all compiling will occur on the
build server prior to puppet agent calls on other nodes.
- Gentoo supports more cron systems than puppet supports (last I
checked, puppet did not support fcron)
- Gentoo admins are slightly behind redhat/fedora admins in writing
public modules, this is an area where there is a significant amount of
activity and I hope we can eventually catch up on.
- The handling of dependencies and libraries is not clear cut, and one
usually has to create a separate script to run after puppet to ensure
linking is correct and that python/perl/etc modules are happy.

There are additional issues, but all of them to date can be reasonably
overcome/managed.  I've been in contact with many admins w/ larger
sized clusters and improving the puppet experience on gentoo is a
frequent topic of conversation.  I wouldn't be discouraged by any
initial issues
you find.

Matt

On Tue, Sep 6, 2011 at 12:46 PM, Peter Berghold salty.cowd...@gmail.com wrote:
 Doing a google after I sent the email I found the following page:

 http://projects.puppetlabs.com/projects/puppet/wiki/Puppet_Gentoo

 after doing a emerge eix and re-running the puppet transaction things
 *look* to be going normally can't tell for sure since it is still
 running and it is not generating any spew for me to look at.

 I'll know in a while if it worked.



 On Tue, Sep 6, 2011 at 3:43 PM, James Turnbull ja...@puppetlabs.com wrote:

 Peter Berghold wrote:
  Now I get:
  err: Could not prefetch package provider 'portage': Command update_eix
  is missing
 
  I'm running puppet 2.7.3 on both the puppet master and the client.   Any
  thoughts?

 Caveat: I am not a Gentoo person.

 Is the binary update_eix present on the host?

 James

 --
 James Turnbull
 Puppet Labs
 1-503-734-8571

 Join us for PuppetConf http://www.bit.ly/puppetconfsig, September 22nd
 and 23rd in Portland, Oregon, USA.

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




 --
 Peter L. Berghold
 Owner, Shark River Technical Solutions LLC

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




-- 
Matthew Marlowe
m...@professionalsysadmin.com
Senior Internet Infrastructure Consultant         DevOps/VMware/SysAdmin
https://www.twitter.com/deploylinux                       Gentoo Linux Dev

           Courage is not simply one of the virtues, but the form
              of every virtue at the testing point.  -- C.S. Lewis

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



Re: [Puppet Users] Package provider for gentoo?

2011-09-06 Thread Daniel Pittman
On Tue, Sep 6, 2011 at 13:26, Matthew Marlowe
m...@professionalsysadmin.com wrote:

 Puppet works great on gentoo with the following caveats:
 - Puppet conceptually uses a binary package paradigm, and one needs to
 work around that.  It would be nice if we could extend puppet for
 gentoo to make it more source based distribution aware and
 especially allow it to manage portage configuration files and limit
 compile times/etc.

Er, that isn't really true.  The closest you could come was that our
timeouts might not suit, for example, hours of compilation to install
a package, but it fundamentally shouldn't fail.  If it does, file a
bug.

(Note, for example, that our gem package provider absolutely does
support native compiled code on install.)

This comes down to the package provider depending on eix, which is
presumably some sort of interface to portage that isn't standard;
fixing the provider should fix the problem there.  That pretty much
depends on someone who cares sending an appropriate patch.  (hint ;)

 - Do to the differences between binary and source, one frequently will
 setup puppet to run only once/day on server nodes during off peak
 hours so that any compiling/package dependencies will not occur during
 critical periods - and if possible, all compiling will occur on the
 build server prior to puppet agent calls on other nodes.
 - Gentoo supports more cron systems than puppet supports (last I
 checked, puppet did not support fcron)

Only vixie cron.


 - The handling of dependencies and libraries is not clear cut, and one
 usually has to create a separate script to run after puppet to ensure
 linking is correct and that python/perl/etc modules are happy.

You *should* be able to tie that together with an appropriate exec to
at least automate it.

Daniel
-- 
⎋ Puppet Labs Developer – http://puppetlabs.com
♲ Made with 100 percent post-consumer electrons

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



Re: [Puppet Users] Package provider for gentoo?

2011-09-06 Thread Matthew Marlowe
 This comes down to the package provider depending on eix, which is
 presumably some sort of interface to portage that isn't standard;
 fixing the provider should fix the problem there.  That pretty much
 depends on someone who cares sending an appropriate patch.  (hint ;)


That's probably most of it.  Can you provide a link to the file(s) on
github within the puppet source specific to the gentoo packaging
provider?  I'll see if I can find to review it and consider extending
or updating it to understand more of the gentoo build specific
procedures.  I'm not sure if this might require adding new keywords or
resources, or if we're just talking about setting and creating class
variables that the provider would interpret and implement.


 - The handling of dependencies and libraries is not clear cut, and one
 usually has to create a separate script to run after puppet to ensure
 linking is correct and that python/perl/etc modules are happy.

 You *should* be able to tie that together with an appropriate exec to
 at least automate it.


Yes and no -- it's not a clear cut process.  Most of the time there
are just a few calls after a package is installed, but frequently
you'll want to limit those calls until all other package operations
are complete, and/or run the calls over and over to slowly resolve
dependencies if there is a failure.  Some of the calls can also be
quite expensive so they are only run when certain packages are
modified - so there might be a bit of intelligence that has to be
stored in code to get a fully optimized robust solution.  Differing
versions of portage can also have an impact/etc.

 Daniel
 --
 ⎋ Puppet Labs Developer – http://puppetlabs.com
 ♲ Made with 100 percent post-consumer electrons

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





-- 
Matthew Marlowe
m...@professionalsysadmin.com
Senior Internet Infrastructure Consultant         DevOps/VMware/SysAdmin
https://www.twitter.com/deploylinux                       Gentoo Linux Dev

           Courage is not simply one of the virtues, but the form
              of every virtue at the testing point.  -- C.S. Lewis

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