[Puppet Users] Re: File resource type: critical chmod security issue

2009-07-28 Thread Bryan Ross

2009/7/28 Judd juddmal...@gmail.com:

 In any case it's VERY misleading to have an explicit command
 completely ignored by an unstated policy.


Personally, I'm not too worried about the security aspects of this,
but I would certainly expect Puppet to do what its told.  If I fluff
my permissions, more fool me.  However if I do, for whatever reason,
want a particular mode then Puppet should respect that.

With the current operation, there's very little flexibility.  If we
add a 'dirmode' or something similar, as suggested by Luke in Bug
#2451, then Puppet can handle both cases.  This seems like a no
brainer to me?

Cheers,
Bryan

--~--~-~--~~~---~--~~
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: File resource type: critical chmod security issue

2009-07-28 Thread Peter Meier

Hi

 On a slight tangent, how about having 755 on a directory but (for
 example) having 700 or 600 recursively on all the managed directories
 and files underneath it (and maybe different ownership as well).  There
 are valid reasons for wanting to do this but the last time I tried it, I
 found it impossible with puppet.   Maybe I should look again to see what
 I missed.

it is possible, but not that directly in one statement:

file{
   '/a':
 ensure = directory,
 mode = 0755;
   [ '/a/b', '/a/c' ]:
 ensure = directory,
 recurse = true
 owner = user1, mode = 0600;
   [ '/a/d', '/a/e' ]:
 ensure = directory,
 recurse = true,
 owner = user2, mode = 0600;
}

and this is exactly the case where this automatic x-bit is really  
nice. Do you envision any easier/more direct way to do it?

For sure you have to manage the content of each subdirectory  
separately as they're managed on their own. But every other behavior  
would simply lead to a too big headache.

cheers pete

--~--~-~--~~~---~--~~
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: File resource type: critical chmod security issue

2009-07-28 Thread Bruce Richardson

On Tue, Jul 28, 2009 at 10:27:57AM +0200, Peter Meier wrote:
 For sure you have to manage the content of each subdirectory separately 
 as they're managed on their own.

I'm sorry, but that fails as far as I'm concerned.  I shouldn't be
having to specify common behaviour multiple times.

-- 
Bruce

Those who cast the votes decide nothing.  Those who count the
votes decide everything. -- Joseph Stalin

--~--~-~--~~~---~--~~
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: File resource type: critical chmod security issue

2009-07-28 Thread James Turnbull
Trevor Vaughan wrote:
 Personally, I don't see the default behavior as a security flaw.
 
 Perhaps, I'm missing somethingJames?

I tend to agree that the current behaviour meets 99% of the functional
requirements but I do understand where the original poster is coming from.

Like Luke, I don't see why an additional attribute can't be added but I
don't see it as a critical security issue.  Not to say it should not be
developed but IMHO I see the risk of a compromise through this as low
and hence feel there is a low ROI in fixing it.  If someone wants to
pony up some code and tests...

Regards

James Turnbull

-- 
Author of:
* Pro Linux Systems Administration
(http://tinyurl.com/linuxadmin)
* Pulling Strings with Puppet
(http://tinyurl.com/pupbook)
* Pro Nagios 2.0
(http://tinyurl.com/pronagios)
* Hardening Linux
(http://tinyurl.com/hardeninglinux)



signature.asc
Description: OpenPGP digital signature


[Puppet Users] Re: File resource type: critical chmod security issue

2009-07-28 Thread Peter Meier

Hi

 For sure you have to manage the content of each subdirectory separately
 as they're managed on their own.

 I'm sorry, but that fails as far as I'm concerned.  I shouldn't be
 having to specify common behaviour multiple times.

well either your managing a resource or you're not. Something between  
will just lead to too many problems and conflicts. or which easier way  
do you envision without having these problems?

cheers pete


--~--~-~--~~~---~--~~
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: File resource type: critical chmod security issue

2009-07-28 Thread Bruce Richardson

On Tue, Jul 28, 2009 at 10:47:07AM +0200, Peter Meier wrote:
 
 Hi
 
  For sure you have to manage the content of each subdirectory separately
  as they're managed on their own.
 
  I'm sorry, but that fails as far as I'm concerned.  I shouldn't be
  having to specify common behaviour multiple times.
 
 well either your managing a resource or you're not. Something between  
 will just lead to too many problems and conflicts. or which easier way  
 do you envision without having these problems?
 
OK, maybe I didn't express it clearly enough.  Puppet won't let me
specify one behaviour for /a and another for /a/**.  As I said, there
are valid reasons for wanting that.
-- 
Bruce

A problem shared brings the consolation that someone else is now
feeling as miserable as you.

--~--~-~--~~~---~--~~
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: Custom fact errors

2009-07-28 Thread Paul Nasrat

 A worthwhile exercise anyways, I guess the embarrassment of a stupid
 question is what I get for diving in without fully understanding
 Facter!  I remain confused about the error message (non-sh
 interpreters sounds to me like it's complaining about the first line,
 so I tried all manner of /usr/bin/ruby, /usr/bin/env ruby, simply
 commenting with the name as in the example, etc).

Can you file a Facter issue to improve the error reporting on this and
I'll try fix that up (and the documentation).

Paul

--~--~-~--~~~---~--~~
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: File resource type: critical chmod security issue

2009-07-28 Thread Trevor Vaughan

After all the Regex magic that has just ensued on the Dev list, this
should be pretty easy :-) (magic, I say!).

Having a regex match on the File type would actually be useful in a
lot of cases.  *But* it needs to be able to be sped up.

Something like forking to the native tools to do the match and perms
might work, but at least something that gets rid of the 'recursive
directory management nightmare' where you checksum and/or record
millions of files just because you wanted to only change the
permissions.

In any case, you could then do thing like:

foo/ - 755
foo/*.conf - 640
foo/*.user - 644

But, I could see ordering becoming quite important in this case.

Extremely low priority even if people do decide that it is a good idea.

Trevor

On Tue, Jul 28, 2009 at 05:47, Peter Meierpeter.me...@immerda.ch wrote:

 Hi

 OK, maybe I didn't express it clearly enough.  Puppet won't let me
 specify one behaviour for /a and another for /a/**.  As I said, there
 are valid reasons for wanting that.

 I understood it that way and I also understand the reasons. My problem
 is to see a valid way to describe that within the (existing or future)
 puppet language, as well to fit it into the resource model, which
 puppet is committed to.

 so something like?

 file{
   '/a:
     mode = 0755;
   /a/**:
     mode = 0600;
 }

 but I'm not sure whether this wildcard resource is a good idea.

 cheers pete

 


--~--~-~--~~~---~--~~
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 vs cron vs x86_64

2009-07-28 Thread Alexey Wasilyev

I have following trouble on x86_64 machines.
On i686 machines all ok.

[awasil...@hyperic ~]$ sudo puppetd -t
err: Could not create puppet: Could not find a default provider for cron
warning: Not using cache on failed catalog
warning: Configuration could not be instantiated: Could not find a default
provider for cron

[awasil...@hyperic ~]$ ls /usr/lib/ruby/site_ruby/1.8/puppet/provider/cron
crontab.rb

[awasil...@hyperic ~]$ rpm -q puppet
puppet-0.24.8-1.fc10.noarch

[awasil...@hyperic ~]$ uname -a
Linux hyperic. 2.6.27.21-170.2.56.fc10.x86_64 #1 SMP Mon Mar 23
23:08:10 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

Alexey Wasilyev
Systems Administrator
Grid Dynamics





--~--~-~--~~~---~--~~
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] storeconfigs storms?

2009-07-28 Thread Mark Plaksin

Howdy:

Does anybody else see in storeconfigs spikes *after* you've been up and
running with storeconfigs for a while?  Twice in the past month our
puppetmaster has been slammed by storeconfigs activity.  We're running
25b2 but not (yet) puppetqd.

Our mysql questions, com_select and com_insert stats spike first.
com_select and com_update are normally at around 5 and spike to 40;
questions is normally around 150 and spikes to 600.  Threads connected
goes from around 15 to 30.  After that it looks like everything queues
up behind MySQL and we start getting timeouts on our ~450 clients.

The storm lasts less than an hour.

Of course nothing special is going on with our clients (that we know
of!) when the storm hits.  I *think* but am not positive that our first
storm happened while we were running mod_proxy + Mongrel.  Our second
happened with Passenger.


--~--~-~--~~~---~--~~
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: storeconfigs storms?

2009-07-28 Thread Brice Figureau

On Tue, 2009-07-28 at 08:50 -0400, Mark Plaksin wrote:
 Howdy:
 
 Does anybody else see in storeconfigs spikes *after* you've been up and
 running with storeconfigs for a while?  Twice in the past month our
 puppetmaster has been slammed by storeconfigs activity.  We're running
 25b2 but not (yet) puppetqd.
 
 Our mysql questions, com_select and com_insert stats spike first.
 com_select and com_update are normally at around 5 and spike to 40;
 questions is normally around 150 and spikes to 600.  Threads connected
 goes from around 15 to 30.  After that it looks like everything queues
 up behind MySQL and we start getting timeouts on our ~450 clients.
 
 The storm lasts less than an hour.
 
 Of course nothing special is going on with our clients (that we know
 of!) when the storm hits.  I *think* but am not positive that our first
 storm happened while we were running mod_proxy + Mongrel.  Our second
 happened with Passenger.

The only reason for a storeconfig storm is that Puppet deletes all the
resources/tags belonging to a particular host and then recreates them,
so you see a lots of Inserts.

Now the real question is why Puppet thinks there is such discrepencies
between the database and the live compilation. 

Are you sure you're not removing hosts from the database?

What would be interesting is to activate the mysql general query log
(warning it will increase your load), and dig in the large log around
the timeframe you see the storm (you can also activate the rails log for
the same effect). 
Or I remember reading that maatkit now contains a query log extractor
from tcpdump captures files; it is worth capturing the traffic between
Puppet and mysql and analyze the queries performed. Maybe you'll find
the issue.

Good luck :-)
-- 
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] sequential change implementation

2009-07-28 Thread mmalamud

How do I prevent the following:

I have several web servers behind the load balancer, how do I make
sure that when something changes and web servers need to be restarted
that they are not all restarted at the same time but rather one by
one. Is there a way to configure sequential push of some kind?

--~--~-~--~~~---~--~~
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: Custom fact errors

2009-07-28 Thread scott



On Jul 28, 5:22 am, Paul Nasrat pnas...@googlemail.com wrote:

 Can you file a Facter issue to improve the error reporting on this and
 I'll try fix that up (and the documentation).

 Paul


Done, it's filed as Facter issue 2455 (http://
projects.reductivelabs.com/issues/2455).

Thanks!


--~--~-~--~~~---~--~~
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] Cry for Augeas grub.conf help!

2009-07-28 Thread Trevor Vaughan

All,

I'm trying to figure out the best way to use augeas to manage grub.conf.

The issue is that I want users to be able to do whatever they like but:

1) The active, running, kernel should be the default *fallback*
2) I need to be able to set the 'default' to the last entry added

I've tried something like:

set default /files/etc/grub.conf/count(title)

But, I'm obviously missing something.

Any hints?

Thanks,

Trevor

--~--~-~--~~~---~--~~
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 vs cron vs x86_64

2009-07-28 Thread Joe McDonagh

Alexey Wasilyev wrote:
 I have following trouble on x86_64 machines.
 On i686 machines all ok.

 [awasil...@hyperic ~]$ sudo puppetd -t
 err: Could not create puppet: Could not find a default provider for cron
 warning: Not using cache on failed catalog
 warning: Configuration could not be instantiated: Could not find a default
 provider for cron

 [awasil...@hyperic ~]$ ls /usr/lib/ruby/site_ruby/1.8/puppet/provider/cron
 crontab.rb

 [awasil...@hyperic ~]$ rpm -q puppet
 puppet-0.24.8-1.fc10.noarch

 [awasil...@hyperic ~]$ uname -a
 Linux hyperic. 2.6.27.21-170.2.56.fc10.x86_64 #1 SMP Mon Mar 23
 23:08:10 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

 Alexey Wasilyev
 Systems Administrator
 Grid Dynamics





 
   
Is the crontab binary available on your system?

-- 
Joe McDonagh
Operations Engineer
www.colonfail.com


--~--~-~--~~~---~--~~
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] template flapping / classes lost?

2009-07-28 Thread Jason Antman

I was just about to move my first Puppet-built box into production, and
I'm getting a terribly troublesome error. I'm using an external node
classifier and am not using storedconfigs.

We have a more-or-less generic httpd config for all of our boxen -
except this one. I'm generating httpd.conf from a template, so in the
template I have something like:

% if scope.compiler.classlist.include?(edu_rutgers_css_resnet) then -%
# PUPPET: set due to presence of class 'edu_rutgers_css_resnet'
ServerAdmin f...@bar.com
# END PUPPET
% else %
# PUPPET: default value
ServerAdmin r...@localhost
# END PUPPET
% end -%

I also generate /etc/sysconfig/iptables from a template, which includes:

% if scope.compiler.classlist.include?(httpd) then -%
# accept port 80, added by Puppet template with httpd class
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j
ACCEPT
% else -%
# puppet doesn't see the class 'httpd' defined, NOT opening port 80...
% end -%


It seems that Puppet is missing the httpd class. When Puppet runs
every half hour,  flaps between the if and else values for these two
statements, causing it to replace the config files and restart the
associated services. I originally thought that this was happening at
exactly each cycle, but it seems somewhat intermittent:

Jul 28 02:19:56 resnet2 puppetd[24046]:
(//iptables/File[/etc/sysconfig/iptables]/content) content changed
'{md5}654732a5f76e975e1fef1907ce6c5b46' to
'{md5}fffc88c34693d4ee67a22c4190d1e608'
Jul 28 02:19:57 resnet2 puppetd[24046]: (//iptables/Service[iptables])
Triggering 'refresh' from 2 dependencies
Jul 28 04:20:20 resnet2 puppetd[24046]:
(//iptables/File[/etc/sysconfig/iptables]/content) content changed
'{md5}fffc88c34693d4ee67a22c4190d1e608' to
'{md5}654732a5f76e975e1fef1907ce6c5b46'
Jul 28 04:20:20 resnet2 puppetd[24046]: (//iptables/Service[iptables])
Triggering 'refresh' from 2 dependencies
Jul 28 06:50:44 resnet2 puppetd[24046]:
(//iptables/File[/etc/sysconfig/iptables]/content) content changed
'{md5}654732a5f76e975e1fef1907ce6c5b46' to
'{md5}fffc88c34693d4ee67a22c4190d1e608'
Jul 28 06:50:44 resnet2 puppetd[24046]: (//iptables/Service[iptables])
Triggering 'refresh' from 2 dependencies
Jul 28 07:50:56 resnet2 puppetd[24046]:
(//iptables/File[/etc/sysconfig/iptables]/content) content changed
'{md5}fffc88c34693d4ee67a22c4190d1e608' to
'{md5}654732a5f76e975e1fef1907ce6c5b46'
Jul 28 07:50:56 resnet2 puppetd[24046]: (//iptables/Service[iptables])
Triggering 'refresh' from 2 dependencies

Jul 28 04:20:18 resnet2 puppetd[24046]:
(//httpd/File[/etc/httpd/conf/httpd.conf]/content) content changed
'{md5}e20ffe121bc385871c43c1c8d4c83376' to
'{md5}d42e551de04a44d8e9121de93795ad33'
Jul 28 04:20:19 resnet2 puppetd[24046]: (//httpd/Service[httpd])
Triggering 'refresh' from 1 dependencies
Jul 28 06:20:39 resnet2 puppetd[24046]:
(//httpd/File[/etc/httpd/conf/httpd.conf]/content) content changed
'{md5}d42e551de04a44d8e9121de93795ad33' to
'{md5}e20ffe121bc385871c43c1c8d4c83376'
Jul 28 06:20:40 resnet2 puppetd[24046]: (//httpd/Service[httpd])
Triggering 'refresh' from 1 dependencies
Jul 28 06:50:45 resnet2 puppetd[24046]:
(//httpd/File[/etc/httpd/conf/httpd.conf]/content) content changed
'{md5}e20ffe121bc385871c43c1c8d4c83376' to
'{md5}d42e551de04a44d8e9121de93795ad33'
Jul 28 06:50:46 resnet2 puppetd[24046]: (//httpd/Service[httpd])
Triggering 'refresh' from 1 dependencies
Jul 28 07:50:58 resnet2 puppetd[24046]:
(//httpd/File[/etc/httpd/conf/httpd.conf]/content) content changed
'{md5}d42e551de04a44d8e9121de93795ad33' to
'{md5}e20ffe121bc385871c43c1c8d4c83376'
Jul 28 07:50:58 resnet2 puppetd[24046]: (//httpd/Service[httpd])
Triggering 'refresh' from 1 dependencies

Any ideas on why this is happening? I've been running Puppet on a
non-critical network for a month now, with storedconfigs, and no major
problems. It seemed time to move it over to the production boxes (as the
new ones are built) but this seems like a serious issue...

Thanks for any advice,
Jason



--~--~-~--~~~---~--~~
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: Notifying a service when exported resources go away

2009-07-28 Thread Eric Gerlach

On Fri, Jul 24, 2009 at 04:09:22PM -0700, Teyo Tyree wrote:
 On Fri, Jul 24, 2009 at 12:47 PM, Eric Gerlach
 egerl...@feds.uwaterloo.cawrote:
 
 
  Hi,
 
  I'm working with nagios, and if I'm de-configuring a server manually, I'd
  like
  to have the monitoring system not complain about it vanishing.
 
  So, for each host I have:
 
 @@nagios_host { $fqdn:
 use = generic-host,
 address = $fqdn,
 contact_groups = itstaff,
 notify = Service[nagios3]
 }
 
  and then on the Nagios server I have:
 
 resources { nagios_host:
 purge = true,
 notify = Service[nagios3]
 }
 
 Nagios_host | |
 
  If I don't have a notify on the resources entry, the nagios host entries go
  away, but nagios doesn't refresh.  If I have it on the resources entry, it
  makes the service depend on it, and so won't purge:
 
  Service[nagios3] still depends on me -- not purging
 
  Is it possible to accomplish what I'm trying to do?  If so, how?

 Eric the most straight forward mechanism is to purge all the resources
 associated with the host that is being decommissioned.  There is a script to
 do this attached to the wiki page for storedconfigs.
 http://reductivelabs.com/trac/puppet/attachment/wiki/UsingStoredConfiguration/kill_node_in_storedconfigs_db.rb

But if I do this, it still doesn't notify the nagios service, so it will
continue to monitor them (and complain to me that they're gone) until I restart
it.  So though that's a nice way to purge the DB, it doesn't really help my
problem.

Cheers,

-- 
Eric Gerlach, Network Administrator
Federation of Students
University of Waterloo
p: (519) 888-4567 x36329
e: egerl...@feds.uwaterloo.ca

--~--~-~--~~~---~--~~
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: Notifying a service when exported resources go away

2009-07-28 Thread Bruce Richardson

On Tue, Jul 28, 2009 at 11:19:07AM -0400, Eric Gerlach wrote:
 
 But if I do this, it still doesn't notify the nagios service, so it will
 continue to monitor them (and complain to me that they're gone) until I 
 restart
 it.  So though that's a nice way to purge the DB, it doesn't really help my
 problem.

I have to say, I'm unconvinced by the whole storedconfigs mechanism,
particularly for this kind of thing.  If you're using puppet to
configure most or all aspects of your hosts on the network, then your
central puppet config already stores enough information about all your
hosts to generate a nagios config centrally and push it to the
monitoring host.  Pushing all this information back from the clients to
the puppetmaster and then out again seems to me to be desperately
fragile and just asking for trouble.

-- 
Bruce

I object to intellect without discipline.  I object to power without
constructive purpose. -- Spock

--~--~-~--~~~---~--~~
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] Rails is missing; cannot store configurations - Puppet 0.24.8 / Rails 2.3.2 / Gentoo

2009-07-28 Thread Evan Borgstrom

Hi,

I'm having trouble getting storeconfigs to work, namely there's an
error initializing rails. Here's the trace from puppetmasterd.

err: Rails is missing; cannot store configurations
/usr/lib64/ruby/site_ruby/1.8/puppet/parser/interpreter.rb:43:in
`initialize'
/usr/lib64/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:
80:in `new'
/usr/lib64/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:
80:in `create_interpreter'
/usr/lib64/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:
37:in `interpreter'
/usr/lib64/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:
68:in `compile'
/usr/lib64/ruby/site_ruby/1.8/puppet/util.rb:180:in `benchmark'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/
core_ext/benchmark.rb:10:in `realtime'
/usr/lib64/ruby/site_ruby/1.8/puppet/util.rb:179:in `benchmark'
/usr/lib64/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:
66:in `compile'
/usr/lib64/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:
21:in `find'
/usr/lib64/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:210:in
`find'
/usr/lib64/ruby/site_ruby/1.8/puppet/indirector.rb:49:in `find'
/usr/lib64/ruby/site_ruby/1.8/puppet/network/handler/master.rb:65:in
`getconfig'
/usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`to_proc'
/usr/lib64/ruby/site_ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in
`call'
/usr/lib64/ruby/site_ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in
`protect_service'
/usr/lib64/ruby/site_ruby/1.8/puppet/network/xmlrpc/processor.rb:85:in
`setup_processor'
/usr/lib64/ruby/1.8/xmlrpc/server.rb:338:in `call'
/usr/lib64/ruby/1.8/xmlrpc/server.rb:338:in `dispatch'
/usr/lib64/ruby/1.8/xmlrpc/server.rb:325:in `each'
/usr/lib64/ruby/1.8/xmlrpc/server.rb:325:in `dispatch'
/usr/lib64/ruby/1.8/xmlrpc/server.rb:368:in `call_method'
/usr/lib64/ruby/1.8/xmlrpc/server.rb:380:in `handle'
/usr/lib64/ruby/site_ruby/1.8/puppet/network/xmlrpc/processor.rb:44:in
`process'
/usr/lib64/ruby/site_ruby/1.8/puppet/network/xmlrpc/webrick_servlet.rb:
68:in `service'
/usr/lib64/ruby/1.8/webrick/httpserver.rb:104:in `service'
/usr/lib64/ruby/1.8/webrick/httpserver.rb:65:in `run'
/usr/lib64/ruby/1.8/webrick/server.rb:173:in `start_thread'
/usr/lib64/ruby/1.8/webrick/server.rb:162:in `start'
/usr/lib64/ruby/1.8/webrick/server.rb:162:in `start_thread'
/usr/lib64/ruby/1.8/webrick/server.rb:95:in `start'
/usr/lib64/ruby/1.8/webrick/server.rb:92:in `each'
/usr/lib64/ruby/1.8/webrick/server.rb:92:in `start'
/usr/lib64/ruby/1.8/webrick/server.rb:23:in `start'
/usr/lib64/ruby/1.8/webrick/server.rb:82:in `start'
/usr/lib64/ruby/site_ruby/1.8/puppet.rb:293:in `start'
/usr/lib64/ruby/site_ruby/1.8/puppet.rb:144:in `newthread'
/usr/lib64/ruby/site_ruby/1.8/puppet.rb:143:in `initialize'
/usr/lib64/ruby/site_ruby/1.8/puppet.rb:143:in `new'
/usr/lib64/ruby/site_ruby/1.8/puppet.rb:143:in `newthread'
/usr/lib64/ruby/site_ruby/1.8/puppet.rb:291:in `start'
/usr/lib64/ruby/site_ruby/1.8/puppet.rb:290:in `each'
/usr/lib64/ruby/site_ruby/1.8/puppet.rb:290:in `start'
/usr/bin/puppetmasterd:285
err: Rails is missing; cannot store configurations

I've tried using both Gentoo's packages for Rails along with
installing via Gem. Both yield the same results.

Has anyone seen this before or have any pointers on getting past it?

Thanks,
-E
--~--~-~--~~~---~--~~
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: sequential change implementation

2009-07-28 Thread Larry Ludwig

On Jul 28, 2009, at 9:16 AM, mmalamud wrote:


 How do I prevent the following:

 I have several web servers behind the load balancer, how do I make
 sure that when something changes and web servers need to be restarted
 that they are not all restarted at the same time but rather one by
 one. Is there a way to configure sequential push of some kind?


schedule metatype option or splay might be random enough.


-L

--
Larry Ludwig
Reductive 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
-~--~~~~--~~--~--~---



[Puppet Users] Re: Rails is missing; cannot store configurations - Puppet 0.24.8 / Rails 2.3.2 / Gentoo

2009-07-28 Thread Evan Borgstrom

Hrm. Downgrading to rails-2.2.2 fixed this.

On Jul 28, 12:43 pm, Evan Borgstrom e...@fatbox.ca wrote:
 Hi,

 I'm having trouble getting storeconfigs to work, namely there's an
 error initializing rails. Here's the trace from puppetmasterd.

 err: Rails is missing; cannot store configurations
 /usr/lib64/ruby/site_ruby/1.8/puppet/parser/interpreter.rb:43:in
 `initialize'
 /usr/lib64/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:
 80:in `new'
 /usr/lib64/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:
 80:in `create_interpreter'
 /usr/lib64/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:
 37:in `interpreter'
 /usr/lib64/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:
 68:in `compile'
 /usr/lib64/ruby/site_ruby/1.8/puppet/util.rb:180:in `benchmark'
 /usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/
 core_ext/benchmark.rb:10:in `realtime'
 /usr/lib64/ruby/site_ruby/1.8/puppet/util.rb:179:in `benchmark'
 /usr/lib64/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:
 66:in `compile'
 /usr/lib64/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:
 21:in `find'
 /usr/lib64/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:210:in
 `find'
 /usr/lib64/ruby/site_ruby/1.8/puppet/indirector.rb:49:in `find'
 /usr/lib64/ruby/site_ruby/1.8/puppet/network/handler/master.rb:65:in
 `getconfig'
 /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
 `to_proc'
 /usr/lib64/ruby/site_ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in
 `call'
 /usr/lib64/ruby/site_ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in
 `protect_service'
 /usr/lib64/ruby/site_ruby/1.8/puppet/network/xmlrpc/processor.rb:85:in
 `setup_processor'
 /usr/lib64/ruby/1.8/xmlrpc/server.rb:338:in `call'
 /usr/lib64/ruby/1.8/xmlrpc/server.rb:338:in `dispatch'
 /usr/lib64/ruby/1.8/xmlrpc/server.rb:325:in `each'
 /usr/lib64/ruby/1.8/xmlrpc/server.rb:325:in `dispatch'
 /usr/lib64/ruby/1.8/xmlrpc/server.rb:368:in `call_method'
 /usr/lib64/ruby/1.8/xmlrpc/server.rb:380:in `handle'
 /usr/lib64/ruby/site_ruby/1.8/puppet/network/xmlrpc/processor.rb:44:in
 `process'
 /usr/lib64/ruby/site_ruby/1.8/puppet/network/xmlrpc/webrick_servlet.rb:
 68:in `service'
 /usr/lib64/ruby/1.8/webrick/httpserver.rb:104:in `service'
 /usr/lib64/ruby/1.8/webrick/httpserver.rb:65:in `run'
 /usr/lib64/ruby/1.8/webrick/server.rb:173:in `start_thread'
 /usr/lib64/ruby/1.8/webrick/server.rb:162:in `start'
 /usr/lib64/ruby/1.8/webrick/server.rb:162:in `start_thread'
 /usr/lib64/ruby/1.8/webrick/server.rb:95:in `start'
 /usr/lib64/ruby/1.8/webrick/server.rb:92:in `each'
 /usr/lib64/ruby/1.8/webrick/server.rb:92:in `start'
 /usr/lib64/ruby/1.8/webrick/server.rb:23:in `start'
 /usr/lib64/ruby/1.8/webrick/server.rb:82:in `start'
 /usr/lib64/ruby/site_ruby/1.8/puppet.rb:293:in `start'
 /usr/lib64/ruby/site_ruby/1.8/puppet.rb:144:in `newthread'
 /usr/lib64/ruby/site_ruby/1.8/puppet.rb:143:in `initialize'
 /usr/lib64/ruby/site_ruby/1.8/puppet.rb:143:in `new'
 /usr/lib64/ruby/site_ruby/1.8/puppet.rb:143:in `newthread'
 /usr/lib64/ruby/site_ruby/1.8/puppet.rb:291:in `start'
 /usr/lib64/ruby/site_ruby/1.8/puppet.rb:290:in `each'
 /usr/lib64/ruby/site_ruby/1.8/puppet.rb:290:in `start'
 /usr/bin/puppetmasterd:285
 err: Rails is missing; cannot store configurations

 I've tried using both Gentoo's packages for Rails along with
 installing via Gem. Both yield the same results.

 Has anyone seen this before or have any pointers on getting past it?

 Thanks,
 -E
--~--~-~--~~~---~--~~
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: sequential change implementation

2009-07-28 Thread Pete Emerson
I have application and configuration versions stored so that my puppet node
classifier can spit them back out. I then change versions for the servers
that I want to upgrade and then force a puppet run. The remaining servers
won't change until I change their application / configuration versions.
Lather, rinse, repeat. I also monitor the results so that if an upgrade
doesn't go through it won't continue to upgrade the rest of the servers.

Pete

On Tue, Jul 28, 2009 at 10:10 AM, Larry Ludwig la...@reductivelabs.comwrote:


 On Jul 28, 2009, at 9:16 AM, mmalamud wrote:

 
  How do I prevent the following:
 
  I have several web servers behind the load balancer, how do I make
  sure that when something changes and web servers need to be restarted
  that they are not all restarted at the same time but rather one by
  one. Is there a way to configure sequential push of some kind?
 

 schedule metatype option or splay might be random enough.


 -L

 --
 Larry Ludwig
 Reductive 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
-~--~~~~--~~--~--~---



[Puppet Users] Re: puppet recipes

2009-07-28 Thread Asif Iqbal

Hi Teyo,

I seem to be lost in your explanations. BTW, I do not need to use fqdn.

I realized, I started looking for a recipe that will be very
complicated for a beginner like me.
So I think I should start small and simple and it may grow to a
solution that will be really useful to others.

Lets start w/ real basic.

I have 300 hosts. I like a push a user to about 100 hosts (dns
resolver type hosts) out of 300 total.

How do I set that up within puppet ?

(sorry for the top post. I like to ignore the complex recipe, at least
for me, and may go back to it eventually but gradually)

On Wed, Jul 15, 2009 at 5:39 PM, Teyo Tyreet...@reductivelabs.com wrote:
 Hey Asif,
 On Wed, Jul 15, 2009 at 12:51 PM, Asif Iqbal vad...@gmail.com wrote:

 Hi

 I am looking for recipe or some hints to a recipe that can help me
 achieve the following

 I have about 300 servers of different functions. To make it easy I
 decided to keep multiple group dirs based on the
 function and have hosts,passwd,users,sudoers file located inside those
 function dirs, like the following.

 What do you mean by group dirs in this context? I am assuming you me host
 groups base on node function.  For clarity, I will call them functional
 groups.

 In this
 example dns is the function of the hosts listed w/ fqdn in the hosts
 file. The passwd and shadow are going to be
 same as the /etc/passwd and /etc/shadow file for all these hosts, same
 for sudeors.  users is list of users. may have no purpose
 right now.

 So, we are talking about a dns functional group based on the FQDN.  In
 general, I avoid using metadata in the FQDN as a means to classify a given
 node.  Classification is a human assignment, so I just classify using my
 node tool (site.pp or external) as the database instead of some conditional
 statement base on FQDN.  I know this is unorthodox, but I have good reason
 for despising metadata based hostnames. ( Hostnames make a sorry
 database! Rant available upon request. )
 Secondly,  just for a simplification you can use a single sudoers file for
 all of your host.  You can specify access based on host groups in the
 sudoers file itself.  There are some cases (security domains) where you may
 want to avoid this, but in general I use one sudoers to rule them all.

 (root)@puppetmaster:/path/to/groups# ls -lR dns/
 dns/:
 total 11
 -rw---    1 root     other           1 Aug 23  2005 hosts
 -r--r--r--    1 root     other          33 Aug 22  2005 passwd
 -r    1 root     other          31 Aug 22  2005 shadow
 -r--r-    1 root     root          546 Aug 27  2005 sudoers
 -rw-r--r--    1 root     other         152 Feb 21  2006 users

 Ok, here is the Puppety part and it is really about organization and reuse.
  Forget this host group organizational structure.  It is going to be nothing
 but trouble in the long run.  Lets think of classes instead as a way to
 specify configurations via composition and inheritance and lets use modules
 exclusively.  Explicitly lets create two module paths:
 /path/to/modules/dist:
 Is where you will build small reusable modules that will be used to compose
 class that classify your services. And...
 /path/to/modules/site
 is where you will build larger modules and create complex composite
 configurations.  Here you will include classes from the dist path. I would
 avoid including site classes in the classes defined in the dist path.  I
 like to have the dependencies flow one way.
 Ok, so in the site module path lets create a module called acme.  And
 reorganize based on this structure:
 /path/to/modules/site/acme

 currently, I have a test site.pp like this

 # site.pp

 node basenode {
        case $hostname {
                puppet-test: {}
                default: {}
        }
 }

 K,  I would avoid doing the condition stuff here.   Instead if we have a
 node foo lets just assign it the base class acme from our acme module.  This
 will make our site.pp compatible with an external nodes tool.
 node foo { acme: }
 On a side note, no need for client server when if we are testing.  Just
 checkout the dev branch of your puppet modules on the test node, use the
 puppet executable and pass it a test.pp that includes the classes that you
 want to test like so:

 puppet --debug --modulepath=/path/to/modules/dist:/path/to/modules/site
 test.pp
 This is how I training people to develop their puppet code in our classes.
  Try it; you'll like it!
 Alright, so here we go refactoring this we would have a acme::dns class in
 our acme module that would include or inherit all the smaller classes that
 are needed to setup a DNS host.

 node 'puppet-test' {
                include dns
                include sudo
                }

 So our node definition would now look like...
 node 'puppet-test.fqdn.org' { include acme::dns }
 Again, I prefer simple assignment.  Essentially, one class included per
 node.  I do all the specification that is role based in classes.  If an
 individual host needs specific 

[Puppet Users] Exported resources, sshkey (was Re: Notifying a service when exported resources go away)

2009-07-28 Thread Ian Ward Comfort

On 28 Jul 2009, at 9:39 AM, Bruce Richardson wrote:
 I have to say, I'm unconvinced by the whole storedconfigs mechanism,  
 particularly for this kind of thing.  If you're using puppet to  
 configure most or all aspects of your hosts on the network, then  
 your central puppet config already stores enough information about  
 all your hosts to generate a nagios config centrally and push it to  
 the monitoring host.  Pushing all this information back from the  
 clients to the puppetmaster and then out again seems to me to be  
 desperately fragile and just asking for trouble.

For me, the killer app for storeconfigs is exported SSH host keys.   
That's information that my puppetmaster *doesn't* have in its  
manifests, and needs to collect from clients.  That said, sshkey  
resources are giving me trouble in 0.24.8, with puppetd logging errors  
such as:

puppetd[6170]: Got an uncaught exception of type ArgumentError: Field  
'name' is required

And unusual messages like:

puppetd[6170]: Sshkey absent found in both parsed and parsed;  
skipping the parsed version

I've not yet had time to track down this issue (and should probably do  
so in the 0.25 beta, anyway), but I wonder if anyone else has seen this.

-- 
Ian Ward Comfort icomf...@rescomp.stanford.edu
System Administrator, Student Computing, Stanford University


--~--~-~--~~~---~--~~
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] Moving puppetmaster

2009-07-28 Thread Len Rugen
What is involved in switching to a new puppetmaster?  I'm guessing the
client will need a new cert, but it looks like I have to rm the old one in
/var/lib/puppet/... on the client.  Our puppet FQDN is an alias pointing
to the current server, as it probably will be on the future server.

--~--~-~--~~~---~--~~
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: Moving puppetmaster

2009-07-28 Thread RijilV

2009/7/28 Len Rugen lenru...@gmail.com:
 What is involved in switching to a new puppetmaster?  I'm guessing the
 client will need a new cert, but it looks like I have to rm the old one in
 /var/lib/puppet/... on the client.  Our puppet FQDN is an alias pointing
 to the current server, as it probably will be on the future server.


If you're just going to flip the CNAME to the new server, you can
'cheat' and just move the puppetmaster SSL certs on over to the new
system.

A more ?correct? way is to manage the $SSLDIR/certs/ca.pem on all
hosts.  Just combine the two puppetmaster's ca.pem, push them out to
the clients and masters, and you'll be golden.   Once you move over to
the new server you can remove the old puppetmaster's ca.pem from the
clients, but you'll still need it on the new master as long as there
are any of the old client certs out there.

.r'

--~--~-~--~~~---~--~~
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: template flapping / classes lost?

2009-07-28 Thread Peter

I tried using the same check in a template of mine and I got it to
work
I found that the closures for the if and end statements are % and not
-%

so your statement would look like this.

% if scope.compiler.classlist.include?(edu_rutgers_css_resnet) then
%
 # PUPPET: set due to presence of class 'edu_rutgers_css_resnet'
 ServerAdmin f...@bar.com
 # END PUPPET
 % else %
 # PUPPET: default value
 ServerAdmin r...@localhost
 # END PUPPET
 % end %

give that a try.

On Jul 28, 11:37 pm, Jason Antman ja...@jasonantman.com wrote:
 I was just about to move my first Puppet-built box into production, and
 I'm getting a terribly troublesome error. I'm using an external node
 classifier and am not using storedconfigs.

 We have a more-or-less generic httpd config for all of our boxen -
 except this one. I'm generating httpd.conf from a template, so in the
 template I have something like:

 % if scope.compiler.classlist.include?(edu_rutgers_css_resnet) then -%
 # PUPPET: set due to presence of class 'edu_rutgers_css_resnet'
 ServerAdmin f...@bar.com
 # END PUPPET
 % else %
 # PUPPET: default value
 ServerAdmin r...@localhost
 # END PUPPET
 % end -%

 I also generate /etc/sysconfig/iptables from a template, which includes:

 % if scope.compiler.classlist.include?(httpd) then -%
 # accept port 80, added by Puppet template with httpd class
 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j
 ACCEPT
 % else -%
 # puppet doesn't see the class 'httpd' defined, NOT opening port 80...
 % end -%

 It seems that Puppet is missing the httpd class. When Puppet runs
 every half hour,  flaps between the if and else values for these two
 statements, causing it to replace the config files and restart the
 associated services. I originally thought that this was happening at
 exactly each cycle, but it seems somewhat intermittent:

 Jul 28 02:19:56 resnet2 puppetd[24046]:
 (//iptables/File[/etc/sysconfig/iptables]/content) content changed
 '{md5}654732a5f76e975e1fef1907ce6c5b46' to
 '{md5}fffc88c34693d4ee67a22c4190d1e608'
 Jul 28 02:19:57 resnet2 puppetd[24046]: (//iptables/Service[iptables])
 Triggering 'refresh' from 2 dependencies
 Jul 28 04:20:20 resnet2 puppetd[24046]:
 (//iptables/File[/etc/sysconfig/iptables]/content) content changed
 '{md5}fffc88c34693d4ee67a22c4190d1e608' to
 '{md5}654732a5f76e975e1fef1907ce6c5b46'
 Jul 28 04:20:20 resnet2 puppetd[24046]: (//iptables/Service[iptables])
 Triggering 'refresh' from 2 dependencies
 Jul 28 06:50:44 resnet2 puppetd[24046]:
 (//iptables/File[/etc/sysconfig/iptables]/content) content changed
 '{md5}654732a5f76e975e1fef1907ce6c5b46' to
 '{md5}fffc88c34693d4ee67a22c4190d1e608'
 Jul 28 06:50:44 resnet2 puppetd[24046]: (//iptables/Service[iptables])
 Triggering 'refresh' from 2 dependencies
 Jul 28 07:50:56 resnet2 puppetd[24046]:
 (//iptables/File[/etc/sysconfig/iptables]/content) content changed
 '{md5}fffc88c34693d4ee67a22c4190d1e608' to
 '{md5}654732a5f76e975e1fef1907ce6c5b46'
 Jul 28 07:50:56 resnet2 puppetd[24046]: (//iptables/Service[iptables])
 Triggering 'refresh' from 2 dependencies

 Jul 28 04:20:18 resnet2 puppetd[24046]:
 (//httpd/File[/etc/httpd/conf/httpd.conf]/content) content changed
 '{md5}e20ffe121bc385871c43c1c8d4c83376' to
 '{md5}d42e551de04a44d8e9121de93795ad33'
 Jul 28 04:20:19 resnet2 puppetd[24046]: (//httpd/Service[httpd])
 Triggering 'refresh' from 1 dependencies
 Jul 28 06:20:39 resnet2 puppetd[24046]:
 (//httpd/File[/etc/httpd/conf/httpd.conf]/content) content changed
 '{md5}d42e551de04a44d8e9121de93795ad33' to
 '{md5}e20ffe121bc385871c43c1c8d4c83376'
 Jul 28 06:20:40 resnet2 puppetd[24046]: (//httpd/Service[httpd])
 Triggering 'refresh' from 1 dependencies
 Jul 28 06:50:45 resnet2 puppetd[24046]:
 (//httpd/File[/etc/httpd/conf/httpd.conf]/content) content changed
 '{md5}e20ffe121bc385871c43c1c8d4c83376' to
 '{md5}d42e551de04a44d8e9121de93795ad33'
 Jul 28 06:50:46 resnet2 puppetd[24046]: (//httpd/Service[httpd])
 Triggering 'refresh' from 1 dependencies
 Jul 28 07:50:58 resnet2 puppetd[24046]:
 (//httpd/File[/etc/httpd/conf/httpd.conf]/content) content changed
 '{md5}d42e551de04a44d8e9121de93795ad33' to
 '{md5}e20ffe121bc385871c43c1c8d4c83376'
 Jul 28 07:50:58 resnet2 puppetd[24046]: (//httpd/Service[httpd])
 Triggering 'refresh' from 1 dependencies

 Any ideas on why this is happening? I've been running Puppet on a
 non-critical network for a month now, with storedconfigs, and no major
 problems. It seemed time to move it over to the production boxes (as the
 new ones are built) but this seems like a serious issue...

 Thanks for any advice,
 Jason

--~--~-~--~~~---~--~~
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: storeconfigs storms?

2009-07-28 Thread Mark Plaksin

Brice Figureau brice-pup...@daysofwonder.com writes:

 Our mysql questions, com_select and com_insert stats spike first.
 com_select and com_update are normally at around 5 and spike to 40;
 questions is normally around 150 and spikes to 600.  Threads connected
 goes from around 15 to 30.  After that it looks like everything queues
 up behind MySQL and we start getting timeouts on our ~450 clients.

...

 The only reason for a storeconfig storm is that Puppet deletes all the
 resources/tags belonging to a particular host and then recreates them,
 so you see a lots of Inserts.

 Now the real question is why Puppet thinks there is such discrepencies
 between the database and the live compilation. 

 Are you sure you're not removing hosts from the database?

Yes.  Hosts that no longer exist are still in the database :)

 What would be interesting is to activate the mysql general query log
 (warning it will increase your load), and dig in the large log around
 the timeframe you see the storm (you can also activate the rails log for
 the same effect). 

I meant to ask whether some MySQL expert could look at our binary logs
and figure out what happened :)  Oh, I see there's a mysqlbinlog command!
Who knew?  Some quick greps of its output say the total number of
updates and inserts from yesterday is about the same as any other day.
Same for various hours yesterday--the hour that we got slammed doesn't
seem to have more updates or inserts than other hours when we didn't get
slammed.

 Or I remember reading that maatkit now contains a query log extractor
 from tcpdump captures files; it is worth capturing the traffic between
 Puppet and mysql and analyze the queries performed. Maybe you'll find
 the issue.

Maybe there's a tool which reads binary logs and tells you what caused
the storm :)

 Good luck :-)

Heh, thanks :)


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

2009-07-28 Thread josbal

Hi,

We have majority of RHEL5 servers in our environment. I have noticed
in the process of trying to deploy puppet, that i am getting errors
when yum is trying to install packages. Most of the time it works
flawlessly, however sometime the following will be reported:

change from absent to present failed: Execution of '/usr/bin/yum -d 0 -
e 0 -y install modcluster' returned 1: This system is not registered
with RHN. RHN support will be disabled.   Error Downloading
Packages:   modcluster-0.12.1-2.el5.x86_64: failure:
modcluster-0.12.1-2.el5.x86_64.rpm from core-1: [Errno 256] No more
mirrors to try.

The only way to correct the issue is to run yum clean all on the
client and then rerun the puppet catalogue.

Does anyone have any information as to what is going wrong here? Or
what can be done to stop this from happening. The repo's i am using
are local mirrors I have configured for our company.

Cheers,
Josh
--~--~-~--~~~---~--~~
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 recipes

2009-07-28 Thread David Schmitt

Asif Iqbal wrote:
 So I think I should start small and simple and it may grow to a
 solution that will be really useful to others.
 
 Lets start w/ real basic.
 
 I have 300 hosts. I like a push a user to about 100 hosts (dns
 resolver type hosts) out of 300 total.
 
 How do I set that up within puppet ?

The very simplest stuff:

| node dns1, ..., dns100 {
|   user { foo: ... }
| }

That's of course very trivial. The next steps would be to put the user 
into his own class/module where you can encapsulate the user and his 
environment (ssh key, shell configuration, ...) and use an external 
nodes classifier[1] to find your nodes instead of typing them all out.

You can read many more examples on the wiki [2] and [3]. Also look at 
the references linked from the documentation main page[4].



Regards, DavidS



[1] http://reductivelabs.com/trac/puppet/wiki/ExternalNodes
[2] http://reductivelabs.com/trac/puppet/wiki/PuppetModules
[3] http://reductivelabs.com/trac/puppet/wiki/Recipes
[4] http://reductivelabs.com/trac/puppet/wiki/DocumentationStart





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