[Puppet Users] Re: simple failure on service{ensure=>false}

2009-07-15 Thread Fernando Padilla

doing some late night googling:


the description of the bug:
https://bugs.launchpad.net/ubuntu/+source/puppet/+bug/368832

which was supposed to have been fixed in some version of puppet 
(0.24.6), while I'm currently running with 0.24.5.



Another thread talks about the Package provider:
http://groups.google.com/group/puppet-users/browse_thread/thread/f9d0613fc890e4e3

And gave me this idea; to add the following at the very top of site.pp:

Service {
provider => debian
}

And so far, it looks like it works.


Please excuse me for emailing the list for something that I eventually 
figured out.. hopefully others will find this useful (and someone will 
set me straight if there are better options.. :)



Fernando Padilla wrote:
> I just saw this in the logs.. maybe it's a clue.
> 
> Jul 16 05:47:34 (none) puppetd[11187]: Found multiple default providers
> for service: freebsd, debian; using freebsd
> 
> I might have to force the platform somehow to be debian or ubuntu??
> 
> 
> 
> Fernando Padilla wrote:
>> I'm just starting to learn puppet, and I'm using the lates ubuntu jaunty 
>> image on ec2.
>>
>> I noticed a random service that I wanted to shutdown so I added this:
>>
>> class no_avahi {
>>service { "avahi-daemon":
>>ensure => false
>>}
>> }
>>
>> And it sort-of worked, except this is what happened on the client:
>>
>> Jul 16 05:32:56 domU-12-31-39-00-85-68 puppetd[4101]: 
>> (//Node[default]/no_avahi/Service[avahi-daemon]/ensure) change from 
>> running to stopped failed: Could not stop Service[avahi-daemon]: 
>> Execution of '/etc/init.d/avahi-daemon onestop' returned 1:  at 
>> /etc/puppet/manifests/site.pp:30
>>
>>
>> It tried to run '/etc/init.d/avahi-daemon onestop', which looks like is 
>> invalid for most scripts under init.d (it should be simply 'stop', not 
>> 'onestop').
>>
>>
>>
>> I have fixed it in my site.pp by adding my own stop command (stop => 
>> "/etc/init.d/avahi-daemon stop"), but I was just expecting puppet to 
>> simply work..
>> why is it confused in this instance?
>> can we file a bug report?
>> is it my ubuntu image is not standard?  Or puppet just confused somehow?
>>
> 
> > 

--~--~-~--~~~---~--~~
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: simple failure on service{ensure=>false}

2009-07-15 Thread Fernando Padilla

I just saw this in the logs.. maybe it's a clue.

Jul 16 05:47:34 (none) puppetd[11187]: Found multiple default providers
for service: freebsd, debian; using freebsd

I might have to force the platform somehow to be debian or ubuntu??



Fernando Padilla wrote:
> I'm just starting to learn puppet, and I'm using the lates ubuntu jaunty 
> image on ec2.
> 
> I noticed a random service that I wanted to shutdown so I added this:
> 
> class no_avahi {
>service { "avahi-daemon":
> ensure => false
>}
> }
> 
> And it sort-of worked, except this is what happened on the client:
> 
> Jul 16 05:32:56 domU-12-31-39-00-85-68 puppetd[4101]: 
> (//Node[default]/no_avahi/Service[avahi-daemon]/ensure) change from 
> running to stopped failed: Could not stop Service[avahi-daemon]: 
> Execution of '/etc/init.d/avahi-daemon onestop' returned 1:  at 
> /etc/puppet/manifests/site.pp:30
> 
> 
> It tried to run '/etc/init.d/avahi-daemon onestop', which looks like is 
> invalid for most scripts under init.d (it should be simply 'stop', not 
> 'onestop').
> 
> 
> 
> I have fixed it in my site.pp by adding my own stop command (stop => 
> "/etc/init.d/avahi-daemon stop"), but I was just expecting puppet to 
> simply work..
> why is it confused in this instance?
> can we file a bug report?
> is it my ubuntu image is not standard?  Or puppet just confused somehow?
> 
> > 

--~--~-~--~~~---~--~~
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] simple failure on service{ensure=>false}

2009-07-15 Thread Fernando Padilla

I'm just starting to learn puppet, and I'm using the lates ubuntu jaunty 
image on ec2.

I noticed a random service that I wanted to shutdown so I added this:

class no_avahi {
   service { "avahi-daemon":
  ensure => false
   }
}

And it sort-of worked, except this is what happened on the client:

Jul 16 05:32:56 domU-12-31-39-00-85-68 puppetd[4101]: 
(//Node[default]/no_avahi/Service[avahi-daemon]/ensure) change from 
running to stopped failed: Could not stop Service[avahi-daemon]: 
Execution of '/etc/init.d/avahi-daemon onestop' returned 1:  at 
/etc/puppet/manifests/site.pp:30


It tried to run '/etc/init.d/avahi-daemon onestop', which looks like is 
invalid for most scripts under init.d (it should be simply 'stop', not 
'onestop').



I have fixed it in my site.pp by adding my own stop command (stop => 
"/etc/init.d/avahi-daemon stop"), but I was just expecting puppet to 
simply work..
why is it confused in this instance?
can we file a bug report?
is it my ubuntu image is not standard?  Or puppet just confused somehow?

--~--~-~--~~~---~--~~
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 User Group July 29th NYC 7p

2009-07-15 Thread Larry Ludwig

On Jul 15, 2009, at 5:48 PM, Teyo Tyree wrote:

>
> I will definitely be there.  Going to be in town providing Puppet  
> training to the masses.
>

Don't you mean spreading the gospel? :-)

-L


> Cheers,
> Teyo
>
> -- 
> Teyo Tyree :: www.reductivelabs.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] Re: Puppet User Group July 29th NYC 7p

2009-07-15 Thread Teyo Tyree
On Wed, Jul 15, 2009 at 10:03 AM, Larry Ludwig  wrote:

>
> Hi All
>
> We are scheduling a NYC Puppet User Group on July 29th in NYC at 7pm.
> Location to be determined.  If anyone is interested in donating space
> please let me know.  We may have some formal discussions and open to
> any topics you want discussed.
>
> If attending, reply to this thread.


I will definitely be there.  Going to be in town providing Puppet training
to the masses.


> -L
> Larry Ludwig
>
> >
>
Cheers,
Teyo

-- 
Teyo Tyree :: www.reductivelabs.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] Re: puppet recipes

2009-07-15 Thread Teyo Tyree
Hey Asif,

On Wed, Jul 15, 2009 at 12:51 PM, Asif Iqbal  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
> -r1 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 parameters set, I either handle that
logically inside the classes or assign parameters to the host (External
Nodes supports this better).  This allows me to test composite classes as
part of the module development process.

We would refactor this class then:

>
> class dns_users {
>@user { "testuser":
>ensure => "present",
>uid => "102",
>gid => "1",
>comment => "test user",
>home => "/home/testuser",
>shell => "/bin/bash",
>managehome => "true",
>}
> }
>

Becoming a single virtusers class:

class acme::virtusers {
@user{
testuser

[Puppet Users] puppet recipes

2009-07-15 Thread Asif Iqbal

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

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


currently, I have a test site.pp like this

# site.pp

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

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

class dns_users {
@user { "testuser":
ensure => "present",
uid => "102",
gid => "1",
comment => "test user",
home => "/home/testuser",
shell => "/bin/bash",
managehome => "true",
}
}

class dns {
include dns_users
realize(
User["testuser"]
)
}

class sudo {
file { sudoers: # a common title for all platforms
path => $operatingsystem ? {
solaris => "/opt/csw/etc/sudoers",
default => "/etc/sudoers"
},
owner => root,
group => root,
mode => 440,
source => "puppet:///sudo/sudoers"
}
}

Instead of creating 300 manifests and that many more users in the
class and/or @users I like to see if there is maybe a template can be
created.
So when the puppet client comes to puppetmaster, based on the fqdn of
the host it will be assigned as part of a group. Then based on the
assigned
group it will receive specific sudoers file and a list of users will
be created based on the values in passwd and shadow files.

Looking for recipe to achieve that.

Thanks

-- 
Asif Iqbal
PGP Key: 0xE62693C5 KeyServer: pgp.mit.edu
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

--~--~-~--~~~---~--~~
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 meet Uup July 29th NYC 7p

2009-07-15 Thread Burkholder, Peter

Anyone interested in a DC meet up?  Could someone cross post to
puppet-dev?  I could probably organize at my workplace offices @ Gallery
Place metro.

-Peter 

> -Original Message-
> From: puppet-users@googlegroups.com 
> [mailto:puppet-us...@googlegroups.com] On Behalf Of Larry Ludwig
> Sent: Wednesday, July 15, 2009 1:00 PM
> To: puppet-nyc
> Cc: puppet-users@googlegroups.com
> Subject: [Puppet Users] Puppet meet Uup July 29th NYC 7p
> 
> 
> Hi All
> 
> We are scheduling a NYC Puppet Meet Up.
> 
> > 
> 

--~--~-~--~~~---~--~~
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 User Group July 29th NYC 7p

2009-07-15 Thread Larry Ludwig

Hi All

We are scheduling a NYC Puppet User Group on July 29th in NYC at 7pm.
Location to be determined.  If anyone is interested in donating space
please let me know.  We may have some formal discussions and open to
any topics you want discussed.

If attending, reply to this thread.

-L
Larry Ludwig

--~--~-~--~~~---~--~~
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 meet Uup July 29th NYC 7p

2009-07-15 Thread Larry Ludwig

Hi All

We are scheduling a NYC Puppet Meet Up.

--~--~-~--~~~---~--~~
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: crontab and mailto

2009-07-15 Thread jcbollinger


On Jul 15, 4:05 am, Rupert  wrote:
> is there a way to specify a mailto directive for a block of cronjobs?
> Right now I have the same email address in 4 cronjobs, i would like to
> defide that address only on the beginning fo such block.

I'm not clear on how you're specifying an e-mail address now, because
the built in Cron resource does not have a property for it.  If you
are using the 'environment' property then I think you can define a
property default within an enclosing scope:

class cronjobs {
Cron { environment => "mailto...@mymail.com" }

cron { "mycommand":
command => "/usr/local/bin/mycommand",
hour => 3,
}

cron { "yourcommand":
command => "/usr/local/bin/yourcommand",
hour => 4,
}
}

If that works for you then I don't think you can do better.

--~--~-~--~~~---~--~~
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: will resource noop always override puppetd

2009-07-15 Thread Dan Bode
thanks David,

At least this feature was implemented for a good reason (even though I wish
they would add certificates to that list:)

It seems reasonable to assume that this feature will not break in the
future.

On Wed, Jul 15, 2009 at 4:35 PM, David Schmitt  wrote:

>
> Dan Bode wrote:
> [noop on resource overrides global noop setting]
> > Is this intended behavior, will this be supported in future versions, or
> > will this be likely to break.
>
> The UPGRADE document for 0.24.3 says this:
>
> > Downloading plugins and facts now ignores noop. Note that this
> > changes  the behaviour of a resource's noop setting. The resources noop
>  > setting will now alway override the global setting (previously,
>  > whichever was true would win).
>
> from http://reductivelabs.com/trac/puppet/wiki/UPGRADE#id16
>
>
> Regards, DavidS
>
> >
>

--~--~-~--~~~---~--~~
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: will resource noop always override puppetd

2009-07-15 Thread Nigel Kersten

On Wed, Jul 15, 2009 at 7:35 AM, David Schmitt wrote:
>
> Dan Bode wrote:
> [noop on resource overrides global noop setting]
>> Is this intended behavior, will this be supported in future versions, or
>> will this be likely to break.
>
> The UPGRADE document for 0.24.3 says this:
>
>> Downloading plugins and facts now ignores noop. Note that this
>> changes  the behaviour of a resource's noop setting. The resources noop
>  > setting will now alway override the global setting (previously,
>  > whichever was true would win).
>
> from http://reductivelabs.com/trac/puppet/wiki/UPGRADE#id16


This isn't true for factsync or pluginsync though.


root# puppetd --version
0.24.8
root# rm -Rf /var/lib/puppet/facts/*
root# rm -Rf /var/lib/puppet/lib/*
root# puppetd -t --factsync --pluginsync --noop
info: Retrieving plugins
notice: /File[/var/puppet/lib]/checksum: checksum changed '{mtime}Wed
Jun 17 11:29:46 -0700 2009' to '{mtime}Wed Jul 15 08:05:11 -0700 2009'
notice: /File[/var/puppet/lib/provider]/ensure: created
[...]
info: Retrieving facts
notice: /File[/var/puppet/facts]/checksum: checksum changed
'{mtime}Tue Jul 14 09:33:23 -0700 2009' to '{mtime}Wed Jul 15 08:05:08
-0700 2009'
[...]


and I've yet to get any reliable working method going for facts and
plugins in modules with environments that doesn't rely upon
factsync/pluginsync.



>
>
> Regards, DavidS
>
> >
>



-- 
Nigel Kersten
nig...@google.com
System Administrator
Google, Inc.

--~--~-~--~~~---~--~~
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: executing some code with subscribe/notify/unless

2009-07-15 Thread Arnau Bria

On Wed, 15 Jul 2009 15:43:37 +0200
David Schmitt wrote:

Hi David,

> Have you tried setting the "refreshonly" parameter on the Exec?
yes I did, but, IIRC, my problem is still there, cause it evaluates the
unless and nothing is done as log is clear.

file's notify does its work, but I don't see how to add my second
condition (if log has errors) to code...

> Regards, DavidS
Cheers,
Arnau

--~--~-~--~~~---~--~~
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: using noops from puppetrun

2009-07-15 Thread David Schmitt

Dan Bode wrote:
> Hi All,
> 
> I was surprised to notice that a call to noop from puppetrun did not 
> work as expected.
> 
> on the agent side (for this case the server side..), I ran:
>  
>   puppetd --verbose --no-daemonize  (where listen is set in the puppet.conf)
> 
> on the puppet server side(in this case the client side), I ran:
> 
>   puppetrun --noop --host SERVER
> 
> notice: SERVER(IP) triggered run
> info: Caching catalog at /var/lib/puppet-agent//localconfig.yaml
> notice: Starting catalog run
> notice: //Node[SERVER]/test/Exec[echo "This is the Test Class"]/returns: 
> executed successfully
> notice: //Node[SERVER]/base/puppet/File[/etc/puppet/puppet.conf]: 
> Filebucketed to main with sum fe274facc165e952f32848c8798306a9
> notice: 
> //Node[SERVER]/base/puppet/File[/etc/puppet/puppet.conf]/content: 
> content changed '{md5}fe274facc165e952f32848c8798306a9' to 
> '{md5}dcab80e2b06f2e7bded875a7efd5cea6'
> info: //Node[SERVER]/base/puppet/File[/etc/puppet/puppet.conf]: 
> Scheduling refresh of Service[puppet]
> notice: //Node[SERVER]/base/puppet/Service[puppet]: Triggering 'refresh' 
> from 1 dependencies
> notice: Caught TERM; shutting down
> notice: Shutting down
> Killed (as a sidenote, puppetd dies in this case)
> 
> So, the question is, where exactly is the noop option valid?
>   puppetd command line
>   puppetd conf
>   from any resource object?
>   can it be set anywhere on the puppetmasterd settings?
>   
> Here is the use case that I am working with. I would like to be able to 
> run all puppet agents in noop mode when there is new puppet code 
> deployed. I would like to this action to be controlled from a central 
> location. Any suggestions are appreciated.

I've found http://projects.reductivelabs.com/issues/864 from a year ago, 
which requests exactly being able to specify noop yes/no via puppetrun. 
Sadly, it is still open.


Regards, DavidS

--~--~-~--~~~---~--~~
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 completely ignoring "require"

2009-07-15 Thread Chris Blumentritt
I have run into this problem today trying to stand up some new servers.

On Tue, Apr 21, 2009 at 11:44 PM, Andrew Shafer wrote:

>
> Scott,
>
> Can you pastie the simplest code to reproduce and maybe attach the files
> created by --graph to see what the relationships look like.
>
> Is anyone else seeing a problem like this?
>
>
>
>
>
> On Tue, Apr 21, 2009 at 9:02 PM, Scott  wrote:
>
>>
>> Hi, so I'm running into a problem since upgrading to 0.24.8 where
>> puppet is trying to create an authorized key for users that don't
>> exist because it doesn't do the require ( require => "/etc/passwd" )
>> first.
>>
>> I've tried making the require a default parameter for
>> "ssh_autohrized_key" (yes, in the same scope), I've tried making the
>> passwd file a requirement for every "ssh_authorized_key" and I've
>> tried to use "before" with the passwd resource ( before => Class
>> [ users::ssh_keys ] ) and yet puppet insists on trying to create the
>> key before doing any of the prerequisites.
>>
>> One other note, the ssh_authorized_key isn't always for the same
>> person, so it's not a particular key that's causing the problem.
>> Also, this was never a problem with 0.24.7.
>>
>> Cheers,
>> Scott
>>
>>
>
> >
>

--~--~-~--~~~---~--~~
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: will resource noop always override puppetd

2009-07-15 Thread David Schmitt

Dan Bode wrote:
[noop on resource overrides global noop setting]
> Is this intended behavior, will this be supported in future versions, or 
> will this be likely to break.

The UPGRADE document for 0.24.3 says this:

> Downloading plugins and facts now ignores noop. Note that this
> changes  the behaviour of a resource's noop setting. The resources noop
 > setting will now alway override the global setting (previously,
 > whichever was true would win).

from http://reductivelabs.com/trac/puppet/wiki/UPGRADE#id16


Regards, DavidS

--~--~-~--~~~---~--~~
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: executing some code with subscribe/notify/unless

2009-07-15 Thread David Schmitt

Arnau Bria wrote:
> Hi all,
> 
> I have some code to execute that depends on two things:
> 
> 1.-) some file is modified
> 
> 2.-) its log shows some error.
> 
> So I'd like to define both conditions, and I've done it like:
> 
>  file { "file1":
> recurse => true,
> owner   => "root",
> group   => "root",
> mode=> "700",
> source  => "puppet://server/file1",
> notify   => Exec["refresh_conf"],
> }
> 
> 
>  exec { "refresh_conf":
> command => "exec something",
> #subscribe   => File["file1"],
> timeout => "-1",
>   #unless => "condition1",
> }
> 
> So now I have subscribe and unless commented. subscribe because I added
> notify on file1, and unless cause if file1 notifies to refresh it
> evaluates conditon1 and,as log is fine, the exec is not refreshed.
> 
> So, how may I tell refresh_conf to execute itself depending in those two
> conditions?
> 
Have you tried setting the "refreshonly" parameter on the Exec?


Regards, DavidS

--~--~-~--~~~---~--~~
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] executing some code with subscribe/notify/unless

2009-07-15 Thread Arnau Bria

Hi all,

I have some code to execute that depends on two things:

1.-) some file is modified

2.-) its log shows some error.

So I'd like to define both conditions, and I've done it like:

 file { "file1":
recurse => true,
owner   => "root",
group   => "root",
mode=> "700",
source  => "puppet://server/file1",
notify   => Exec["refresh_conf"],
}


 exec { "refresh_conf":
command => "exec something",
#subscribe   => File["file1"],
timeout => "-1",
#unless => "condition1",
}

So now I have subscribe and unless commented. subscribe because I added
notify on file1, and unless cause if file1 notifies to refresh it
evaluates conditon1 and,as log is fine, the exec is not refreshed.

So, how may I tell refresh_conf to execute itself depending in those two
conditions?

TIA,
Arnau

--~--~-~--~~~---~--~~
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: Generating a file from a set of fragments on the puppetmaster

2009-07-15 Thread Burkholder, Peter

Puppeteers,

It's not just Paul who'd like an answer, if anyone has one to proffer.
He's been kind enough to document his work on the wiki.  If it's not
exemplary of best practice, then do us all a favor and provide a better
solution.

Thanks,

Peter 

> -Original Message-
> From: puppet-users@googlegroups.com 
> [mailto:puppet-us...@googlegroups.com] On Behalf Of Paul Gear
> Sent: Wednesday, July 15, 2009 1:29 AM
> To: puppet-users@googlegroups.com
> Subject: [Puppet Users] Re: Generating a file from a set of 
> fragments on the puppetmaster
> 
> 
> Paul Gear wrote:
> > ...
> > 
> > Thanks for the suggestions on this.  I ended up going with 
> a templated 
> > solution that uses a bit of Ruby to intelligently grab 
> files in on the 
> > server.  I've documented my efforts here:
> > 
> > http://reductivelabs.com/trac/puppet/wiki/Recipes/SquidConfiguration
> > 
> > Any suggestions for improvement gratefully accepted.
> 
> Hi folks,
> 
> Any feedback on whether i could do this better?  I'd 
> definitely like to get that check_file method out of the top 
> of every file and put it in a common place.
> 
> Regards,
> 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: custom definitions require and +>

2009-07-15 Thread Peter Meier

Hi

> I'm still on 0.23.2 for some time. Planning the upgrade at the moment.

then it might be worth witing for 0.25.0 imho...

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: custom definitions require and +>

2009-07-15 Thread Peter Meier

Hi

> I'm still on 0.23.2 for some time. Planning the upgrade at the moment.

then it might be worth witing for 0.25.0 imho...

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] crontab and mailto

2009-07-15 Thread Rupert

Hello,

is there a way to specify a mailto directive for a block of cronjobs?
Right now I have the same email address in 4 cronjobs, i would like to
defide that address only on the beginning fo such block.


thnx

.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] will resource noop always override puppetd

2009-07-15 Thread Dan Bode
For my use case, I have set the following in puppet.conf on the agent

[puppetd]
  noop=true

on the server, in the puppet module, I set the following:

file{"/etc/puppet/puppet.conf":
noop => false,
content => template("puppet/puppet-agent.conf"),
  }

I have noticed that this works, noop effects everything except the
puppet.conf file, here is some output

notice: Starting catalog run
notice: //Node[SERVER]/test/Exec[echo "This is the Test Class"]/returns: is
notrun, should be 0 *(noop)*
39c39
< # TEST1
---
> # TEST2
notice: //Node[SERVER]/base/puppet/File[/etc/puppet/puppet.conf]:
Filebucketed to main with sum 612edd1118e135cdd89675c1c8f981ae
notice: //Node[SERVER]/base/puppet/File[/etc/puppet/puppet.conf]/content:
content changed '{md5}612edd1118e135cdd89675c1c8f981ae' to
'{md5}14ce20b1d2499bed640a26e051a52909'
notice: Reparsing /etc/puppet/puppet.conf

My question is:

Is this intended behavior, will this be supported in future versions, or
will this be likely to break.

regards,

Dan

--~--~-~--~~~---~--~~
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 definitions require and +>

2009-07-15 Thread robert.gstoehl

I'm still on 0.23.2 for some time. Planning the upgrade at the moment.

On Jul 15, 10:09 am, David Schmitt  wrote:
> robert.gstoehl wrote:
> > Seems to work so far, thanks. What happens when a $require is passed
> > to the definition which contains an array?
>
> > require => [ Package["wget"], $require ]
>
> > My quick test (printing out $require via a notify) indicate that only
> > the first item of the array is included. Is there a way to merge
> > arrays?
>
> Use the append functionality of newer puppet releases:
>
> http://reductivelabs.com/trac/puppet/wiki/LanguageTutorial#appending-...
>
> Regards, DavidS
--~--~-~--~~~---~--~~
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 definitions require and +>

2009-07-15 Thread David Schmitt

robert.gstoehl wrote:
> Seems to work so far, thanks. What happens when a $require is passed
> to the definition which contains an array?
> 
> require => [ Package["wget"], $require ]
> 
> My quick test (printing out $require via a notify) indicate that only
> the first item of the array is included. Is there a way to merge
> arrays?

Use the append functionality of newer puppet releases:

http://reductivelabs.com/trac/puppet/wiki/LanguageTutorial#appending-to-variables


Regards, DavidS

--~--~-~--~~~---~--~~
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 definitions require and +>

2009-07-15 Thread robert.gstoehl

Hm, with --debug it seems like all the dependencies, even an array of
them, get passed to the nested exec. Voodoo :)
Thanks for your help.

On Jul 15, 9:55 am, "robert.gstoehl"  wrote:
> Seems to work so far, thanks. What happens when a $require is passed
> to the definition which contains an array?
>
> require => [ Package["wget"], $require ]
>
> My quick test (printing out $require via a notify) indicate that only
> the first item of the array is included. Is there a way to merge
> arrays?
>
> On Jul 13, 7:12 pm, David Schmitt  wrote:
>
> > robert.gstoehl wrote:
> > > I'm trying to get the dependencies right:
>
> > > define wget($source, $options = "", $unless = "") {
> > >     include pkg::virtual_packages
> > >     realize (Package["wget"])
> > >     exec {"wget $options -O $title $source":
> > >         path    => "/usr/bin:/opt/csw/bin",
> > >         unless  => "$unless",
> > >         timeout => 18000,
> > >         require => Package["wget"]
> > >     }
>
> > >     if $require {
> > >         Exec ["wget $options -O $title $source"]{
> > >             require +> $require
> > >         }
> > >     }
> > > }
>
> > > Bombs with:
>
> > > err: Could not retrieve configuration: Parameter 'require' is already
> > > set on Exec[wget  -O ...  ] by wget at /etc/opt/csw/puppet/
> > > manifests/definitions/wget.pp:8; cannot redefine at /etc/opt/csw/
> > > puppet/manifests/definitions/wget.pp:14
>
> > > The docs say:
>
> > > Note that all defined types support automatically all metaparameters.
> > > Therefore you can pass any later used parameters like $require to a
> > > define, without any definition of it:
>
> > > define svn_repo($path) {
> > >     exec {"create_repo_${name}":
> > >         command => "/usr/bin/svnadmin create $path/$title",
> > >         unless => "/bin/test -d $path",
> > >     }
> > >     if $require {
> > >         Exec["create_repo_${name}"]{
> > >             require +> $require,
> > >         }
> > >     }
> > > }
>
> > > What am I doing wrong? Is there another way to add the require
> > > metaparameter to the nested exec resource?
>
> > "+>" is only valid when inheriting resources.
>
> > Instead do this:
>
> >  > define wget($source, $options = "", $unless = "") {
> >  >     include pkg::virtual_packages
> >  >     realize (Package["wget"])
> >  >     exec {"wget $options -O $title $source":
> >  >         path    => "/usr/bin:/opt/csw/bin",
> >  >         unless  => "$unless",
> >  >         timeout => 18000,
> >  >     }
> >  >
> >  >     if $require {
> >  >         Exec ["wget $options -O $title $source"]{
> >  >             require => [ Package["wget"], $require ]
> >  >         }
> >  >     } else {
> >  >         Exec ["wget $options -O $title $source"]{
> >  >             require => [ Package["wget"] ]
> >  >         }
> >  >     }
> >  > }
>
> > Regards, DavidS
--~--~-~--~~~---~--~~
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 definitions require and +>

2009-07-15 Thread robert.gstoehl

Seems to work so far, thanks. What happens when a $require is passed
to the definition which contains an array?

require => [ Package["wget"], $require ]

My quick test (printing out $require via a notify) indicate that only
the first item of the array is included. Is there a way to merge
arrays?

On Jul 13, 7:12 pm, David Schmitt  wrote:
> robert.gstoehl wrote:
> > I'm trying to get the dependencies right:
>
> > define wget($source, $options = "", $unless = "") {
> >     include pkg::virtual_packages
> >     realize (Package["wget"])
> >     exec {"wget $options -O $title $source":
> >         path    => "/usr/bin:/opt/csw/bin",
> >         unless  => "$unless",
> >         timeout => 18000,
> >         require => Package["wget"]
> >     }
>
> >     if $require {
> >         Exec ["wget $options -O $title $source"]{
> >             require +> $require
> >         }
> >     }
> > }
>
> > Bombs with:
>
> > err: Could not retrieve configuration: Parameter 'require' is already
> > set on Exec[wget  -O ...  ] by wget at /etc/opt/csw/puppet/
> > manifests/definitions/wget.pp:8; cannot redefine at /etc/opt/csw/
> > puppet/manifests/definitions/wget.pp:14
>
> > The docs say:
>
> > Note that all defined types support automatically all metaparameters.
> > Therefore you can pass any later used parameters like $require to a
> > define, without any definition of it:
>
> > define svn_repo($path) {
> >     exec {"create_repo_${name}":
> >         command => "/usr/bin/svnadmin create $path/$title",
> >         unless => "/bin/test -d $path",
> >     }
> >     if $require {
> >         Exec["create_repo_${name}"]{
> >             require +> $require,
> >         }
> >     }
> > }
>
> > What am I doing wrong? Is there another way to add the require
> > metaparameter to the nested exec resource?
>
> "+>" is only valid when inheriting resources.
>
> Instead do this:
>
>  > define wget($source, $options = "", $unless = "") {
>  >     include pkg::virtual_packages
>  >     realize (Package["wget"])
>  >     exec {"wget $options -O $title $source":
>  >         path    => "/usr/bin:/opt/csw/bin",
>  >         unless  => "$unless",
>  >         timeout => 18000,
>  >     }
>  >
>  >     if $require {
>  >         Exec ["wget $options -O $title $source"]{
>  >             require => [ Package["wget"], $require ]
>  >         }
>  >     } else {
>  >         Exec ["wget $options -O $title $source"]{
>  >             require => [ Package["wget"] ]
>  >         }
>  >     }
>  > }
>
> Regards, DavidS
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---