Re: [Puppet Users] constraint checking

2012-01-27 Thread Felix Frank
Hi,

On 01/26/2012 08:14 PM, Jo Rhett wrote:
 One thing about a well-written piece of generic code is that it can be used 
 in many environments. A lot of my modules do things like do I have an 
 external interface or am I behind the firewall? and do different things 
 based on those answers.  Likewise, when dealing with software components you 
 could be on a system dedicated to just that one component, or you could be on 
 a Dev/QA box which has dozens of such components installed.  The behavior 
 calls for different actions there.

what about custom facts, then?

On 01/26/2012 08:22 PM, Jo Rhett wrote:
 You can't import because of redefinitions. You yourself know well and
deeply the issues involved with calling the same class from different
places with different parameters. It is nearly impossible to get there
from here.

Have you considered combining class inheritance with parameters?

I have found that in many situations, it's extremely helpful to be able
to include an unparameterized base class to satisfy dependencies, and
allow nodes to include additional subclasses that take care of the gory
details.

Granted, this approach won't float any boat out there, but potentially
helpful in the SSH example you gave.

Cheers,
Felix

-- 
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] courier imap/pop not refreshing

2012-01-27 Thread Felix Frank
On 01/25/2012 04:40 PM, Christopher Wood wrote:
 Unfortunately I am unable to reproduce this except outside the target 
 virtualized environment, currently unavailable due to resource concerns.
 
 So far courier-imap and courier-pop restart as they should elsewhere.

I recommend puppet agent --test --noop.

-- 
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] Re: Puppet security issue?

2012-01-27 Thread Ryan Bowlby
Thanks Brice, using mod_rpaf fixed the issue! I've also realized why
puppet SHOULD NOT rely on the X-Forwarded-For for determining source
information to authorize API access. As soon as I had it working with
mod_rpaf I performed an API request with a hostname different than the
actual machine:

malicious host root$ curl -k -H X-Forwarded-For: trustedhost.domain -
H Accept: pson 
https://puppet.domain:8140/production/certificate_statuses/no_key

Which worked, not too surprising. So while mod_rpaf DID fix the issue
it also didn't secure anything. Alas, one should always make use of
puppet client certificate based auth, especially when using a proxy
that may or may not muddle with the origination information.

Also, for those who find this later:

On CentOS 6.x this is available as an RPM in atomic:

rpm -Uvh 
http://www6.atomicorp.com/channels/atomic/centos/6/x86_64/RPMS/atomic-release-1.0-14.el6.art.noarch.rpm
yum -y install mod_rpaf

adding the following to the vhost:

VirtualHost *:18142
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1

Now that I know it works I'll likely build an RPM for the local repo,
rather than rely on a lesser known repo.


Thanks again,

Ryan Bowlby



On Jan 26, 11:37 pm, Brice Figureau brice-pup...@daysofwonder.com
wrote:
 On 27/01/12 02:14, Ryan Bowlby wrote:

  Hi All,

  I have a two puppet servers using Apache with mod_proxy as the
  frontend. Similar to what what's described in Pro Puppet.
  Unfortunately, Apache mod_proxy is passing the puppetca requests using
  the loopback IP instead of the original source IP.

 You're not mentioning what stack your master are running.
 But if they're running on Apache and Passenger, may I suggest using
 mod_rpaf?

  This is a bit of a security concern when configuring auth.conf! An
  example stanza in auth.conf:

  # allow certificate management on provisioning server without cert
  path ~ /cert*
  auth no
  allow localhost

 If you instead make this a certname, then it's secure again.

  With that near the bottom of auth.conf ALL hosts can now perform any
  API calls matching that path. This is due to puppet using the
  127.0.0.1 passed by Apache.

  I need one of the following:

  1. A way to do IP passthrough in apache such that the correct
  originating IP is used.

 Configure your mod_proxy to pass the IP in X-Forwarded-For.

  2. Puppet to make use of the X-Forwarded-For header if it exists and
  to fallback in instances where it doesn't.

 And mod_rpaf is what you need, running in your master apache.









  Likely the latter is the best method. Please feel free to correct me
  if I am missing something. I have verified that with the above
  auth.conf stanza ALL hosts can perform all /cert* related API calls.
  Additionally here is a log line:

  127.0.0.1 - - [27/Jan/2012:00:32:00 +] GET /production/
  certificate_statuses/no_key HTTP/1.1 200 343 - curl/7.15.5 (x86_64-
  redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/
  0.6.5

  That's a request from another server. Here are the Apache configs:

 http://pastebin.com/rDKPSjjy

  Thanks everyone!
  Ryan Bowlby

 --
 Brice Figureau
 My Blog:http://www.masterzen.fr/

-- 
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] Compiled catalog arount 70s

2012-01-27 Thread Antidot SAS
Hi everyone,


I am using puppet 2.7.9 and ruby 1.8.7 on debian box. I don't a lot of
modules right now: just one module that create user + dotfile + ssh key and
compiled catalog takes around 70s do I have to worry is that big.

Does the compiled time scale with the module number? Do I have to make sure
I don't cross a certain limit?


Regards,
JM

-- 
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] Exporting local resources

2012-01-27 Thread Felix Frank
Hi,

the code below will work, but it will not magically transfer file
contents as seen on host A to the master and from there to host B.

Any state you wish puppt to maintain you have to make known to puppet.

If you want puppet to pickup and process any piece of information from
an agent, you will have to write a custom fact for it. (Contents of
large files are ill fit to be shared as custom facts, though.)

HTH,
Felix

On 01/23/2012 06:10 PM, Lorenzo Salvadorini wrote:
 Hi all,
 can I export a file present on a puppet client not created by puppet itself?
 
 In example:
 
 On host A I have a file /var/www/my_intranet_site/htusers that I like to
 have on host B too
 
 class exporter {
 @@file { /var/www/my_intranet_site/htusers:
 tag = basic_auth_users,
 ensure = present,
 } 
 }
 
 class importer {
 File | tag == basic_auth_users |
 }
 
 host A {
  include exporter
 }
 
 host B {
  include importer
 }
 
 
 Thanks,
 L.

-- 
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] Re: Cross-module dependencies

2012-01-27 Thread Felix Frank
Hi John,

thanks for coming up with such elaborate ideas, your input to this group
adds a lot of meat to many discussions.

I can agree with a lot of what you wrote, barring the following remarks:

On 01/26/2012 06:00 PM, jcbollinger wrote:
 Modules provide definitions of resources that they own.  For the most
 part, those definitions should be virtual to avoid unnecessary inter-
 module coupling, but some resources are reasonable to define
 concretely.

Jeff has made a strong point against using virtual resources in modules
at all, causing me to shift my own views as well.
If I understand him correctly, one of the chief problems is the high
probability of accidental collection/realisation of such resources by
the end user's manifest.

On 01/26/2012 06:48 PM, jcbollinger wrote:
 I can imagine many -- perhaps most -- resource definitions being
 replaced or supplemented by constraint declarations.

The model is intriguing, but gives me another usability headache.
Wouldn't this put an end to self-contained modules?

I wrote in a latter mail (is this the same thread? Sorry, I use this
only through Thunderbird and get confused sometimes) how I see need for
explicit module dependencies and a system that can automatically
download required modules from the forge. I can see this supplementing
your idea of constraints nicely, but without it, downloading modules
could quickly become a nightmare for users.

Cheers,
Felix

-- 
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] Multiple Service definitions of the same type

2012-01-27 Thread Felix Frank
Hi,

On 01/24/2012 11:50 PM, Bryan Beaudreault wrote:
 I have a special init.d script that can
 handle this, but want to define the service multiple times in a puppet
 class.

I assume your new initscript declares a different Provides: tag than the
stock memcached initscript, yes?

Whatever this tag is, that's what your service resource should be named,
and (as Ramin pointed out correctly), you should not try and alias this
service to memcached (even though that's what you're ultimately starting).

If your new script does indeed provide memcached as well, that is a
problem in and of itself and needs fixing.

HTH,
Felix

-- 
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] Re: Cross-module dependencies

2012-01-27 Thread Walter Heck
Hello,

On Fri, Jan 27, 2012 at 15:20, Felix Frank
felix.fr...@alumni.tu-berlin.de wrote:
 how I see need for
 explicit module dependencies and a system that can automatically
 download required modules from the forge. I can see this supplementing
 your idea of constraints nicely, but without it, downloading modules
 could quickly become a nightmare for users.
There's something else we need to think about here. Some modules have
a soft/conditional requirement for other modules. What I mean is that
if you don't use certain parts of a module, you don't need the module
that that part of the code refers to. the only decent way I can come
up with to solve that is to use what for instance in C is done with
#IFDEF. That way the module could just ignore modules that it doesn't
_really_ require.

I for instance have modules that allow you to use different backends
for monitoring or backups. If requirements were done automatically
based on the whole module, it would need a myriad of other modules,
only one of which is ever used.

cheers,
-- 
Walter Heck

--
follow @walterheck on twitter to see what I'm up to!
--
Check out my new startup: Server Monitoring as a Service @ http://tribily.com
Follow @tribily on Twitter and/or 'Like' our Facebook page at
http://www.facebook.com/tribily

-- 
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] Re: Cross-module dependencies

2012-01-27 Thread Nick
On 26/01/12 17:48, jcbollinger wrote:
 In particular, it is useful to recognize that dependencies are not just on a
 particular resource generally -- rather, they are on a particular resource
 having certain specific properties.

Yes.

Also: currently in Puppet one cannot say anything about a resource without a
declaration that you will manage it. (Unless perhaps that state happens to be
encapsulated by a Fact, which typically isn't and in many cases couldn't
feasibly be - like the case of file attributes.)

Therefore many dependencies are created only because of a need to check some
state of a resource - which one may not want or need to manage.


 Consider, then, a new metaresource type, Constraint.  The purpose of the
 Constraint resource type would be to allow multiple unrelated classes to
 collaborate on defining the properties of a single resource, and it would do
 so by allowing classes to limit the values that chosen resource properties
 may have.
 
 At compilation time, Puppet would collect and combine all the constraints on
 any particular resource, and use the results to set unspecified property
 values and validate specified ones.  Usage might look something like this:
 
 constraint { 'webserver-httpd_package-present':
 resource = Package['httpd'],
 property = 'ensure',
 forbidden_value = [ 'absent', 'purged' ],
 # also available: allowed_value
 # maybe: default_value
 }
 
 Not only would this nicely meet the needs of different modules to express
 their requirements on shared resources, it would also make it much easier to
 recognize resource conflicts.  If Puppet automatically generated empty
 resource definitions to constrain when it discovered constraints on
 otherwise-undefined resources, then that would also overcome the problem of
 deciding where to define particular resources.
 
 I can imagine many -- perhaps most -- resource definitions being replaced or
 supplemented by constraint declarations.


Here's a slightly different angle.

(Note, I'll use capitalisation distinguish between the resources that exist
outside Puppet, and the Resource instances inside, which model them.)

I think there *is* a case to be made that Puppet needs a new kind of Resource
declaration.  One which promises never to change the state of anything.

Immutability is, I think, the key to allowing multiple declarations of this sort
co-exist. Resources currently have to uniquely own a resource so that they can
safely change it.  As I said, one doesn't always need or want that ownership: we
know the kind of baggage it carries.

Ideally we'd be able to separate out the aspects of a Resource which merely
assert what *should* be the case (ensure = present etc.) from those bits which
would then change the state of the resource if it deviates.

For the sake of discussion I'll call that former kind of declaration an 
Assertion.

To briefly address the points from earlier email: Nan asked how would one
address merging, with respect to the following aspects of a Resource?

 a) unifying before/requires attributes
 b) unifying if/then/else constructs
 c) auditing changes back to their source
 d) unifying hash/array attributes

Well, when using Resources, yes, these make them very hard to unify in general.

However - although this needs more thought - if we could invent some way to
declare mere Assertions, they might do instead of Resources for many cases, and
it might be possible to unify them more simply, because:

 a) Problems related to ordering mostly disappear,

...since nothing is being changed. (Of course, external things which might
change things could be a problem.)

 b) If/then/else clauses can still make sense within definitions of custom
Assertions,

...if they can compose only other Assertions, and the conditions don't change.

 c) Auditing is not a problem: since nothing is changed, there is nothing to
audit.

 d) Hash/array attribute values would need to be resolved on a case-by-case
basis,

...depending on the semantics.  When hash and arrays are semantically
representing are sets, this should be a straightforward and or or operation.
 When the order matters, like a search path, or there is no obvious way to unify
two attributes, then this is an unresolvable contradiction and should generate
an error.  There may be cases in between.

Possibly this doesn't fit all the use-cases which run into cross-module
dependency problems, but might significantly reduce the need to create the
dependencies in the first place.

Anyway, I need to get back to work, I'll try to say more in a later email.


Cheers,

N



-- 
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] Re: Cross-module dependencies

2012-01-27 Thread Felix Frank
Hi,

On 01/27/2012 02:52 PM, Walter Heck wrote:
 There's something else we need to think about here. Some modules have
 a soft/conditional requirement for other modules. What I mean is that
 if you don't use certain parts of a module, you don't need the module
 that that part of the code refers to. the only decent way I can come
 up with to solve that is to use what for instance in C is done with
 #IFDEF. That way the module could just ignore modules that it doesn't
 _really_ require.

thanks for pointing this out, but it has been covered (I think) in
another thread already:

On 01/19/2012 09:17 PM, Nick Fagerlund wrote:
 So, you can conditionally declare the rule if the defined type is
 available to the autoloader, and otherwise you don't attempt to manage
 the firewall and expect that the user has read the documentation and
 will make a hole for the service themselves.

 if defined(firewall::iptables::rule) {
   firewall::iptables::rule {'mysql_server':
 ...etc. etc.
   }
 }

 See? It's just a way to peek around at what the user has installed.

Thanks again to Nick for this quote, it keeps proving useful ;-)

Cheers,
Felix

-- 
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] Re: Managing SSH host private keys

2012-01-27 Thread Ygor
On Jan 26, 1:42 pm, Christopher Wood christopher_w...@pobox.com
wrote:
 On Thu, Jan 26, 2012 at 06:32:49PM +, Dan White wrote:
  I am relatively new to both Puppet and ssh-keys,
  but is it possible for the PuppetMaster to generate all the keys rather 
  that each client creating their own ?

 This might be one of the places where erb (templates) being evaluated on the 
 puppetmaster will help. I'm just speculating, but there's no technological 
 reason why the puppetmaster shouldn't use erb/ruby to fork ssh-keygen and 
 store the result in some local directory. The puppet template can either 
 create a private key, or copy in the results of a previous ssh-keygen run.

 I don't see technical obstacles, only security obstacles. You may not want 
 all your ssh private keys stored in one place, for instance.

Agreed, My first thought is to be sure a backup of the private keys is
kept current and separate - and possibly in multiple locations.
Any other security considerations one should consider ?

In my current workplace, ssh keys are used for remote machine logins
and the individual user is responsible for maintaining their own
private key.
I am not completely happy with this arrangement, and I am looking for
information to use to make some intelligent suggestions for change.

-- 
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] Re: Cross-module dependencies

2012-01-27 Thread jcbollinger


On Jan 27, 7:20 am, Felix Frank felix.fr...@alumni.tu-berlin.de
wrote:
 Hi John,

 thanks for coming up with such elaborate ideas, your input to this group
 adds a lot of meat to many discussions.

 I can agree with a lot of what you wrote, barring the following remarks:

 On 01/26/2012 06:00 PM, jcbollinger wrote:

  Modules provide definitions of resources that they own.  For the most
  part, those definitions should be virtual to avoid unnecessary inter-
  module coupling, but some resources are reasonable to define
  concretely.

 Jeff has made a strong point against using virtual resources in modules
 at all, causing me to shift my own views as well.
 If I understand him correctly, one of the chief problems is the high
 probability of accidental collection/realisation of such resources by
 the end user's manifest.


The core problem to solve is that multiple modules may depend on the
same resources, but each resource can be defined only once.

If modules' resource requirements were invariant then I could be
satisfied with documenting them and requiring the user to provide them
concretely; indeed, that's not very far from what I just proposed.  On
the contrary, however, whether a particular resource is needed by some
module may depend on which of that module's classes are used, and on
which parameters and external data are supplied.  This approach
therefore has its own inherent problem for users: to avoid declaring
unneeded resources.

Given a choice between the problems of avoiding declaring unneeded
resources and of avoiding collecting unwanted resources, I would
choose the latter.  It is easier to deal with, and failure to
completely solve it is no more costly than failure to solve the
alternative problem.


 On 01/26/2012 06:48 PM, jcbollinger wrote:

  I can imagine many -- perhaps most -- resource definitions being
  replaced or supplemented by constraint declarations.

 The model is intriguing, but gives me another usability headache.


From a usability perspective, I think this is a far better proposal
than anything else on the table:
(+) It enables modules to declare their requirements more precisely,
reducing the risk of modules compiling and applying correctly, but
nevertheless failing to achieve the desired configuration.
Constraints are the only proposal currently on the table that provide
that.
(+) A key aspect is that it allows Puppet to pinpoint and diagnose
conflicts at compilation time.
(+) Furthermore, it allows each module to express *only* its
requirements, ignoring properties that it doesn't care about (though
other modules might care about them).  In fact, it rewards modules for
doing so by making them more interoperable.
(+) It does not rely on virtual resources (though it is compatible
with them), so it does not impose any risk of accidental resource
collection.
(+) It could be implemented in a manner that forestalls inter-module
parse order dependencies.

The main cost I see is:
(-) It creates a new distinction between resource properties that are
explicitly specified in resource definitions and those that are not.
For this reason (at least), such a feature could not be introduced
until Telly at the earliest.

That cost is incurred, however, only in manifest sets that use
Constraints, and then only with respect to resources that are targeted
by Constraints.  It is anyway not a usability issue, but rather an
upgrade / conversion / compatibility issue.


 Wouldn't this put an end to self-contained modules?


No.  What makes you think it would?  I think it allows modules to be
*more* self-contained than they currently are.


 I wrote in a latter mail (is this the same thread? Sorry, I use this
 only through Thunderbird and get confused sometimes) how I see need for
 explicit module dependencies and a system that can automatically
 download required modules from the forge. I can see this supplementing
 your idea of constraints nicely, but without it, downloading modules
 could quickly become a nightmare for users.


I have considered that possibility, essentially a package management
system for Puppet modules.  Although such a thing could undoubtedly be
implemented, I don't think it would be very suitable for addressing
the inter-module dependency problem.  Package management systems such
as yum and apt rely on the fact that software dependency graphs are
more or less trees, but I don't think module dependency graphs tend to
be anywhere near as treelike.  I suppose module repository managers
could enforce tree-shaped dependency graphs, but that imposes the
tool's requirements on the problem space instead of relying on a tool
that suits well in the first place.

I do not mean to say that a tool that automatically downloaded and
installed modules from the Forge would be useless -- far from it.  I
just don't think that it would adequately address the inter-module
dependency issue, and therefore I would recommend that such a tool not
even try to do so.  It solves an altogether 

[Puppet Users] Re: How do *you* handle yumrepo dependency chains?

2012-01-27 Thread jcbollinger


On Jan 26, 8:56 am, jimbob palmer jimbobpal...@gmail.com wrote:
 Say you have a RHEL6 environment. You have some packages you want
 installed, these rely on a yumrepo. That yumrepo relies on an rpm-gpg key
 being installed.

 Now you get some RHEL5 boxes to add to the network. Your yumrepo RHEL6.2
 with a dependency on the RHEL6 signing key now causes a problem: all of the
 rpms you need are the same, but those rpms rely on the RHEL6.2 yumrepo
 which is wrong, and that relies on the RHEL6 signing key which is wrong too.

 What approach do you use?

Option 1: define separate Yumrepos for the RHEL5 repositories, with
appropriate dependencies, and define Packages' Yumrepo dependencies
conditionally based on OS release.

Option 2: define the Yumrepo properties conditionally based on OS
release.

Which of these best suits may depend on what work you have already
done.  Surely you are not declaring RHEL6 Yumrepos for your RHEL5
boxes (or else fix that!), so just make your Packages 'require' the
Yumrepos that you are actually declaring.  That's the essence of both
options.


John

-- 
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] [Dashboard] Debian squeeze rack 1.4.1

2012-01-27 Thread Antidot SAS
Hi everyone,


I am trying to setup puppet-dashboard when trying to use the rake
RAILS_ENV=production db:migrate I have the following error:
# rake RAILS_ENV=production db:migrate
NOTE: Gem.source_index is deprecated, use Specification. It will be removed
on or after 2011-11-01.
Gem.source_index called from
/usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21.
NOTE: Gem::SourceIndex#initialize is deprecated with no replacement. It
will be removed on or after 2011-11-01.
Gem::SourceIndex#initialize called from
/usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from
/usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
rake aborted!
Could not find rack (~ 1.1.0) amongst [actionmailer-3.2.0,
actionpack-3.2.0, activemodel-3.0.10, activerecord-3.0.10,
activeresource-3.2.0, activesupport-3.0.10, arel-3.0.0, arel-2.0.10,
builder-3.0.0, builder-2.1.2, bundler-1.0.21, daemon_controller-0.2.6,
erubis-2.7.0, facter-1.6.5, facter-1.6.4, fastthread-1.0.7, hike-1.2.1,
i18n-0.6.0, i18n-0.5.0, journey-1.0.0, json-1.6.5, mail-2.4.1,
mime-types-1.17.2, multi_json-1.0.4, mysql-2.8.1, mysql2-0.3.11,
passenger-3.0.11, 

[Puppet Users] Re: Compiled catalog arount 70s

2012-01-27 Thread jcbollinger


On Jan 27, 4:02 am, Antidot SAS antidot...@gmail.com wrote:
 Hi everyone,

 I am using puppet 2.7.9 and ruby 1.8.7 on debian box. I don't a lot of
 modules right now: just one module that create user + dotfile + ssh key and
 compiled catalog takes around 70s do I have to worry is that big.


That's pretty excessive.  My manifests are considerably more complex
than you describe, and my compilation times average around 1s.  Exact
timing also depends on the hardware, of course, but something is wrong
for you if it takes 70s to compile a simple catalog.  We could be more
helpful if you gave us a manifest set that exhibits the problem.


 Does the compiled time scale with the module number? Do I have to make sure
 I don't cross a certain limit?


Compilation time scales with the number and complexity of the
manifests to compile.  That is correlated to the number of modules
used (not the number installed) inasmuch as using more modules implies
compiling more manifests.  The actual number of manifests compiled
depends on the details of the modules involved and their manner of
use, however.

As for limits, the more work your master needs to do to compile each
node's catalog, the fewer nodes it can serve.  In the extreme that
compilation time approached or exceeded the delay between agent runs,
effectively the master could serve only a single node.


John

-- 
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] ssh_authorized_key in 2.7.10 keeps looping when options are set

2012-01-27 Thread Nan Liu
On Fri, Jan 27, 2012 at 10:27 AM, rvlinden
rene.vanderlinde...@gmail.com wrote:
 Hi all,

 I just upgraded a client with puppet 2.7.9 to 2.7.10 and now the
 authorized_keys started to loop

 notice: /Stage[main]/Authorizedkey::UserX/
 Authorizedkey::Manage[userx_dss_domainx_test]/
 Ssh_authorized_key[userx_dss_domainx_test]/options: options changed
 'no-port-forwarding,no-agent-forwarding,no-X11-forwarding' to 'no-port-
 forwarding,no-agent-forwarding,no-X11-forwarding'

 It says it changed .ssh/authorized_keys, but when I compare the
 current authorized_keys in the user's homedir with the one in the
 filebucket, they are identical. The only difference is the date/
 timestamp

 diff
  # HEADER: This file was autogenerated at Fri Jan 27 16:10:31 +0100
 2012
 ---
 # HEADER: This file was autogenerated at Fri Jan 27 16:12:58 +0100 2012

 It only loops on authorized keys with options, which are configured as
 an array like this

 options = [
  'no-port-forwarding',
  'no-agent-forwarding',
  'no-X11-forwarding',
 ]

Perhaps a variation of this issue:
http://projects.puppetlabs.com/issues/12197

There's an ongoing thread, and check if you have Ruby 1.8.7.

Nan

-- 
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] Re: Cross-module dependencies

2012-01-27 Thread Felix Frank
Hi,

On 01/27/2012 04:22 PM, jcbollinger wrote:
 From a usability perspective, I think this is a far better proposal
 than anything else on the table:

I've thought of another plus. Even though the design proposal adds to
the DSL (and complexity is generally to be avoided), it does so in a
manner that will not make it necessary for novices (or any end user) to
deal with the particular featureset, but instead limits its target
audience to developers of public modules.

 Wouldn't this put an end to self-contained modules?

 No.  What makes you think it would?  I think it allows modules to be
 *more* self-contained than they currently are.

I was thinking along the lines of currently modules will just install
the packages they need, for instance. But you're right of course -
currently modules can break each other because of this, so a way for the
compiler to clearly pinpoint reasons and locations of mismatches would
indeed be superior.

 I do not mean to say that a tool that automatically downloaded and
 installed modules from the Forge would be useless -- far from it.  I
 just don't think that it would adequately address the inter-module
 dependency issue, and therefore I would recommend that such a tool not
 even try to do so.  It solves an altogether different problem.

Again, I'm inclined to concur. The issue at hand is to stop modules from
breaking each other horribly. Once that's off the table, a module
management system is a whole new issue in and of itself.

Cheers,
Felix

-- 
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] Re: ssh_authorized_key in 2.7.10 keeps looping when options are set

2012-01-27 Thread rvlinden
Thanks

I run puppet on RHEL5 with Ruby 1.8.7

On Jan 27, 4:56 pm, Nan Liu n...@puppetlabs.com wrote:
 On Fri, Jan 27, 2012 at 10:27 AM, rvlinden





 rene.vanderlinde...@gmail.com wrote:
  Hi all,

  I just upgraded a client with puppet 2.7.9 to 2.7.10 and now the
  authorized_keys started to loop

  notice: /Stage[main]/Authorizedkey::UserX/
  Authorizedkey::Manage[userx_dss_domainx_test]/
  Ssh_authorized_key[userx_dss_domainx_test]/options: options changed
  'no-port-forwarding,no-agent-forwarding,no-X11-forwarding' to 'no-port-
  forwarding,no-agent-forwarding,no-X11-forwarding'

  It says it changed .ssh/authorized_keys, but when I compare the
  current authorized_keys in the user's homedir with the one in the
  filebucket, they are identical. The only difference is the date/
  timestamp

  diff
   # HEADER: This file was autogenerated at Fri Jan 27 16:10:31 +0100
  2012
  ---
  # HEADER: This file was autogenerated at Fri Jan 27 16:12:58 +0100 2012

  It only loops on authorized keys with options, which are configured as
  an array like this

  options = [
   'no-port-forwarding',
   'no-agent-forwarding',
   'no-X11-forwarding',
  ]

 Perhaps a variation of this issue:http://projects.puppetlabs.com/issues/12197

 There's an ongoing thread, and check if you have Ruby 1.8.7.

 Nan- Hide quoted text -

 - Show quoted text -

-- 
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] Re: Compiled catalog arount 70s

2012-01-27 Thread Antidot SAS
Hey thx for the answer...

the puppetmaster is an old Poweredge SC1425 with 2 Go of RAM and 4 CPU
(Intel Xeon 2.8Ghz)


Regarding the catalog it is playing a lot with hash tables... Trying to
figure out a way to show it to you... Attachment could be a way?



On Fri, Jan 27, 2012 at 4:55 PM, jcbollinger john.bollin...@stjude.orgwrote:



 On Jan 27, 4:02 am, Antidot SAS antidot...@gmail.com wrote:
  Hi everyone,
 
  I am using puppet 2.7.9 and ruby 1.8.7 on debian box. I don't a lot of
  modules right now: just one module that create user + dotfile + ssh key
 and
  compiled catalog takes around 70s do I have to worry is that big.


 That's pretty excessive.  My manifests are considerably more complex
 than you describe, and my compilation times average around 1s.  Exact
 timing also depends on the hardware, of course, but something is wrong
 for you if it takes 70s to compile a simple catalog.  We could be more
 helpful if you gave us a manifest set that exhibits the problem.


  Does the compiled time scale with the module number? Do I have to make
 sure
  I don't cross a certain limit?


 Compilation time scales with the number and complexity of the
 manifests to compile.  That is correlated to the number of modules
 used (not the number installed) inasmuch as using more modules implies
 compiling more manifests.  The actual number of manifests compiled
 depends on the details of the modules involved and their manner of
 use, however.

 As for limits, the more work your master needs to do to compile each
 node's catalog, the fewer nodes it can serve.  In the extreme that
 compilation time approached or exceeded the delay between agent runs,
 effectively the master could serve only a single node.


 John

 --
 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.



-- 
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] Compiled catalog arount 70s

2012-01-27 Thread Brice Figureau
On Fri, 2012-01-27 at 11:02 +0100, Antidot SAS wrote:
 Hi everyone,
 
 
 
 
 I am using puppet 2.7.9 and ruby 1.8.7 on debian box. I don't a lot of
 modules right now: just one module that create user + dotfile + ssh
 key and compiled catalog takes around 70s do I have to worry is that
 big.

70s is very high. My biggest node has around 2000 resources, and it
takes around 12s to compile (including storeconfigs) on a 4 year old
Dell 2950 (one 4C 1.18GHz processor, 4GiB RAM).

Compilation time depends on two things:

* the complexity (in number of classes or resources) of your manifests
* the number of concurrent nodes asking for catalog (the more node
asking for catalogs, the more load on your server and processes start to
fight for CPU/RAM).

Also, if you have storeconfigs enabled, this can take quite some time.
In which case I suggest to run with thin_storeconfigs instead of the
full one if you can.

You might also want to check that your server is not swapping.

 Does the compiled time scale with the module number? Do I have to make
 sure I don't cross a certain limit?

-- 
Brice Figureau
Follow the latest Puppet Community evolutions on www.planetpuppet.org!

-- 
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] Re: Compiled catalog arount 70s

2012-01-27 Thread Kelsey Hightower
70s sounds does sound a bit high for managing only three resources,
but more info is required before I can really answer your question.

How did you install Puppet? (OS packages, gem?)
What OS are you running, and can you provide some info about the
Hardware?

Also, if you have a sample of the manifest that you are using that
would be great as well.

On Jan 27, 5:02 am, Antidot SAS antidot...@gmail.com wrote:
 Hi everyone,

 I am using puppet 2.7.9 and ruby 1.8.7 on debian box. I don't a lot of
 modules right now: just one module that create user + dotfile + ssh key and
 compiled catalog takes around 70s do I have to worry is that big.

 Does the compiled time scale with the module number? Do I have to make sure
 I don't cross a certain limit?

 Regards,
 JM

-- 
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] SSL Errors - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B

2012-01-27 Thread Romeo Theriault
Hello, I'm new to puppet and am getting a puppet server setup with
puppet dashboard. I have the puppet server and puppet dashboard
(Apache/Passenger) setup and working well with 60+ test nodes working
as expected. Only problem is that I have this one error in the logs
which I can't figure out.

Jan 26 17:09:41 ppt01 puppet-agent[27357]: Could not retrieve catalog
from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read
server certificate B: certificate verify failed.  This is often
because the time is out of sync on the server or client
Jan 26 17:09:41 ppt01 puppet-agent[27357]: Using cached catalog
Jan 26 17:09:42 ppt01 puppet-agent[27357]:
(/Stage[main]/Puppet/File[run_puppet.sh]) Could not evaluate:
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B:
certificate verify failed.  This is often because the time is out of
sync on the server or client Could not retrieve file metadata for
puppet:///modules/puppet/run_puppet.sh: SSL_connect returned=1 errno=0
state=SSLv3 read server certificate B: certificate verify failed.
This is often because the time is out of sync on the server or client
at /etc/puppet/modules/puppet/manifests/init.pp:67
Jan 26 17:09:42 ppt01 puppet-agent[27357]:
(/Stage[main]/Puppet/Cron[puppet]) Dependency File[run_puppet.sh] has
failures: true
Jan 26 17:09:42 ppt01 puppet-agent[27357]:
(/Stage[main]/Puppet/Cron[puppet]) Skipping because of failed
dependencies
Jan 26 17:09:42 ppt01 puppet-agent[27357]: Finished catalog run in 0.21 seconds
Jan 26 17:09:42 ppt01 puppet-agent[27357]: Could not send report:
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B:
certificate verify failed.  This is often because the time is out of
sync on the server or client

These errors are from the puppet agent that is running on the
puppet-master server. The odd thing is if I run it manually everything
works as it should. I also have a cron job that runs it every 30
minutes and this works fine as well. I have no idea how the puppet
agent is getting called during this failed run. It happens reliably
every 30 minutes but outside of the time that my cron job runs...
Does anyone have any idea what might be calling this failed run?
Something with the dashboard I'm guessing but I'm unable to find
anything.

Next odd thing is that this failed run also doesn't appear to be
affecting anything. All the Dashboard (and puppet master)
functionality is working as it should, including reporting,
filebucketing and inventory. All clients are getting their catalogs,
etc... so I'm really not sure where this is originating from.

I should note that I did change the hostname the puppet server is
using but updated every (I think) to reflect the new hostname,
including regenerating the server and client certs.

I've found this page:
http://docs.puppetlabs.com/pe/2.0/maint_common_config_errors.html#do-agents-trust-the-masters-certificate

which covers these errors but they don't seem to be my issue. It's
obviously not a time issue considering the agent that is complaining
in on the master. I've `puppet cert clean`-ed, re-re-created and
re-signed the client certs against the new master certs and the puppet
agent runs are working from my cron calls and when run manually.

Any help in determining where this is getting called from and how I
can clear it up would be greatly appreciated.

Here is my puppet.conf on my master. I'd be happy to provide any other
info that my be helpful.

[agent]
    server = host.pvt.domain.com
    report = true

[master]
    ssldir = $vardir/ssl
    certname = host.pvt.domain.com

    # For the Inventory service
    facts_terminus = inventory_active_record
    dbadapter = mysql
    dbname = puppet_inventory
    dbuser = puppet
    dbpassword = super-secret
    dbserver = localhost
    dbsocket = /var/lib/mysql/mysql.sock


    # For reports
    reports = store, http
    reporturl = http://host.pvt.domain.com/reports/upload


    # For puppet dashboards external node classification.
    node_terminus = exec
    external_nodes = /usr/bin/env
PUPPET_DASHBOARD_URL=http://puppet:80
/usr/share/puppet-dashboard/bin/external_node

Thank you,

--
Romeo

-- 
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] ssh::auth sign of life?

2012-01-27 Thread Elias Abacioglu

Hi,

First I would like to start of with a quote from 
http://projects.puppetlabs.com/projects/puppet/wiki/Module_Ssh_Auth_Patterns.
ssh::auth is currently in an unstable release. Please test it, and 
report bugs and feature requests on the Puppet users mailing list. Based 
on the results of people’s testing, the interface may change for the 
first stable release.


Last update was 2010-03-29. Is it still unstable?
Has anyone used this ssh::auth before? Has anyone forked it and 
maintains it?
I'm looking for a module to maintain some users and their ssh keys and 
would like some feedback from anyone that has any experience in 
something like this.


Regards,
Elias

--
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] yum.puppetlabs.com and downloads.puppetlabs.com unreachable

2012-01-27 Thread Erwin
Since several weeks, both yum.puppetlabs.com and
downloads.puppetlabs.com are unreachable from some connections. This
is showing every time I check for updates in the repository.

It seems that there is a problem in routing. See:
traceroute to yum.puppetlabs.com (96.126.116.126), 30 hops max, 40
byte packets
1 …
2 …
3  vlan130.newxr2.nik-asd.internl.net (217.149.196.89)  2.124 ms
2.251 ms  2.709 ms
 4  vlan51.newxr1.nik-asd.internl.net (217.149.207.201)  2.963 ms
2.886 ms  2.932 ms
 5  bbr01.eq01.ams01.networklayer.com (195.69.146.82)  2.848 ms  2.865
ms  3.155 ms
 6  ae7.bbr02.eq01.ams02.networklayer.com (50.97.18.213)  3.447 ms
3.368 ms  3.415 ms
 7  ae0.bbr02.tg01.lon01.networklayer.com (50.97.18.210)  16.768 ms
11.892 ms  11.778 ms
 8  ae7.bbr01.tg01.lon01.networklayer.com (50.97.18.206)  38.213 ms
38.338 ms  35.312 ms
 9  ae1.bbr02.tl01.nyc01.networklayer.com (50.97.18.204)  74.553 ms
75.003 ms  74.937 ms
10  ae1.bbr01.eq01.chi01.networklayer.com (173.192.18.132)  96.712 ms
96.987 ms  97.576 ms
11  ae20.bbr01.eq01.dal03.networklayer.com (173.192.18.136)  115.286
ms  114.407 ms  114.534 ms
12  po31.dsr02.dllstx3.networklayer.com (173.192.18.227)  144.169 ms
140.364 ms  140.263 ms
13  * * *
14  po2.car01.dllstx2.networklayer.com (70.87.254.78)  115.204 ms
114.533 ms  114.426 ms
15  5a.7.1243.static.theplanet.com (67.18.7.90)  114.740 ms  116.290
ms  116.175 ms
16  * * *
17  * * *
18  * * *
19  * * *
20 etc…

When I traceroute to puppetlabs.com, all is well:
traceroute to puppetlabs.com (96.126.112.51), 30 hops max, 40 byte
packets
1 …
2 …
3  vlan130.newxr2.nik-asd.internl.net (217.149.196.89)  2.551 ms
2.659 ms  2.095 ms
 4  vlan51.newxr1.nik-asd.internl.net (217.149.207.201)  1.338 ms
2.002 ms  1.878 ms
 5  bbr01.eq01.ams01.networklayer.com (195.69.146.82)  43.903 ms
44.072 ms  43.848 ms
 6  ae7.bbr02.eq01.ams02.networklayer.com (50.97.18.213)  1.521 ms
1.859 ms  1.598 ms
 7  ae0.bbr02.tg01.lon01.networklayer.com (50.97.18.210)  7.397 ms
7.434 ms  7.423 ms
 8  ae7.bbr01.tg01.lon01.networklayer.com (50.97.18.206)  8.290 ms
8.152 ms  8.367 ms
 9  ae1.bbr02.tl01.nyc01.networklayer.com (50.97.18.204)  75.874 ms
75.963 ms  76.013 ms
10  * * *
11  ae20.bbr01.eq01.dal03.networklayer.com (173.192.18.136)  119.603
ms  121.916 ms  121.599 ms
12  po31.dsr01.dllstx3.networklayer.com (173.192.18.225)  121.406 ms
120.453 ms  120.361 ms
13  te3-2.dsr01.dllstx2.networklayer.com (70.87.253.130)  120.158 ms
118.674 ms  118.645 ms
14  po1.car01.dllstx2.networklayer.com (70.87.254.74)  118.616 ms
118.558 ms  118.822 ms
15  5a.7.1243.static.theplanet.com (67.18.7.90)  122.036 ms  119.985
ms  119.083 ms

From some other connections I can reach yum,puppetlabs.com without a
problem.

Anyone else seeing this as well?
Is there a solution?

-- 
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] Puppet agents stop reporting after master runs out of disk space...

2012-01-27 Thread Kyle Mallory
I am experiencing a curious event, and wondering if others have seen 
this... As well, I have a question related to it.


Today, I noticed my puppet summary report from Foreman this morning, 
that 60 of my 160 hosts all stopped reporting at nearly the exact same 
time, and have not since restarted.  Investigating, it appears that my 
puppetmaster temporarily ran out of disk space on the /var volume, 
probably in part do to logging.  I have log rollers running, which 
eventually freed up some disk space, but the 60 hosts, have not resumed 
reporting.


If I dig into the logs on one of the failing agents, there are no 
messages from puppet, past 4am (here is a snippet of my logs):


Jan 27 02:44:25 kmallory3 puppet-agent[15340]: Using cached catalog
Jan 27 02:44:25 kmallory3 puppet-agent[15340]: Could not retrieve 
catalog; skipping run
Jan 27 03:14:30 kmallory3 puppet-agent[15340]: Could not retrieve 
catalog from remote server: Error 400 on SERVER: No space left on device 
- /var/lib/puppet/yaml/facts/kmallory3.xxx.xxx.xxx.yaml

Jan 27 03:14:30 kmallory3 puppet-agent[15340]: Using cached catalog
Jan 27 03:14:30 kmallory3 puppet-agent[15340]: Could not retrieve 
catalog; skipping run
Jan 27 03:47:30 kmallory3 puppet-agent[15340]: Could not retrieve 
plugin: execution expired
Jan 27 04:01:02 kmallory3 puppet-agent[15340]: Could not retrieve 
catalog from remote server: execution expired

Jan 27 04:01:02 kmallory3 puppet-agent[15340]: Using cached catalog
Jan 27 04:01:02 kmallory3 puppet-agent[15340]: Could not retrieve 
catalog; skipping run


Forcing a run of puppet, I get the following message:

kmallory3:/var/log# puppetd --onetime --test
notice: Ignoring --listen on onetime run
notice: Run of Puppet configuration client already in progress; skipping

After stopping and restarting the puppet service, the agent started 
running properly.  It appears that the failure from the server has 
caused the agent to hang, from which it was not able to recover 
gracefully.  Has anyone experienced this before?  We are running 2.6.1 
on the large majority of our hosts, including this one.  Many failed, 
but 2/3rds keep running properly.


Now, on to my question.. Anyone got some bright ideas for how I could 
force Puppet to restart itself on a 60 machines, when Puppet isn't 
running??  I'm not really excited by the prospect of logging into 60 
machines, and running a sudo command...  sigh.



--Kyle

--
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] Re: Cross-module dependencies

2012-01-27 Thread jcbollinger


On Jan 27, 8:01 am, Felix Frank felix.fr...@alumni.tu-berlin.de
wrote:
 Hi,

 On 01/27/2012 02:52 PM, Walter Heck wrote:

  There's something else we need to think about here. Some modules have
  a soft/conditional requirement for other modules. What I mean is that
  if you don't use certain parts of a module, you don't need the module
  that that part of the code refers to. the only decent way I can come
  up with to solve that is to use what for instance in C is done with
  #IFDEF. That way the module could just ignore modules that it doesn't
  _really_ require.

 thanks for pointing this out, but it has been covered (I think) in
 another thread already:

 On 01/19/2012 09:17 PM, Nick Fagerlund wrote:

[...]

And Nick's approach seems good and useful, but I don't think it
addresses Walter's concern.  Walter observes that modules' runtime
inter-module dependencies can depend on how they are used, and he
argues, I think, that that complicates the problem of managing such
dependencies via a package management system.

For example, if module X depends on module Y only for feature
X::ySupport, and I intend never to use X::ySupport, then I might like
to avoid installing module Y.  If I furthermore want to use module Y2
that is incompatible with module Y, then I might *need* to avoid
installing Y.  There are ways to handle problems such as those, but it
all creates a lot of overhead to make everything work together
properly in such a scheme.


John
A hollow voice says Plugh.

-- 
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] Re: Compiled catalog arount 70s

2012-01-27 Thread Antidot SAS
Here are the info you wanted:
OS: Debian squeeze
Puppet: installed from gem version 2.7.9
As I sayed the hardware is an old Poweredge SC1425 with 4 Xeon 2,8 Ghz with
2 Go of Memory


Apparently the code is preety ugly since the compiled time is big, I have
just share the code:
https://github.com/jmauro/puppet-user

The compilation time increased when I want to create about 50 employe for
instance in the file admin/params.pp


Let me know if you see something odd or If I misunderstand a concept.


Regards,
JM






On Fri, Jan 27, 2012 at 1:26 PM, Kelsey Hightower kel...@puppetlabs.comwrote:

 70s sounds does sound a bit high for managing only three resources,
 but more info is required before I can really answer your question.

 How did you install Puppet? (OS packages, gem?)
 What OS are you running, and can you provide some info about the
 Hardware?

 Also, if you have a sample of the manifest that you are using that
 would be great as well.

 On Jan 27, 5:02 am, Antidot SAS antidot...@gmail.com wrote:
  Hi everyone,
 
  I am using puppet 2.7.9 and ruby 1.8.7 on debian box. I don't a lot of
  modules right now: just one module that create user + dotfile + ssh key
 and
  compiled catalog takes around 70s do I have to worry is that big.
 
  Does the compiled time scale with the module number? Do I have to make
 sure
  I don't cross a certain limit?
 
  Regards,
  JM

 --
 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.



-- 
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] finally have puppet/passenger/dashboard working... new problem

2012-01-27 Thread Peter Berghold
What the heck does this mean?

err: Could not retrieve catalog from remote server: Error 400 on SERVER:
undefined method `fact_merge' for nil:NilClass
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

Only seems to be happening on one host in particular...


-- 
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.



[Puppet Users] Re: Cross-module dependencies

2012-01-27 Thread jcbollinger


On Jan 27, 7:58 am, Nick oinksoc...@letterboxes.org wrote:
 On 26/01/12 17:48, jcbollinger wrote:

  In particular, it is useful to recognize that dependencies are not just on a
  particular resource generally -- rather, they are on a particular resource
  having certain specific properties.

 Yes.

 Also: currently in Puppet one cannot say anything about a resource without a
 declaration that you will manage it. (Unless perhaps that state happens to 
 be
 encapsulated by a Fact, which typically isn't and in many cases couldn't
 feasibly be - like the case of file attributes.)


Of course, this is a question of scale and foreknowledge.  One can
easily create a custom fact expressing any or all of the attributes of
a specific file.  I think one could even do it for all of the files in
a directory, or even for an entire directory tree.  Before too long,
however, that's going to become quite slow, and it would be difficult
to use on the Puppet side.  I can't think of a persistent node state
detail that couldn't be expressed via a custom fact, but if you need
many such details, or if you can't be sure in advance which you will
need, then you do have a problem.


 Therefore many dependencies are created only because of a need to check some
 state of a resource - which one may not want or need to manage.


It sounds like you want to perform conditional logic on the agent.  I
am not at all comfortable with that idea, though perhaps I could
become more so.  It entails a much more fundamental change to Puppet
than anything else we have been discussing.  Or did you have something
different in mind?


 Here's a slightly different angle.

[...]

 Ideally we'd be able to separate out the aspects of a Resource which merely
 assert what *should* be the case (ensure = present etc.) from those bits 
 which
 would then change the state of the resource if it deviates.

 For the sake of discussion I'll call that former kind of declaration an 
 Assertion.

[...]

 Possibly this doesn't fit all the use-cases which run into cross-module
 dependency problems, but might significantly reduce the need to create the
 dependencies in the first place.


I could see implementing a version of your Assertion idea as a check-
only Constraint, but I don't think there is yet an infrastructure to
support that part.  However, I don't see at all how the Assertion idea
fits into the cross-module dependency picture.  Perhaps this is
because I don't see the purpose of declaring resources that you do not
intend to manage.

When I consider cross-module dependencies, I think the usual case is
that a module *does* want ensure that particular resource properties
are managed, but it may not care about other properties, and it cares
about who owns Resources only insofar as someone has to own them and
it affects who can manage them.  I can imagine wanting to _assert_
Resource properties only as a workaround for not being able actually
to manage them.  Are there other reasons to want such a thing?


 Anyway, I need to get back to work, I'll try to say more in a later email.


That would help me to determine what I think about the idea.  As it
is, I suspect I don't quite understand what you are hoping to
accomplish with it.


John

-- 
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] [Dashboard] Debian squeeze rack 1.4.1

2012-01-27 Thread Michael Stahnke
On Fri, Jan 27, 2012 at 7:49 AM, Antidot SAS antidot...@gmail.com wrote:
 Hi everyone,


 I am trying to setup puppet-dashboard when trying to use the rake
 RAILS_ENV=production db:migrate I have the following error:
 # rake RAILS_ENV=production db:migrate
 NOTE: Gem.source_index is deprecated, use Specification. It will be removed
 on or after 2011-11-01.
 Gem.source_index called from
 /usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21.
 NOTE: Gem::SourceIndex#initialize is deprecated with no replacement. It will
 be removed on or after 2011-11-01.
 Gem::SourceIndex#initialize called from
 /usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec.
 It will be removed on or after 2011-11-01.
 Gem::SourceIndex#add_spec called from
 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:91.
 rake aborted!
 Could not find rack (~ 1.1.0) amongst [actionmailer-3.2.0,
 actionpack-3.2.0, activemodel-3.0.10, activerecord-3.0.10,
 activeresource-3.2.0, activesupport-3.0.10, arel-3.0.0, arel-2.0.10,
 builder-3.0.0, builder-2.1.2, bundler-1.0.21, daemon_controller-0.2.6,
 erubis-2.7.0, facter-1.6.5, facter-1.6.4, 

Re: [Puppet Users] yum.puppetlabs.com and downloads.puppetlabs.com unreachable

2012-01-27 Thread Michael Stahnke
On Fri, Jan 27, 2012 at 2:59 AM, Erwin erwin.boga...@gmail.com wrote:
 Since several weeks, both yum.puppetlabs.com and
 downloads.puppetlabs.com are unreachable from some connections. This
 is showing every time I check for updates in the repository.

 It seems that there is a problem in routing. See:
 traceroute to yum.puppetlabs.com (96.126.116.126), 30 hops max, 40
 byte packets
 1 …
 2 …
 3  vlan130.newxr2.nik-asd.internl.net (217.149.196.89)  2.124 ms
 2.251 ms  2.709 ms
  4  vlan51.newxr1.nik-asd.internl.net (217.149.207.201)  2.963 ms
 2.886 ms  2.932 ms
  5  bbr01.eq01.ams01.networklayer.com (195.69.146.82)  2.848 ms  2.865
 ms  3.155 ms
  6  ae7.bbr02.eq01.ams02.networklayer.com (50.97.18.213)  3.447 ms
 3.368 ms  3.415 ms
  7  ae0.bbr02.tg01.lon01.networklayer.com (50.97.18.210)  16.768 ms
 11.892 ms  11.778 ms
  8  ae7.bbr01.tg01.lon01.networklayer.com (50.97.18.206)  38.213 ms
 38.338 ms  35.312 ms
  9  ae1.bbr02.tl01.nyc01.networklayer.com (50.97.18.204)  74.553 ms
 75.003 ms  74.937 ms
 10  ae1.bbr01.eq01.chi01.networklayer.com (173.192.18.132)  96.712 ms
 96.987 ms  97.576 ms
 11  ae20.bbr01.eq01.dal03.networklayer.com (173.192.18.136)  115.286
 ms  114.407 ms  114.534 ms
 12  po31.dsr02.dllstx3.networklayer.com (173.192.18.227)  144.169 ms
 140.364 ms  140.263 ms
 13  * * *
 14  po2.car01.dllstx2.networklayer.com (70.87.254.78)  115.204 ms
 114.533 ms  114.426 ms
 15  5a.7.1243.static.theplanet.com (67.18.7.90)  114.740 ms  116.290
 ms  116.175 ms
 16  * * *
 17  * * *
 18  * * *
 19  * * *
 20 etc…

 When I traceroute to puppetlabs.com, all is well:
 traceroute to puppetlabs.com (96.126.112.51), 30 hops max, 40 byte
 packets
 1 …
 2 …
 3  vlan130.newxr2.nik-asd.internl.net (217.149.196.89)  2.551 ms
 2.659 ms  2.095 ms
  4  vlan51.newxr1.nik-asd.internl.net (217.149.207.201)  1.338 ms
 2.002 ms  1.878 ms
  5  bbr01.eq01.ams01.networklayer.com (195.69.146.82)  43.903 ms
 44.072 ms  43.848 ms
  6  ae7.bbr02.eq01.ams02.networklayer.com (50.97.18.213)  1.521 ms
 1.859 ms  1.598 ms
  7  ae0.bbr02.tg01.lon01.networklayer.com (50.97.18.210)  7.397 ms
 7.434 ms  7.423 ms
  8  ae7.bbr01.tg01.lon01.networklayer.com (50.97.18.206)  8.290 ms
 8.152 ms  8.367 ms
  9  ae1.bbr02.tl01.nyc01.networklayer.com (50.97.18.204)  75.874 ms
 75.963 ms  76.013 ms
 10  * * *
 11  ae20.bbr01.eq01.dal03.networklayer.com (173.192.18.136)  119.603
 ms  121.916 ms  121.599 ms
 12  po31.dsr01.dllstx3.networklayer.com (173.192.18.225)  121.406 ms
 120.453 ms  120.361 ms
 13  te3-2.dsr01.dllstx2.networklayer.com (70.87.253.130)  120.158 ms
 118.674 ms  118.645 ms
 14  po1.car01.dllstx2.networklayer.com (70.87.254.74)  118.616 ms
 118.558 ms  118.822 ms
 15  5a.7.1243.static.theplanet.com (67.18.7.90)  122.036 ms  119.985
 ms  119.083 ms

 From some other connections I can reach yum,puppetlabs.com without a
 problem.

 Anyone else seeing this as well?
 Is there a solution?

Are you able to do:

http://www.downforeveryoneorjustme.com/downloads.puppetlabs.com

and

http://www.downforeveryoneorjustme.com/yum.puppetlabs.com

We have had no reports of users being unable to access our software.
Are you still seeing these issues?


Mike



 --
 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.


-- 
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] Puppet agents stop reporting after master runs out of disk space...

2012-01-27 Thread Denmat
Hi,
Puppet's sister project, MCollective would do it. An alternative would be 
something like Rundeck.

Den

On 28/01/2012, at 3:52, Kyle Mallory kyle.mall...@utah.edu wrote:

 I am experiencing a curious event, and wondering if others have seen this... 
 As well, I have a question related to it.
 
 Today, I noticed my puppet summary report from Foreman this morning, that 60 
 of my 160 hosts all stopped reporting at nearly the exact same time, and have 
 not since restarted.  Investigating, it appears that my puppetmaster 
 temporarily ran out of disk space on the /var volume, probably in part do to 
 logging.  I have log rollers running, which eventually freed up some disk 
 space, but the 60 hosts, have not resumed reporting.
 
 If I dig into the logs on one of the failing agents, there are no messages 
 from puppet, past 4am (here is a snippet of my logs):
 
 Jan 27 02:44:25 kmallory3 puppet-agent[15340]: Using cached catalog
 Jan 27 02:44:25 kmallory3 puppet-agent[15340]: Could not retrieve catalog; 
 skipping run
 Jan 27 03:14:30 kmallory3 puppet-agent[15340]: Could not retrieve catalog 
 from remote server: Error 400 on SERVER: No space left on device - 
 /var/lib/puppet/yaml/facts/kmallory3.xxx.xxx.xxx.yaml
 Jan 27 03:14:30 kmallory3 puppet-agent[15340]: Using cached catalog
 Jan 27 03:14:30 kmallory3 puppet-agent[15340]: Could not retrieve catalog; 
 skipping run
 Jan 27 03:47:30 kmallory3 puppet-agent[15340]: Could not retrieve plugin: 
 execution expired
 Jan 27 04:01:02 kmallory3 puppet-agent[15340]: Could not retrieve catalog 
 from remote server: execution expired
 Jan 27 04:01:02 kmallory3 puppet-agent[15340]: Using cached catalog
 Jan 27 04:01:02 kmallory3 puppet-agent[15340]: Could not retrieve catalog; 
 skipping run
 
 Forcing a run of puppet, I get the following message:
 
 kmallory3:/var/log# puppetd --onetime --test
 notice: Ignoring --listen on onetime run
 notice: Run of Puppet configuration client already in progress; skipping
 
 After stopping and restarting the puppet service, the agent started running 
 properly.  It appears that the failure from the server has caused the agent 
 to hang, from which it was not able to recover gracefully.  Has anyone 
 experienced this before?  We are running 2.6.1 on the large majority of our 
 hosts, including this one.  Many failed, but 2/3rds keep running properly.
 
 Now, on to my question.. Anyone got some bright ideas for how I could force 
 Puppet to restart itself on a 60 machines, when Puppet isn't running??  I'm 
 not really excited by the prospect of logging into 60 machines, and running a 
 sudo command...  sigh.
 
 
 --Kyle
 
 -- 
 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.
 

-- 
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] Can't use ${path} in file resource as its namevar?

2012-01-27 Thread jblaine
Thread back from the dead 5 months later :)

Nan, using your code example, I get this with PE 2.0.1:

err: Could not retrieve catalog from remote server: Error 400 on
SERVER: Could not match ${ldapclient::params::fileroot}/${name},
at /etc/puppetlabs/puppet/modules/ldapclient/manifests/config.pp:3
on node rcf-cm-master.our.org 

define ldapclient::conf ($mode, $notify = false) { 
file { $name: 
source = ${ldapclient::params::fileroot}/${name}, 
owner = $ldapclient::params::ldapclient_user, 
mode = $mode, 
if $notify { 
notify = Class['ldapclient::service'], 
} 
require = Class['ldapclient::install'], 
} 
} 

class ldapclient::config { 
case $sys_sshortai { 
'RH5': { 
ldapclient::conf { '/etc/openldap/ldap.conf': mode = '444' } 
ldapclient::conf { '/etc/ldap.conf': mode = '444' } 
} 
'RH6': { 
ldapclient::conf { '/etc/openldap/ldap.conf': mode = '444' } 
ldapclient::conf { '/etc/nslcd.conf': mode = '444', notify = 
true } 
} 
} 
} 

-- 
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/-/_E4djfGmFHEJ.
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] Re: Compiled catalog arount 70s

2012-01-27 Thread jcbollinger


On Jan 27, 11:10 am, Antidot SAS antidot...@gmail.com wrote:
 Here are the info you wanted:
 OS: Debian squeeze
 Puppet: installed from gem version 2.7.9
 As I sayed the hardware is an old Poweredge SC1425 with 4 Xeon 2,8 Ghz with
 2 Go of Memory

 Apparently the code is preety ugly since the compiled time is big, I have
 just share the code:https://github.com/jmauro/puppet-user


The code is pretty, but very complicated, especially for the
relatively simple job it seems to be trying to do.  Clearly that code
is not your first cut at this, so did older versions exhibit the same
poor compile times?  If you go back through your revision history,
perhaps you can find the change that made compile times spike.

Also, Brice's suggestion to check for swapping is a good one,
especially because Puppet sometimes uses a lot of memory.  Although
your hardware is a bit old, it should be up to this task so long as it
hasn't too many competing demands on it.

Since your catalog eventually does compile, it might be useful to look
at the result, available in YAML form.  You might discover that it is
a lot more complicated than you thought, and that would yield clues to
what needs to be cut back.

If all else fails, try disabling as much of the code as possible, then
watch compilation times as you re-enable it bit by bit.  I suspect
that you will find some particular part that consumes the lion's share
of the compilation time.


John

-- 
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] Re: Can't use ${path} in file resource as its namevar?

2012-01-27 Thread jcbollinger


On Jan 27, 4:34 pm, jblaine cjbla...@gmail.com wrote:
 Thread back from the dead 5 months later :)

 Nan, using your code example, I get this with PE 2.0.1:

 err: Could not retrieve catalog from remote server: Error 400 on
 SERVER: Could not match ${ldapclient::params::fileroot}/${name},
 at /etc/puppetlabs/puppet/modules/ldapclient/manifests/config.pp:3
 on node rcf-cm-master.our.org

 define ldapclient::conf ($mode, $notify = false) {
     file { $name:
         source = ${ldapclient::params::fileroot}/${name},
         owner = $ldapclient::params::ldapclient_user,
         mode = $mode,
         if $notify {
             notify = Class['ldapclient::service'],
         }
         require = Class['ldapclient::install'],
     }

 }

 class ldapclient::config {
     case $sys_sshortai {
         'RH5': {
             ldapclient::conf { '/etc/openldap/ldap.conf': mode = '444' }
             ldapclient::conf { '/etc/ldap.conf': mode = '444' }
         }
         'RH6': {
             ldapclient::conf { '/etc/openldap/ldap.conf': mode = '444' }
             ldapclient::conf { '/etc/nslcd.conf': mode = '444', notify =
 true }
         }
     }

 }

Your code looks buggy:
1) you cannot use 'if' statements inside resource defnitions
2) you write notify = true where you want notify = true

There are a couple of ways to address the former problem, among them
replacing the 'if' block with a selector.  Also, I consider it a
matter of good form to use quotes around strings and to bracket
variable references, so I'd write the definition like this:

define ldapclient::conf ($mode, $notify = false) {
file { ${name}:
source = ${ldapclient::params::fileroot}/${name},
owner = ${ldapclient::params::ldapclient_user},
mode = ${mode},
notify = $notify ? { true = Class['ldapclient::service'],
default = undef },
require = Class['ldapclient::install'],
}
}


John

-- 
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] Re: Can't use ${path} in file resource as its namevar?

2012-01-27 Thread jblaine
John, I've no doubt the code is trash.  I'm struggling through what I
consider to be an extremely obtuse declarative language.  Thank
you for the advice.

-- 
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/-/tEnFCtSCXGwJ.
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] Can't use ${path} in file resource as its namevar?

2012-01-27 Thread Nan Liu
I think you are missing double quotes around:
${ldapclient::params::fileroot}/${name}

Sent from my iPhone

On Jan 27, 2012, at 17:35, jblaine cjbla...@gmail.com wrote:

Thread back from the dead 5 months later :)

Nan, using your code example, I get this with PE 2.0.1:

err: Could not retrieve catalog from remote server: Error 400 on
SERVER: Could not match ${ldapclient::params::fileroot}/${name},
at /etc/puppetlabs/puppet/modules/ldapclient/manifests/config.pp:3
on node rcf-cm-master.our.org

define ldapclient::conf ($mode, $notify = false) {
file { $name:
source = ${ldapclient::params::fileroot}/${name},
owner = $ldapclient::params::ldapclient_user,
mode = $mode,
if $notify {
notify = Class['ldapclient::service'],
}
require = Class['ldapclient::install'],
}
}

class ldapclient::config {
case $sys_sshortai {
'RH5': {
ldapclient::conf { '/etc/openldap/ldap.conf': mode = '444' }
ldapclient::conf { '/etc/ldap.conf': mode = '444' }
}
'RH6': {
ldapclient::conf { '/etc/openldap/ldap.conf': mode = '444' }
ldapclient::conf { '/etc/nslcd.conf': mode = '444', notify =
true }
}
}
}

-- 
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/-/_E4djfGmFHEJ.
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.

-- 
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] Can't use ${path} in file resource as its namevar?

2012-01-27 Thread jblaine
Indeed.

Trashing the entire defined resource idea 30 mins ago, and
simply trying:

class ldapclient::config { 
case $sys_sshortai { 
'RH6': { 
file { '/etc/openldap/ldap.conf': 
mode = '444', 
source = ${ldapclient::params::fileroot}/${name}, 
owner  = $ldapclient::params::ldapclient_user, 
require = Class['ldapclient::install'], 
} 
file { '/etc/nslcd.conf': 
mode = '444', 
source = ${ldapclient::params::fileroot}/${name}, 
owner  = $ldapclient::params::ldapclient_user, 
require = Class['ldapclient::install'], 
notify = Class['ldapclient::service'], 
} 
} 
} 
} 

is giving me:

err: /Stage[main]/Ldapclient::Config/File[/etc/nslcd.conf]: Could not 
evaluate: Could not retrieve information from environment production 
source(s) puppet:///modules/ldapclient/files/RH6/ldapclient::config at 
/etc/puppetlabs/puppet/modules/ldapclient/manifests/config.pp:30 
err: /Stage[main]/Ldapclient::Config/File[/etc/openldap/ldap.conf]: Could 
not evaluate: Could not retrieve information from environment production 
source(s) puppet:///modules/ldapclient/files/RH6/ldapclient::config at 
/etc/puppetlabs/puppet/modules/ldapclient/manifests/config.pp:23 

This is maddening.  What do those errors even mean?  So vague :(

-- 
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/-/ZwWSDMnrqesJ.
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] Help need for resolving the error while bootstrapping a new instance with my puppet master on EC2 instance.

2012-01-27 Thread Ravi
At first, I fired the command:

puppet node_aws bootstrap --image ami-0166b168 --keyname Test_Server --
type t1.micro --group default --login root --keyfile /aws_key_pair/
Test_Server.pem
I got the error as:
notice: Creating new instance ...
notice: Creating new instance ... Done
notice: Creating tags for instance ...
notice: Creating tags for instance ... Done
notice: Launching server i-794db51c ...
##
notice: Server i-794db51c is now launched
notice: Server i-794db51c public dns name:
ec2-174-129-96-47.compute-1.amazonaws.com
notice: Waiting for SSH response ...
notice: Waiting for SSH response ... Done
notice: Installing Puppet ...
notice: Puppet is now installed on:
ec2-174-129-96-47.compute-1.amazonaws.com
notice: No classification method selected
notice: Signing certificate ...
err: Signing certificate ... Failed
err: Signing certificate error: Could not render to pson: getaddrinfo:
Name or service not known
err: exit
err: Try 'puppet help node_aws bootstrap' for usage




Then again I tried, with the command:

puppet node_aws bootstrap --image ami-0166b168 --keyname Test_Server --
type t1.micro --group default --login root --keyfile /aws_key_pair/
Test_Server.pem --mode agent --pe-version 2.0.
But it was of no help, this time the error was:

notice: Creating new instance ...
notice: Creating new instance ... Done
notice: Creating tags for instance ...
notice: Creating tags for instance ... Done
notice: Launching server i-e1b84384 ...
###
notice: Server i-e1b84384 is now launched
notice: Server i-e1b84384 public dns name:
ec2-174-129-103-118.compute-1.amazonaws.com
notice: Waiting for SSH response ...
notice: Waiting for SSH response ... Done
notice: Installing Puppet ...
notice: Puppet is now installed on:
ec2-174-129-103-118.compute-1.amazonaws.com
notice: No classification method selected
notice: Signing certificate ...
err: Signing certificate ... Failed
err: Signing certificate error: Could not render to pson: private
method `gsub' called for nil:NilClass
err: exit
err: Try 'puppet help node_aws bootstrap' for usage
[root@domU-12-31-39-0A-42-86 ~]# puppet cert --list
[root@domU-12-31-39-0A-42-86 ~]#

As you can see above, there is no pending certificate request pending
with the master, and the node was created with puppet installed on it,
but the certificate generation and signing is getting me this error.


But then, I tried to manually connect to my master from the instance
created above, i.e. After adding necessary dns entries in /etc/hosts
file on both the machine’s files, I went to my agent machine  fired
the command :

puppet agent --server=domU-12-31-39-0A-42-86.compute-1.internal --no-
daemonize –verbose

This successfully generated a certificate which I had to manually sign
at the master, as follows:

puppet cert --sign ec2-174-129-103-118.compute-1.amazonaws.com-
e6d576ee-45a7-a0fe-2b80-8691d66adfd6
notice: Signed certificate request for
ec2-174-129-103-118.compute-1.amazonaws.com-e6d576ee-45a7-
a0fe-2b80-8691d66adfd6
notice: Removing file Puppet::SSL::CertificateRequest
ec2-174-129-103-118.compute-1.amazonaws.com-e6d576ee-45a7-
a0fe-2b80-8691d66adfd6 at '/etc/puppetlabs/puppet/ssl/ca/requests/
ec2-174-129-103-118.compute-1.amazonaws.com-e6d576ee-45a7-
a0fe-2b80-8691d66adfd6.pem'



After that, I tried using:
[root@domU-12-31-39-0C-70-80 /]# puppet node_aws bootstrap --image
ami-0166b168 --keyname Test_Server --type t1.micro --group default --
login root --keyfile /aws_key_pair/Test_Server.pem --node-group
default --enc-server ec2-184-73-127-22.compute-1.amazonaws.com --enc-
port 443 --enc-ssl --enc-auth-user console --enc-auth-passwd puppet
notice: Creating new instance ...
notice: Creating new instance ... Done
notice: Creating tags for instance ...
notice: Creating tags for instance ... Done
notice: Launching server i-0f649f6a ...
###
notice: Server i-0f649f6a is now launched
notice: Server i-0f649f6a public dns name:
ec2-50-19-37-19.compute-1.amazonaws.com
notice: Waiting for SSH response ...
notice: Waiting for SSH response ... Done
notice: Installing Puppet ...
notice: Puppet is now installed on:
ec2-50-19-37-19.compute-1.amazonaws.com
notice: Contacting https://ec2-184-73-127-22.compute-1.amazonaws.com:443/
to classify ec2-50-19-37-19.compute-1.amazonaws.com-
b6d8b475-5693-2f67-844c-72c8647c9f54
notice: Signing certificate ...
err: Signing certificate ... Failed
err: Signing certificate error: Could not render to pson: getaddrinfo:
Name or service not known
err: exit
err: Try 'puppet help node_aws bootstrap' for usage

I am not getting any idea of what this pson is. It is common in all my
errors.

Can anyone help?
Thanks  Regards,
Ravi

-- 
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 

Re: [Puppet Users] finally have puppet/passenger/dashboard working... new problem

2012-01-27 Thread Justin Stoller
I found this bug in Redmine that sounds like it could be your problem.
http://projects.puppetlabs.com/issues/3234

It looks like a long standing issue, but that Nick L is possibly on to a
solution. Could you review the ticket to see if this is what is affecting
you and if so post your newest info in to help the Open Source team
prioritize it?

If this isn't what's affecting you please open a new ticket with your
information.

And of course if the work arounds in the ticket work for you, please let
the list know  ; )

On Fri, Jan 27, 2012 at 9:16 AM, Peter Berghold salty.cowd...@gmail.comwrote:

 What the heck does this mean?

 err: Could not retrieve catalog from remote server: Error 400 on SERVER:
 undefined method `fact_merge' for nil:NilClass
 warning: Not using cache on failed catalog
 err: Could not retrieve catalog; skipping run

 Only seems to be happening on one host in particular...


 --
 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.


-- 
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] Can't use ${path} in file resource as its namevar?

2012-01-27 Thread Denmat
The errors are good at locating the source of your issues:
err: /Stage[main]/Ldapclient::Config/File[/etc/nslcd.conf]: Could not evaluate: 
Could not retrieve information from environment production source(s) 
puppet:///modules/ldapclient/files/RH6/ldapclient::config at 
/etc/puppetlabs/puppet/modules/ldapclient/manifests/config.pp:30 


Line 30 of your config.pp is where your problem lies (one of them anyway). It 
can't find the source file.

  file { '/etc/nslcd.conf': 
  mode = '444', 
  source = ${ldapclient::params::fileroot}/${name}, 
  owner  = $ldapclient::params::ldapclient_user, 
  require = Class['ldapclient::install'], 
  notify = Class['ldapclient::service'],
  } 

So it is interpreting this:
${ldapclient::params::fileroot}/${name}, 

As:
puppet:///modules/ldapclient/files/RH6/ldapclient::config 

The following will give detail about fileserving, but $name is probably not 
resolving to what you think it should:
http://docs.puppetlabs.com/guides/file_serving.html

How are you declaring this in your manliest.  What do you think $name should 
be? Try putting in the source path without the variable substitution.

Den


On 28/01/2012, at 10:17, jblaine cjbla...@gmail.com wrote:

 puppet:///modules/ldapclient/files/RH6/ldapclient::config at 
 /etc/puppetlabs/puppet/modules/ldapclient/manifests/config.pp:30

-- 
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] Can't use ${path} in file resource as its namevar?

2012-01-27 Thread Gary Larizza
On Fri, Jan 27, 2012 at 3:17 PM, jblaine cjbla...@gmail.com wrote:

 Indeed.

 Trashing the entire defined resource idea 30 mins ago, and
 simply trying:

 class ldapclient::config {
 case $sys_sshortai {
 'RH6': {
 file { '/etc/openldap/ldap.conf':
 mode = '444',
 source = ${ldapclient::params::fileroot}/${name},
 owner  = $ldapclient::params::ldapclient_user,
 require = Class['ldapclient::install'],
 }
 file { '/etc/nslcd.conf':
 mode = '444',
 source = ${ldapclient::params::fileroot}/${name},
 owner  = $ldapclient::params::ldapclient_user,
 require = Class['ldapclient::install'],
 notify = Class['ldapclient::service'],
 }
 }
 }
 }

 is giving me:

 err: /Stage[main]/Ldapclient::Config/File[/etc/nslcd.conf]: Could not
 evaluate: Could not retrieve information from environment production
 source(s) puppet:///modules/ldapclient/files/RH6/ldapclient::config at
 /etc/puppetlabs/puppet/modules/ldapclient/manifests/config.pp:30
 err: /Stage[main]/Ldapclient::Config/File[/etc/openldap/ldap.conf]: Could
 not evaluate: Could not retrieve information from environment production
 source(s) puppet:///modules/ldapclient/files/RH6/ldapclient::config at
 /etc/puppetlabs/puppet/modules/ldapclient/manifests/config.pp:23


In the link Den provided, you'll want to check the puppet:/// syntax.  You
don't want to include the 'files' directory in the puppet:/// reference.
 You'll want to use puppet:///modules/ldapclient/RH6/config_file for a file
located in  $modulepath/ldapclient/files/RH6/config_file.  By default,
using puppet:///, it looks to the files directory, so you don't need to
pass it.



 This is maddening.  What do those errors even mean?  So vague :(

 --
 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/-/ZwWSDMnrqesJ.

 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.




-- 

Gary Larizza
Professional Services Engineer
Puppet Labs

-- 
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] Can't use ${path} in file resource as its namevar?

2012-01-27 Thread jblaine
Den and Gary, thanks for the replies.

I am trying to re-use the title (as I understand it). Can I not do that?
Do I have to type the name of the file as the title and also at the
end of my source = ${ldapclient::params::fileroot}/..., ?

Gary, I've removed '/files' as part of ${ldapclient::params::fileroot}

Setting the source to the explicit filename (typing it again) works,
but seems silly to me.

-- 
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/-/UHLy-Jk_I9YJ.
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.