Re: [Puppet Users] Facter facts and sudo

2014-03-12 Thread José Luis Ledesma
Hi,

   Have you reviewed the system logs? Perhaps you have the "requiretty"
option in the sudoers.

Anyway, why do you use sudo? Agent runs as root, so you can use just su.

Regards,
El 13/03/2014 01:42, "Jared Curtis"  escribió:

> Hi everyone,
>
> I currently have a custom fact that pulls some config settings from our
> postgres servers. It seems that these facts work fine when I run facter or
> puppet manually; but when the puppet daemon itself does a run the facts are
> not created.
>
> I'm doing two things differently in this fact when compared to others I've
> written.
>
>- It returns multiple facts
>- I'm using sudo
>
> Here's a link to the fact https://gist.github.com/jaredcurtis/9519725
>
> Anyone have any suggestions on how to make it work correctly?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to puppet-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/6dbcfbd6-2e06-43c6-b7fe-a51febcc3997%40googlegroups.com
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAF_B3ddrm2%2B71OscCJrLProDa%2B81v0MnQCW3uSN9XXNY4RPT9w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Facter facts and sudo

2014-03-12 Thread Jared Curtis
Hi everyone,

I currently have a custom fact that pulls some config settings from our 
postgres servers. It seems that these facts work fine when I run facter or 
puppet manually; but when the puppet daemon itself does a run the facts are 
not created.

I'm doing two things differently in this fact when compared to others I've 
written.

   - It returns multiple facts
   - I'm using sudo

Here's a link to the fact https://gist.github.com/jaredcurtis/9519725

Anyone have any suggestions on how to make it work correctly?

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/6dbcfbd6-2e06-43c6-b7fe-a51febcc3997%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Announce: Facter 2.0.1-rc2 Now Available.

2014-03-12 Thread Ryan McKern


*Facter 2.0.1-rc2*

*Pre-release *RC2: March 12, 2014.


*Facter 2.0.1-rc2 Downloads*

Source: https://downloads.puppetlabs.com/facter/facter-2.0.1-rc2.tar.gz

Available in native package format in the pre-release repositories at: 
http://yum.puppetlabs.com and http://apt.puppetlabs.com

For information on how to enable the Puppet Labs pre-release repos, see: 
http://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#enabling-the-prerelease-repos

Gems are available via rubygems at 
https://rubygems.org/downloads/facter-2.0.1.rc2.gem or by using gem install 
--pre facter

Mac packages are available at 
https://downloads.puppetlabs.com/mac/facter-2.0.1-rc2.dmg

Please report feedback via the Puppet Labs tickets site, using an affected 
facter version of 2.0.1-rc2: https://tickets.puppetlabs.com/browse/FACT


*Release Candidate:* Facter 2.0.1 is not yet released. It entered RC 2 on 
March 12, 2014.
Facter 2.0.1 is the first release in the Facter 2 series. (See the note 
below about Facter 2.0.0.)


*Features*

FACT-134: Perform basic sanity checks on Facter 
output

Facter now does sanity checking on the output of facts. Facter previously 
assumed that all facts would be of type String but did not enforce this; 
Facter now validates that facts are one of (Integer, Float, TrueClass, 
FalseClass, NilClass, String, Array, Hash).

FACT-237: Allow fact resolutions to be built up 
piece-wise

FACT-239: Expose different resolution types in 
DSL

Introduces aggregate resolutions for facts. Aggregate resolutions allow 
facts to be extended at runtime and provide a simplified way of building up 
complex fact values.

FACT-341: Windows operatingsystemrelease 
support

On Windows, the operatingsystemrelease fact now returns XP,2003, 2003 R2, 
Vista, 2008, 7, 2008 R2, 8, or 2012, depending on the version reportedy by 
WMI.


*Improvements*

FACT-94: Unvendor CFPropertyList

Removes vendored code for CFPropertyList in favor of treating it as a 
separate dependency and managing it with Rubygems.

FACT-163: Fact loading logic is overly 
complicated

In Facter 1.x the fact search path would be recursively loaded, but only 
when using Facter via the command line. In Facter 2.0 only fact files at 
the top level of the search path will be loaded, which matches the behavior 
when loading facts with Puppet.

FACT-266: Backport Facter::Util::Confine improvements to Facter 
2

Adds several improvements to Facter::Util::Confine, including the ability 
to confine a fact to a block.

FACT-321: Remove deprecated code for 
2.0

Code that had previously been marked deprecated has now been removed.

FACT-322: Remove special casing of the empty 
string

Previous versions of Facter would interpret an empty string (and only an 
empty string) as nil. Now that facts can return more than just strings 
(i.e., they can directly return nil), empty strings no longer have this 
special case.

FACT-186: Build Windows-specific 
gem

Adds Windows-specific gem dependencies for Facter 2.

FACT-194: Merge external facts support to Facter 
2

Adds pluginsync support for external facts to Facter 2.

FACT-207: Remove deprecated 
ldapname

Removes all instances of ldapname, completing its deprecation.

FACT-242: Remove Fedora 18 from default build 
targets

Fedora 18 has reached end-of-life and will no longer be supported. This 
release removes F18 as a build target.

FACT-272: Update Facter man page for 
2.0

The man page for Facter 2 now includes the new command line options.

FACT-342: Add Ubuntu 14.04 (Trusty Tahr) 
support

This release adds spec and accceptance tests for Ubuntu 14.04, also known 
as Trusty Tahr.


*Bug Fixes*

FACT-202: Fix undefined path in 
macaddress.rb

One of the possible resolutions for the macaddress fact would incorrectly 
return nil. This release fixes the bug.

FACT-351: undefined method 'ipaddress' for 
Facter:Module

This bug would cause the netmask fact to fail on Darwin under some 
circumstances. This release fixes the bug.

FACT-357: lsb facts return the empty string when 
undefined

FACT-357: vlan fact returns the empty string when 
undefined

[Puppet Users] Problems in Ch. 8 and 9 of Pro Puppet 2nd Edition

2014-03-12 Thread Jon Forrest
Here are the issues I found in Chapters 8 and 9.

Jon Forrest

M = mistake
U = unclear
T = typo
E = text change
C = comment

(T) Pg. 191 "like librarian puppet" ->
"like librarian-puppet"

(T) Pg. 191 "rspec-puppet, rspec-system and integrating" ->
"rspec-puppet, rspec-system, and integrating"

(U) Pg. 194 "mysql::db provider"
What's a "provider"?

(T) Pg. 196 "The puppet-module tool" ->
"The Puppet Module tool"
(This is how you've referred to it up to now.)

(T) Pg. 197 "in your version control" ->
"in your version control system"

(U) Pg. 197 "you will need to remove the contents"
Do you mean to remove the contents of /etc/puppet/modules from
the file system or from the version control system, or both?

(E) Pg. 197 "You can specify the version" ->
"You can specify the version you want to install"

(E) Pg. 198 "to version control" ->
"to your version control system"

(C) Pg. 198 You haven't mentioned Puppetfile.lock before. You should say
something about it if it's so critical that it needs to be kept in a
version control
system.

(T) Pg. 199 "First up is puppet lint" ->
"First up is puppet-lint"

(E) Pg. 202 "want a fixtures file" ->
"want a .fixtures.yml file"

(T) Pg. 202 "we have modified fixtures.yml" ->
"we have modified .fixtures.yml"

(E) Pg. 203 "specify osfamily as one of the OS families" ->
"assign osfamily the name of one of the OS families"

(E) Pg. 203 "it will throw an error" ->
"spec will throw an error"
(Is the name of this tool "spec" or "rspec"?)

(T) Pg. 208 "creating the rspec system directory layout" ->
"Creating the rspec-system directory layout"

(T) Pg. 210 "and then CD to the Vagrant folder" ->
" "and then cd to the Vagrant folder"

(T) Pg. 210 "Accessing rspec system Vagrant machines" ->
"Accessing rspec-system Vagrant machines"

(E) Pg. 217 "sent to the master server" ->
"sent to the Puppet master"

(E) Pg. 217 "success or failure of those resources" ->
"success or failure of those changes"

(E) Pg. 221 "Specifying this tag will make the report return all error
messages" ->
"Specifying this tag will make Puppet send all error messages"

(E) Pg. 221 "We can install RRDTools via package" ->
"We can install the RRDTools package"

(E) Pg. 221 "Red Hat, CentOS, and Mandriva versions" ->
"Red Hat, CentOS, and Mandriva"

(E) Pg. 222 "Both gems should work to produce" ->
"Both gems should produce"

(E) Pg. 222 "in the form of an HTTP Post" ->
"via an HTTP Post"

(E) Pg. 222 "on the master" ->
"on the Puppet master"

(E) Pg. 222 "supports the importation of"
"supports importing"

(U) Pg. 223 "Instead, the report processors are stored in the
lib/puppet/reports directory. For example, on an Ubuntu
Puppet master we'd add our custom report processor to the
/usr/lib/ruby/vendor_ruby/puppet/reports"
directory"
The second location mentioned,
/usr/lib/ruby/vendor_ruby/puppet/reports, is not in
lib/puppet/reports,
as the first sentence says it should be.

(E) Pg. 223 "You could also parse particular" ->
"You could also filter particular"

(E) Pg. 223 "We also wrote our summary report out to a directory named
after the Puppet agent host located under the reports
directory" ->
"We also wrote our summary report out to a directory, located under
the reports directory, named after the Puppet agent host"

(T) Pg. 225 "reporting data from thecode" ->
"reporting data from the code"

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAF0Z9iqHSxSY35unOZtC-aW3hS4shw6ak9z%2Bnz0RNzV2tvXVOQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] scheduling defined resources

2014-03-12 Thread jcbollinger


On Wednesday, March 12, 2014 8:39:45 AM UTC-5, Felix.Frank wrote:
>
> To answer the original point - no, I disbelieve you can tell puppet to 
> automagically pass certain metaparameters on to all contained resources. 
>
>
Well, you can't *tell it* to do so, but see 
http://docs.puppetlabs.com/puppet/latest/reference/lang_defined_types.html#metaparameters
.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/09c62ebf-1974-4a4e-a15e-5f0a0c8d5e12%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Cleaning up temp files with puppet

2014-03-12 Thread Kenton Brede
How about ending your script with a command that removes itself?

/bin/rm path_to_script
or
/bin/rm $0

Kent


On Tue, Mar 11, 2014 at 5:09 PM, nfwlpw  wrote:

> So I have a puppet module, that gets a script from files/, runs that
> script, and after it's done, I'd like to remove it.
>
> Unfortunately puppet doesn't seem to like to have 2 different File
> resource aliased to the same, so I can't do
>
> file { "myfile":
> ensure => present,
> source => "puppet:///...",
> }
>
> file { "remove myfile":
> path => "myfile",
>ensure => absent,
> }
>
> Puppet gave the error: err: Failed to apply catalog: Cannot alias
> File[remove myfile]...myfile already declared...
>
> The only work around I've found is using an exec resource.  Anyone know
> how to do this without exec?
>
> Thank you
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to puppet-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/d503ce3f-7678-4056-8386-b7eaaa02eb66%40googlegroups.com
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Kent Brede

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CA%2BnSE3_XR6nSYNCb%3Dgbq%3D%2BbMbDFveY5tg9VKbbUGYA%3DAf065cg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Replicating += with hiera

2014-03-12 Thread Kenton Brede
Thanks all!  Hiera is smarter than I knew.  This is great. :)
Kent


On Wed, Mar 12, 2014 at 1:42 PM, José Luis Ledesma <
joseluis.lede...@gmail.com> wrote:

> Try my code, its just what you want.
> El 12/03/2014 19:14, "Kenton Brede"  escribió:
>
>> Thanks for the help all.  Maybe I'm approaching this in the wrong way but
>> the example puts all users on each box.  I'm trying to do something like:
>>
>> users_common = admin1, admin2
>> server1 = users_common + user1
>> server2 = users_common
>> server3 = users_common + user1, user3
>>
>> The goal is to not have to list the admin users in each host.yaml file,
>> but include them.
>>
>> From what I gather hiera doesn't allow:
>>
>> sever1.yaml
>> include users_common
>>
>> server1_users:
>>   user1:
>> ensure: present
>> home: /home/user1
>>
>> Thanks,
>> Kent
>>
>>
>>
>>
>>
>>
>> On Wed, Mar 12, 2014 at 12:38 PM, José Luis Ledesma <
>> joseluis.lede...@gmail.com> wrote:
>>
>>>
>>> El 12/03/2014 17:19, "Jonathan Proulx"  escribió:
>>>
>>> >
>>> > see http://docs.puppetlabs.com/hiera/1/puppet.html
>>> >
>>> > "If you need to merge arrays or merge hashes from multiple hierarchy
>>> > levels, you will have to use the hiera_array or hiera_hash functions
>>> > in the body of your classes."
>>> >
>>> > There's not really a good example in that page, but essentially where
>>> > 'hiera' takes the most specific patch hiera_array and heira_hash
>>> > collect all the values across all matching hierarchies (though you
>>> > needn't define the key in every level)
>>> >
>>>
>>> +1 it should be something like
>>>
>>> common.yaml
>>> users:
>>>
>>>   user1:
>>> ensure: present
>>> home: /home/user1
>>> ..
>>>
>>> server1.yaml
>>>
>>> users:
>>>   user3:
>>> ensure: present
>>> home: /home/user3
>>>
>>> And then
>>> $users= hiera_hash('users')
>>> users::admin_homedir_define { $users: }
>>>
>>> Note: code not tested
>>>
>>> Regards
>>>
>>> > we use this for packages to install:
>>> >
>>> >   $basepackages = hiera_array('basepackages')
>>> >   ensure_packages($basepackages)
>>> >
>>> > Then in hiera be define (or not) arrays of packages by os version,
>>> role, etc...
>>> >
>>> > -Jon
>>> >
>>> > On Wed, Mar 12, 2014 at 12:11 PM, Kenton Brede 
>>> wrote:
>>> > > I'm in the process of moving to Puppet 3 and hiera.
>>> > >
>>> > > With my old setup I placed users that were on all servers in
>>> basenode.  Then
>>> > > did a += for any additional users in the node definition.
>>> > >
>>> > > node basenode {
>>> > >   users = ['user1', 'user2']
>>> > > }
>>> > >
>>> > > node server.example.com inherits basenode {
>>> > >   users += ['user3']
>>> > >   # or simple exclude the line, if there were no additional users
>>> > > }
>>> > >
>>> > > With the new setup I've got a common.yaml that contains a hash of
>>> users with
>>> > > access to all boxes.  Then I thought I'd place additional users for
>>> > > "server1" in server1.yaml.
>>> > >
>>> > > common.yaml
>>> > > users_common:
>>> > >   user1:
>>> > > ensure: present
>>> > > home: /home/user1
>>> > > ..
>>> > >
>>> > > server1.yaml
>>> > > server1_users:
>>> > >   user3:
>>> > > ensure: present
>>> > > home: /home/user3
>>> > > ..
>>> > >
>>> > > Then I call like this, which just pulls the usernames from the hash
>>> and
>>> > > creates home directories with a file type:
>>> > >
>>> > > class users::ldap {
>>> > >   # regular users
>>> > >   $users_common = hiera('users_common')
>>> > >   $users_common_keys = keys($users_common)
>>> > >   $users_hosts = hiera("${::hostname}_users")
>>> > >   $users_hosts_keys = keys($users_hosts)
>>> > >   $adusers_combined = flatten([ $users_common_keys,
>>> $users_hosts_keys ])
>>> > >
>>> > >   # create ldap user home directories
>>> > >   users::admin_homedir_define { $adusers_combined: }
>>> > > }
>>> > >
>>> > > Works great until there are no users for "${::hostname}_users."
>>> > >
>>> > > How can I make this work when "${::hostname}_users" is empty?
>>> > > Thanks,
>>> > >
>>> > > --
>>> > > Kent
>>> > >
>>> > >
>>> > >
>>> > >
>>> > > --
>>> > > You received this message because you are subscribed to the Google
>>> Groups
>>> > > "Puppet Users" group.
>>> > > To unsubscribe from this group and stop receiving emails from it,
>>> send an
>>> > > email to puppet-users+unsubscr...@googlegroups.com.
>>> > > To view this discussion on the web visit
>>> > >
>>> https://groups.google.com/d/msgid/puppet-users/CA%2BnSE3-%3D9zQvajiNMt9e%2BOA64fHrYwPkk4WEwhm0JBPHN598PA%40mail.gmail.com
>>> .
>>> > > For more options, visit https://groups.google.com/d/optout.
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google
>>> Groups "Puppet Users" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send
>>> an email to puppet-users+unsubscr...@googlegroups.com.
>>> > To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/puppet-users/CABZB-sgYSky1BzZ6Vf1OHuYonAhL

Re: [Puppet Users] Replicating += with hiera

2014-03-12 Thread José Luis Ledesma
Try my code, its just what you want.
El 12/03/2014 19:14, "Kenton Brede"  escribió:

> Thanks for the help all.  Maybe I'm approaching this in the wrong way but
> the example puts all users on each box.  I'm trying to do something like:
>
> users_common = admin1, admin2
> server1 = users_common + user1
> server2 = users_common
> server3 = users_common + user1, user3
>
> The goal is to not have to list the admin users in each host.yaml file,
> but include them.
>
> From what I gather hiera doesn't allow:
>
> sever1.yaml
> include users_common
>
> server1_users:
>   user1:
> ensure: present
> home: /home/user1
>
> Thanks,
> Kent
>
>
>
>
>
>
> On Wed, Mar 12, 2014 at 12:38 PM, José Luis Ledesma <
> joseluis.lede...@gmail.com> wrote:
>
>>
>> El 12/03/2014 17:19, "Jonathan Proulx"  escribió:
>>
>> >
>> > see http://docs.puppetlabs.com/hiera/1/puppet.html
>> >
>> > "If you need to merge arrays or merge hashes from multiple hierarchy
>> > levels, you will have to use the hiera_array or hiera_hash functions
>> > in the body of your classes."
>> >
>> > There's not really a good example in that page, but essentially where
>> > 'hiera' takes the most specific patch hiera_array and heira_hash
>> > collect all the values across all matching hierarchies (though you
>> > needn't define the key in every level)
>> >
>>
>> +1 it should be something like
>>
>> common.yaml
>> users:
>>
>>   user1:
>> ensure: present
>> home: /home/user1
>> ..
>>
>> server1.yaml
>>
>> users:
>>   user3:
>> ensure: present
>> home: /home/user3
>>
>> And then
>> $users= hiera_hash('users')
>> users::admin_homedir_define { $users: }
>>
>> Note: code not tested
>>
>> Regards
>>
>> > we use this for packages to install:
>> >
>> >   $basepackages = hiera_array('basepackages')
>> >   ensure_packages($basepackages)
>> >
>> > Then in hiera be define (or not) arrays of packages by os version,
>> role, etc...
>> >
>> > -Jon
>> >
>> > On Wed, Mar 12, 2014 at 12:11 PM, Kenton Brede 
>> wrote:
>> > > I'm in the process of moving to Puppet 3 and hiera.
>> > >
>> > > With my old setup I placed users that were on all servers in
>> basenode.  Then
>> > > did a += for any additional users in the node definition.
>> > >
>> > > node basenode {
>> > >   users = ['user1', 'user2']
>> > > }
>> > >
>> > > node server.example.com inherits basenode {
>> > >   users += ['user3']
>> > >   # or simple exclude the line, if there were no additional users
>> > > }
>> > >
>> > > With the new setup I've got a common.yaml that contains a hash of
>> users with
>> > > access to all boxes.  Then I thought I'd place additional users for
>> > > "server1" in server1.yaml.
>> > >
>> > > common.yaml
>> > > users_common:
>> > >   user1:
>> > > ensure: present
>> > > home: /home/user1
>> > > ..
>> > >
>> > > server1.yaml
>> > > server1_users:
>> > >   user3:
>> > > ensure: present
>> > > home: /home/user3
>> > > ..
>> > >
>> > > Then I call like this, which just pulls the usernames from the hash
>> and
>> > > creates home directories with a file type:
>> > >
>> > > class users::ldap {
>> > >   # regular users
>> > >   $users_common = hiera('users_common')
>> > >   $users_common_keys = keys($users_common)
>> > >   $users_hosts = hiera("${::hostname}_users")
>> > >   $users_hosts_keys = keys($users_hosts)
>> > >   $adusers_combined = flatten([ $users_common_keys, $users_hosts_keys
>> ])
>> > >
>> > >   # create ldap user home directories
>> > >   users::admin_homedir_define { $adusers_combined: }
>> > > }
>> > >
>> > > Works great until there are no users for "${::hostname}_users."
>> > >
>> > > How can I make this work when "${::hostname}_users" is empty?
>> > > Thanks,
>> > >
>> > > --
>> > > Kent
>> > >
>> > >
>> > >
>> > >
>> > > --
>> > > You received this message because you are subscribed to the Google
>> Groups
>> > > "Puppet Users" group.
>> > > To unsubscribe from this group and stop receiving emails from it,
>> send an
>> > > email to puppet-users+unsubscr...@googlegroups.com.
>> > > To view this discussion on the web visit
>> > >
>> https://groups.google.com/d/msgid/puppet-users/CA%2BnSE3-%3D9zQvajiNMt9e%2BOA64fHrYwPkk4WEwhm0JBPHN598PA%40mail.gmail.com
>> .
>> > > For more options, visit https://groups.google.com/d/optout.
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups "Puppet Users" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an email to puppet-users+unsubscr...@googlegroups.com.
>> > To view this discussion on the web visit
>> https://groups.google.com/d/msgid/puppet-users/CABZB-sgYSky1BzZ6Vf1OHuYonAhLh-gKV%2BN_RmiQreRyWbVk_w%40mail.gmail.com
>> .
>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Puppet Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to puppet-users+unsub

Re: [Puppet Users] Replicating += with hiera

2014-03-12 Thread Jonathan Proulx
To sort of meta example the pseudo code :)

On Wed, Mar 12, 2014 at 12:11 PM, Kenton Brede  wrote:

> With the new setup I've got a common.yaml that contains a hash of users with
> access to all boxes.  Then I thought I'd place additional users for
> "server1" in server1.yaml.
>
> common.yaml
> users_common:
>   user1:
> ensure: present
> home: /home/user1
> ..
>
> server1.yaml
> server1_users:
>   user3:
> ensure: present
> home: /home/user3
> ..

in stead of using users_common and server1_users just call both 'users':

common.yaml
users:
   user1:
 ensure: present
 home: /home/user1
 ..

 server1.yaml
 users:
   user3:
 ensure: present
 home: /home/user3
 ..

> Then I call like this, which just pulls the usernames from the hash and
> creates home directories with a file type:
>
> class users::ldap {
>   # regular users
>   $users_common = hiera('users_common')
>   $users_common_keys = keys($users_common)
>   $users_hosts = hiera("${::hostname}_users")
>   $users_hosts_keys = keys($users_hosts)
>   $adusers_combined = flatten([ $users_common_keys, $users_hosts_keys ])
>
>   # create ldap user home directories
>   users::admin_homedir_define { $adusers_combined: }
> }

You can then collect all the users with hiera_hash('users') rather
than fussing with seperate $users_common and $users_hosts

 class users::ldap {
   # regular users
   $users = hiera('users')
   $users_keys = keys($users)

   # create ldap user home directories
   users::admin_homedir_define { $users_keys: }
 }

Note I just copy pasted your code example & substituted syntax didn't
test, seems a bit odd that you're operating on just the keys not the
collected hash but left that as is since I don't knwo what it's
ultimately being fed to.


-Jon

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CABZB-sgk7SFULe_oQ5zLwDaXkMj_-4JTC9yTHzgZzSUcgrvcjA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Re: scheduling defined resources

2014-03-12 Thread Mark deJong


On Wednesday, March 12, 2014 9:27:24 AM UTC-4, jcbollinger wrote:
>
>
>
> On Tuesday, March 11, 2014 7:08:45 AM UTC-5, Mark deJong wrote:
>>
>>
>>  I'm having the issue with the passwd::user accepting the schedule 
>> metaparameter. I have tried it both with and without define the variable 
>> 'schedule.'
>>
>>
>
> The thing that jumps out at me right away is that you are declaring your 
> own $schedule parameter to your class and defined type.  All Puppet classes 
> and resource types, including defined types, have that [meta]parameter 
> automatically, without you declaring it.  It may be that by declaring it 
> explicitly you are shadowing the metaparameter with an ordinary parameter 
> of the same name.
>
> I thought that initially as well, and had tested removing my declared 
$schedule previously. Just to be sure I have removed all references of my 
own 'schedule' parameter again and it still yields the same results. I'll 
try to reproduce the bug report referenced by Felix.Frank.
 

> Additionally,
>
>- class passwd::schedule should not inherit from class passwd.  It 
>yields no benefit whatsoever for the code presented, and it creates a 
>circular evaluation dependency involving those two classes (which Puppet 
>nevertheless seems to handle successfully).
>- a schedule has no effect of its own on catalog application, 
>therefore it is useless (but also harmless) to include class 
>passwd::schedule in your relationship chain.  It would be sufficient to 
>just declare it without chaining.
>
> Thanks for the additional feedback! ;)

 

>
> John
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/65122374-68f5-42c5-baca-23a277ecce01%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Replicating += with hiera

2014-03-12 Thread Kenton Brede
Thanks for the help all.  Maybe I'm approaching this in the wrong way but
the example puts all users on each box.  I'm trying to do something like:

users_common = admin1, admin2
server1 = users_common + user1
server2 = users_common
server3 = users_common + user1, user3

The goal is to not have to list the admin users in each host.yaml file, but
include them.

>From what I gather hiera doesn't allow:

sever1.yaml
include users_common

server1_users:
  user1:
ensure: present
home: /home/user1

Thanks,
Kent






On Wed, Mar 12, 2014 at 12:38 PM, José Luis Ledesma <
joseluis.lede...@gmail.com> wrote:

>
> El 12/03/2014 17:19, "Jonathan Proulx"  escribió:
>
> >
> > see http://docs.puppetlabs.com/hiera/1/puppet.html
> >
> > "If you need to merge arrays or merge hashes from multiple hierarchy
> > levels, you will have to use the hiera_array or hiera_hash functions
> > in the body of your classes."
> >
> > There's not really a good example in that page, but essentially where
> > 'hiera' takes the most specific patch hiera_array and heira_hash
> > collect all the values across all matching hierarchies (though you
> > needn't define the key in every level)
> >
>
> +1 it should be something like
>
> common.yaml
> users:
>
>   user1:
> ensure: present
> home: /home/user1
> ..
>
> server1.yaml
>
> users:
>   user3:
> ensure: present
> home: /home/user3
>
> And then
> $users= hiera_hash('users')
> users::admin_homedir_define { $users: }
>
> Note: code not tested
>
> Regards
>
> > we use this for packages to install:
> >
> >   $basepackages = hiera_array('basepackages')
> >   ensure_packages($basepackages)
> >
> > Then in hiera be define (or not) arrays of packages by os version, role,
> etc...
> >
> > -Jon
> >
> > On Wed, Mar 12, 2014 at 12:11 PM, Kenton Brede  wrote:
> > > I'm in the process of moving to Puppet 3 and hiera.
> > >
> > > With my old setup I placed users that were on all servers in basenode.
>  Then
> > > did a += for any additional users in the node definition.
> > >
> > > node basenode {
> > >   users = ['user1', 'user2']
> > > }
> > >
> > > node server.example.com inherits basenode {
> > >   users += ['user3']
> > >   # or simple exclude the line, if there were no additional users
> > > }
> > >
> > > With the new setup I've got a common.yaml that contains a hash of
> users with
> > > access to all boxes.  Then I thought I'd place additional users for
> > > "server1" in server1.yaml.
> > >
> > > common.yaml
> > > users_common:
> > >   user1:
> > > ensure: present
> > > home: /home/user1
> > > ..
> > >
> > > server1.yaml
> > > server1_users:
> > >   user3:
> > > ensure: present
> > > home: /home/user3
> > > ..
> > >
> > > Then I call like this, which just pulls the usernames from the hash and
> > > creates home directories with a file type:
> > >
> > > class users::ldap {
> > >   # regular users
> > >   $users_common = hiera('users_common')
> > >   $users_common_keys = keys($users_common)
> > >   $users_hosts = hiera("${::hostname}_users")
> > >   $users_hosts_keys = keys($users_hosts)
> > >   $adusers_combined = flatten([ $users_common_keys, $users_hosts_keys
> ])
> > >
> > >   # create ldap user home directories
> > >   users::admin_homedir_define { $adusers_combined: }
> > > }
> > >
> > > Works great until there are no users for "${::hostname}_users."
> > >
> > > How can I make this work when "${::hostname}_users" is empty?
> > > Thanks,
> > >
> > > --
> > > Kent
> > >
> > >
> > >
> > >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Puppet Users" group.
> > > To unsubscribe from this group and stop receiving emails from it, send
> an
> > > email to puppet-users+unsubscr...@googlegroups.com.
> > > To view this discussion on the web visit
> > >
> https://groups.google.com/d/msgid/puppet-users/CA%2BnSE3-%3D9zQvajiNMt9e%2BOA64fHrYwPkk4WEwhm0JBPHN598PA%40mail.gmail.com
> .
> > > For more options, visit https://groups.google.com/d/optout.
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "Puppet Users" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to puppet-users+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/CABZB-sgYSky1BzZ6Vf1OHuYonAhLh-gKV%2BN_RmiQreRyWbVk_w%40mail.gmail.com
> .
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to puppet-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/CAF_B3dcgKzCVPdEBSjEQ5y6cMR0soodHcETwJOhZnSdW4QCrNQ%40mail.gmail.com

Re: [Puppet Users] exclusion/exception in server.pp file

2014-03-12 Thread José Luis Ledesma
Hi,

  This kind of code is screaming for hiera!

But if you want to continue this way, just set another if
if $::ipaddress =~ /^172.17.3.4/  {
   Data here
} elsif  $::ipaddress =~ /^172.17.3./  {
Another data here
}
 El 12/03/2014 17:40, "puppetstan"  escribió:

> Hello
>
> I have define in my server.pp file diferent zone and I defined my dns servers
> (resolv_servers). for my /etc/resolv.conf for this zone
>
>
> #Zone 1
> if $::ipaddress =~ /^172.17.3./ {
> $ntp_heure = "ntp.domain.fr"
> $fusioninventory_proxy = "http://proxy.domain.fr:8080";
> $resolv_servers = [ '172.30.12.11', '172.30.12.2' ]
> $resolv_search = "domain.fr"
> $yumconf_proxy = "http://proxy.domain.fr:8080";
> $yumconf_exclude = "kernel*"
> include base::minimal
> }
>
> The problem is that in this zone one server (172.17.3.4) that does not have
> the same dns. Is it possible to make an exclusion on this server and specify
> other addresses ips in this config file?
>
> thank you in advance
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to puppet-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/dc908091-8fbe-4e46-a5bb-4e1d1b2e503c%40googlegroups.com
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAF_B3ddnny3toicEkncNDmHgesJ7Nk9Hk2Wm0xdE3%2BzzL-fQCw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] exclusion/exception in server.pp file

2014-03-12 Thread Peter Bukowinski

On Mar 12, 2014, at 12:40 PM, puppetstan  wrote:

> Hello 
> 
> I have define in my server.pp file diferent zone and I defined my dns servers 
> (resolv_servers). for my /etc/resolv.conf for this zone 
> 
> 
> #Zone 1
> if $::ipaddress =~ /^172.17.3./ {
> $ntp_heure = "ntp.domain.fr"
> $fusioninventory_proxy = "http://proxy.domain.fr:8080";
> $resolv_servers = [ '172.30.12.11', '172.30.12.2' ]
> $resolv_search = "domain.fr"
> $yumconf_proxy = "http://proxy.domain.fr:8080";
> $yumconf_exclude = "kernel*"
> include base::minimal
> }
> 
> The problem is that in this zone one server (172.17.3.4) that does not have 
> the same dns. Is it possible to make an exclusion on this server and specify 
> other addresses ips in this config file? 
> 
> thank you in advance

One way to add an exclusion for a single value is to use a selector to assign a 
unique value for $resolv_servers based on ip address. Non-matching hosts get 
the default.

if $::ipaddress =~ /^172.17.3./ {
$ntp_heure = "ntp.domain.fr"
$fusioninventory_proxy = "http://proxy.domain.fr:8080";
$resolv_servers = $::ipaddress ? {
'172.17.3.4' => [ 'a.b.c.d', 'w.x.y.z' ],
default => [ '172.30.12.11', '172.30.12.2' ],
}
$resolv_search = "domain.fr"
$yumconf_proxy = "http://proxy.domain.fr:8080";
$yumconf_exclude = "kernel*"
include base::minimal
}

--
Peter Bukowinski

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/90C33C86-BCB2-4467-96FA-FBE77E03D75E%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Re: my puppets clients are unreachable

2014-03-12 Thread José Luis Ledesma
If the puppet agent is dead, you have to bring them up. Really not sure
what happened ( I have the agents always stopped)

I would recommend some kind of orchestration/automation tool to avoid
having to do this kind of things manually.( like mcollective if you want
open source)

Regards
El 12/03/2014 16:29, "puppetstan"  escribió:

> Hi
>
> Thanks for your answer but its not a DNS problem because i not join my
> puppet client.
>
> After to change a network device beetween my puppetmaster and my puppets
> clients, all my puppet client have this problem -->
>
> #/etc/init.d/puppet status
> puppetd is dead but pid file exist
>
>
> My puppet client lose the connection with a new device beetween my
> puppemaster and my puppet client and stop puppet daemon..
>
> this is not very reassuring
>
> Le mardi 11 mars 2014 17:35:18 UTC+1, puppetstan a écrit :
>>
>> Hello
>>
>> After to change a network device beetween my puppetmaster and my puppets
>> clients my puppetmaster, my puppets clients are unreachable.
>>
>> I changed a network device in front of a zone server. I need to edit the
>> file / etc / resolv.conf for all servers behind this network with my
>> puppetmaster but my puppets clients are unreachable, The puppet-dasboardsay :
>> Unresponsive.
>>
>> I m obliged to go to each server and restart puppet client service on
>> each server so that it works again
>>
>> Is there another solution because i have a lot of puppets clients?
>>
>> thank you in advance
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to puppet-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/a4f4ec80-3da6-4ddb-8f6f-ca8ce559edd5%40googlegroups.com
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAF_B3deryXXgZYcLEbf8gkcvWaLspZnPwDyK_0cTOtLp%2BCLC6Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Replicating += with hiera

2014-03-12 Thread José Luis Ledesma
El 12/03/2014 17:19, "Jonathan Proulx"  escribió:
>
> see http://docs.puppetlabs.com/hiera/1/puppet.html
>
> "If you need to merge arrays or merge hashes from multiple hierarchy
> levels, you will have to use the hiera_array or hiera_hash functions
> in the body of your classes."
>
> There's not really a good example in that page, but essentially where
> 'hiera' takes the most specific patch hiera_array and heira_hash
> collect all the values across all matching hierarchies (though you
> needn't define the key in every level)
>

+1 it should be something like

common.yaml
users:
  user1:
ensure: present
home: /home/user1
..

server1.yaml
users:
  user3:
ensure: present
home: /home/user3

And then
$users= hiera_hash('users')
users::admin_homedir_define { $users: }

Note: code not tested

Regards

> we use this for packages to install:
>
>   $basepackages = hiera_array('basepackages')
>   ensure_packages($basepackages)
>
> Then in hiera be define (or not) arrays of packages by os version, role,
etc...
>
> -Jon
>
> On Wed, Mar 12, 2014 at 12:11 PM, Kenton Brede  wrote:
> > I'm in the process of moving to Puppet 3 and hiera.
> >
> > With my old setup I placed users that were on all servers in basenode.
 Then
> > did a += for any additional users in the node definition.
> >
> > node basenode {
> >   users = ['user1', 'user2']
> > }
> >
> > node server.example.com inherits basenode {
> >   users += ['user3']
> >   # or simple exclude the line, if there were no additional users
> > }
> >
> > With the new setup I've got a common.yaml that contains a hash of users
with
> > access to all boxes.  Then I thought I'd place additional users for
> > "server1" in server1.yaml.
> >
> > common.yaml
> > users_common:
> >   user1:
> > ensure: present
> > home: /home/user1
> > ..
> >
> > server1.yaml
> > server1_users:
> >   user3:
> > ensure: present
> > home: /home/user3
> > ..
> >
> > Then I call like this, which just pulls the usernames from the hash and
> > creates home directories with a file type:
> >
> > class users::ldap {
> >   # regular users
> >   $users_common = hiera('users_common')
> >   $users_common_keys = keys($users_common)
> >   $users_hosts = hiera("${::hostname}_users")
> >   $users_hosts_keys = keys($users_hosts)
> >   $adusers_combined = flatten([ $users_common_keys, $users_hosts_keys ])
> >
> >   # create ldap user home directories
> >   users::admin_homedir_define { $adusers_combined: }
> > }
> >
> > Works great until there are no users for "${::hostname}_users."
> >
> > How can I make this work when "${::hostname}_users" is empty?
> > Thanks,
> >
> > --
> > Kent
> >
> >
> >
> >
> > --
> > You received this message because you are subscribed to the Google
Groups
> > "Puppet Users" group.
> > To unsubscribe from this group and stop receiving emails from it, send
an
> > email to puppet-users+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit
> >
https://groups.google.com/d/msgid/puppet-users/CA%2BnSE3-%3D9zQvajiNMt9e%2BOA64fHrYwPkk4WEwhm0JBPHN598PA%40mail.gmail.com
.
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
email to puppet-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/CABZB-sgYSky1BzZ6Vf1OHuYonAhLh-gKV%2BN_RmiQreRyWbVk_w%40mail.gmail.com
.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAF_B3dcgKzCVPdEBSjEQ5y6cMR0soodHcETwJOhZnSdW4QCrNQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] exclusion/exception in server.pp file

2014-03-12 Thread puppetstan
Hello 

I have define in my server.pp file diferent zone and I defined my dns servers 
(resolv_servers). for my /etc/resolv.conf for this zone 


#Zone 1
if $::ipaddress =~ /^172.17.3./ {
$ntp_heure = "ntp.domain.fr"
$fusioninventory_proxy = "http://proxy.domain.fr:8080";
$resolv_servers = [ '172.30.12.11', '172.30.12.2' ]
$resolv_search = "domain.fr"
$yumconf_proxy = "http://proxy.domain.fr:8080";
$yumconf_exclude = "kernel*"
include base::minimal
}

The problem is that in this zone one server (172.17.3.4) that does not have 
the same dns. Is it possible to make an exclusion on this server and specify 
other addresses ips in this config file? 

thank you in advance

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/dc908091-8fbe-4e46-a5bb-4e1d1b2e503c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] append registry array (REG_MULTI_SZ) with puppet

2014-03-12 Thread Helen Paterson
 
Hi,
 
When add values to a key using the below puppet code it clears the current 
values on the server. Is there away to simply append a reg key value ?
 









*class winregistry {  registry_value { 
'hklm\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\BackConnectionHostNames':
ensure => present,type => array,data => 
['myservername2.mydomain.com', 
'myservername3.mydomain.com','myservername4.mydomain.com'],
}}*

 

 

 

 

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/337dac52-9f31-41ea-8679-2d3096457e60%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Replicating += with hiera

2014-03-12 Thread Jonathan Proulx
see http://docs.puppetlabs.com/hiera/1/puppet.html

"If you need to merge arrays or merge hashes from multiple hierarchy
levels, you will have to use the hiera_array or hiera_hash functions
in the body of your classes."

There's not really a good example in that page, but essentially where
'hiera' takes the most specific patch hiera_array and heira_hash
collect all the values across all matching hierarchies (though you
needn't define the key in every level)

we use this for packages to install:

  $basepackages = hiera_array('basepackages')
  ensure_packages($basepackages)

Then in hiera be define (or not) arrays of packages by os version, role, etc...

-Jon

On Wed, Mar 12, 2014 at 12:11 PM, Kenton Brede  wrote:
> I'm in the process of moving to Puppet 3 and hiera.
>
> With my old setup I placed users that were on all servers in basenode.  Then
> did a += for any additional users in the node definition.
>
> node basenode {
>   users = ['user1', 'user2']
> }
>
> node server.example.com inherits basenode {
>   users += ['user3']
>   # or simple exclude the line, if there were no additional users
> }
>
> With the new setup I've got a common.yaml that contains a hash of users with
> access to all boxes.  Then I thought I'd place additional users for
> "server1" in server1.yaml.
>
> common.yaml
> users_common:
>   user1:
> ensure: present
> home: /home/user1
> ..
>
> server1.yaml
> server1_users:
>   user3:
> ensure: present
> home: /home/user3
> ..
>
> Then I call like this, which just pulls the usernames from the hash and
> creates home directories with a file type:
>
> class users::ldap {
>   # regular users
>   $users_common = hiera('users_common')
>   $users_common_keys = keys($users_common)
>   $users_hosts = hiera("${::hostname}_users")
>   $users_hosts_keys = keys($users_hosts)
>   $adusers_combined = flatten([ $users_common_keys, $users_hosts_keys ])
>
>   # create ldap user home directories
>   users::admin_homedir_define { $adusers_combined: }
> }
>
> Works great until there are no users for "${::hostname}_users."
>
> How can I make this work when "${::hostname}_users" is empty?
> Thanks,
>
> --
> Kent
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to puppet-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/CA%2BnSE3-%3D9zQvajiNMt9e%2BOA64fHrYwPkk4WEwhm0JBPHN598PA%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CABZB-sgYSky1BzZ6Vf1OHuYonAhLh-gKV%2BN_RmiQreRyWbVk_w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Replicating += with hiera

2014-03-12 Thread Felix Frank
Hi,

On 03/12/2014 05:11 PM, Kenton Brede wrote:
>   $users_hosts = hiera("${::hostname}_users")
> 
> Works great until there are no users for "${::hostname}_users."
> 
> How can I make this work when "${::hostname}_users" is empty?

I don't fully understand you problem, but I believe you want to pass a
default value to your hiera call so that it will work in the absence of
the key. E.g.

$users_hosts = hiera("${::hostname}_users", [])

HTH,
Felix

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/53208903.8090307%40alumni.tu-berlin.de.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Replicating += with hiera

2014-03-12 Thread Kenton Brede
I'm in the process of moving to Puppet 3 and hiera.

With my old setup I placed users that were on all servers in basenode.
Then did a += for any additional users in the node definition.

node basenode {
  users = ['user1', 'user2']
}

node server.example.com inherits basenode {
  users += ['user3']
  # or simple exclude the line, if there were no additional users
}

With the new setup I've got a common.yaml that contains a hash of users
with access to all boxes.  Then I thought I'd place additional users for
"server1" in server1.yaml.

common.yaml
users_common:
  user1:
ensure: present
home: /home/user1
..

server1.yaml
server1_users:
  user3:
ensure: present
home: /home/user3
..

Then I call like this, which just pulls the usernames from the hash and
creates home directories with a file type:

class users::ldap {
  # regular users
  $users_common = hiera('users_common')
  $users_common_keys = keys($users_common)
  $users_hosts = hiera("${::hostname}_users")
  $users_hosts_keys = keys($users_hosts)
  $adusers_combined = flatten([ $users_common_keys, $users_hosts_keys ])

  # create ldap user home directories
  users::admin_homedir_define { $adusers_combined: }
}

Works great until there are no users for "${::hostname}_users."

How can I make this work when "${::hostname}_users" is empty?
Thanks,

-- 
Kent

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CA%2BnSE3-%3D9zQvajiNMt9e%2BOA64fHrYwPkk4WEwhm0JBPHN598PA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Re: my puppets clients are unreachable

2014-03-12 Thread puppetstan
Hi

Thanks for your answer but its not a DNS problem because i not join my 
puppet client.

After to change a network device beetween my puppetmaster and my puppets 
clients, all my puppet client have this problem -->

#/etc/init.d/puppet status
puppetd is dead but pid file exist


My puppet client lose the connection with a new device beetween my 
puppemaster and my puppet client and stop puppet daemon..

this is not very reassuring

Le mardi 11 mars 2014 17:35:18 UTC+1, puppetstan a écrit :
>
> Hello 
>
> After to change a network device beetween my puppetmaster and my puppets 
> clients my puppetmaster, my puppets clients are unreachable.
>
> I changed a network device in front of a zone server. I need to edit the 
> file / etc / resolv.conf for all servers behind this network with my 
> puppetmaster but my puppets clients are unreachable, The puppet-dasboardsay : 
> Unresponsive. 
>
> I m obliged to go to each server and restart puppet client service on 
> each server so that it works again 
>
> Is there another solution because i have a lot of puppets clients? 
>
> thank you in advance
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/a4f4ec80-3da6-4ddb-8f6f-ca8ce559edd5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] [JOB] System Engineer - Columbus OH

2014-03-12 Thread Throwe, Jesse
All,

My team is looking to expand, and were looking for an experienced
systems admin/engineer with a puppet/ruby background.  This role has
some traditional administration elements, but also has a heavy and
rapidly growing devops role to it.  It also does require physical
locality to the central Ohio area.

The official description (and place to apply) is at:

https://acs-hr.silkroad.com/epostings/index.cfm?fuseaction=app.jobinfo&id=23&jobid=205910&company_id=16094&version=2&source=ONLINE&JobOwner=992578&level=levelid1&levelid1=84676&parent=Information%20Technology&startflag=2

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAMM%2BeSWAucCt4vdAnwKL_tnMXdn9YD-FMrcL%2Bib99-VQcmihtQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] augeas, ntp.conf and iburst

2014-03-12 Thread Kenton Brede
I want to add a server on top of the stack in ntp.conf like:

server time.example.com iburst
server 0.rhel.pool.ntp.org iburst
...

I came up with this:

  augeas { 'ntp.conf':
context => '/files/etc/ntp.conf',
changes => [
  'ins server before server[1]',
  'set server[1] time.example.com' ,
],
onlyif  => 'match server[. = "time.example.com"] size == 0',
  }

This in fact adds "time.example.com" on top of "0.rhel.pool.ntp.org iburst"
but excludes "iburst" at the end of the line.

server time.example.com
server 0.rhel.pool.ntp.org iburst
...

I tried "'set server[1] "time.example.com iburst"' but get error "Could not
evaluate: Save failed with return code false."

augtool prints this:
/files/etc/ntp.conf/server[1] = "0.rhel.pool.ntp.org"
/files/etc/ntp.conf/server[1]/iburst

So the iburst line doesn't really have a variable.

How do I append "iburst" at the end of "time.example.com?"

Thanks,

-- 
Kent

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CA%2BnSE387szbuxeLyAEW40YB4as2CuGDxQiEaghnUDXiLSKnwOA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Managing iptables with puppet

2014-03-12 Thread Joseph Swick
On 03/12/2014 06:13 AM, Sandro von Matterhorn wrote:
> 
> 
> Hello Community,
> 
> we are managing 40 Linux Servers with Puppet and it is really a great tool.
> 
> But now we want to configure our firewall settings via Puppet and I am 
> searching for an elegant way to do this.
> 

> 
> But this is to static. I don't want to allow generally Port 443 for example 
> (this would work with this template), I want a solution for IP + Port Pairs.
> Does anybody has an idea, how I could do this?
> 
> 
> Thanks a lot
> 

Have you looked at the PuppetLabs Firewall module from the forge yet?
It can do most (if not all) of what you're trying to do for iptables
management with manifests.

http://forge.puppetlabs.com/puppetlabs/firewall

-- 
Joseph Swick 
Operations Engineer
Meltwater Group



signature.asc
Description: OpenPGP digital signature


Re: [Puppet Users] Managing iptables with puppet

2014-03-12 Thread David Schmitt

Have a look at the example iptables module:

https://github.com/example42/puppet-iptables


Regards, David

On 2014-03-12 11:13, Sandro von Matterhorn wrote:

Hello Community,

we are managing 40 Linux Servers with Puppet and it is really a great
tool.

But now we want to configure our firewall settings via Puppet and I 
am

searching for an elegant way to do this.

The settings are configured manually, yet. We have some Servers which
are using Webservices including a MySql database, like

f. e. Moodle, BSCW, Jira and so on. In the most cases the databases
are running on their own server for a better performance.

For example Moodle has two servers: The Moodleserver with the
webapplication and a second server for the Moodle database.

The idea is, that the MySql database is only open through the web
(internet and intranet) for the Moodleserver.

So we configured the ip tables on that machines like this:

# Allow MySQL from 192.168.190.56 (Moodle Server)
 -A INPUT -p tcp -s 192.168.190.56 --dport 3355 -j ACCEPT
 -A INPUT -p tcp -s 217.198.190.56 --dport 3355 -j ACCEPT

# Allow MySQL from 192.168.200.190 (Jira Server)
 -A INPUT -p tcp -s 192.168.200.160 --dport 3355 -j ACCEPT
 -A INPUT -p tcp -s 217.198.200.160 --dport 3355 -j ACCEPT

Now we want to build a class "firewall" and a template, that could do
this job dynamical for us. So that we could use a puppetVar in LDAP
with

ip:port pairs like in the sample picture below:

 [1]
In this example the puppet client bscw-server.example.com should
configure it's IP-Tables rules like in the manually config above.
The problem is: I am a very bad coder and I don't know Ruby very 
good.


The firewall class is already written, I think this should work:

class firewall{
 package { "iptables":
 ensure => latest,
 }
 file { "/etc/iptables":
 ensure => "directory",
 path => "/etc/iptables",
 owner => "root",
 group => "root",
 mode => 700,
 }

 file { "/etc/iptables/up.rules":
 owner => root,
 group => root,
 mode => 600,
 content => template("firewall/up.rules.erb"),
 }
 exec { "/sbin/iptables-restore < /etc/iptables/up.rules":
 subscribe => File["/etc/iptables/up.rules"],
 }
 file { "/etc/network/if-pre-up.d/iptables":
 owner => root,
 group => root,
 mode => 755,
 source => "puppet:///firewall/iptables",
 }
}

For the template (up.rules.erb) I could realize to configure simple
allowed ports:

*filter
:INPUT DROP
:FORWARD DROP
:OUTPUT DROP

# Allows all loopback (lo0) traffic and drop all traffic to 127/8 
that

doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

# Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allows all outbound traffic
# You could modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

-A INPUT -p tcp -m multiport --dports <%= tcp_ports %> -j ACCEPT

# Allows SSH connections
# Alle
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

# Allow Simpana
-A INPUT -p tcp -s 192.168.129.52 -m state --state NEW -m multiport
--dports 8400:8420 -j ACCEPT

# Allow ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

# Allow Nagios NRPE
-A INPUT -p tcp -s <%= nagios %> --dport 5666 -j ACCEPT

# Drop Netbios
-A INPUT -p udp --match multiport --dports 137,138 -j DROP

# Reject all other inbound - default deny unless explicitly allowed
policy:
-A INPUT -j REJECT
-A FORWARD -j REJECT

COMMIT

But this is to static. I don't want to allow generally Port 443 for
example (this would work with this template), I want a solution for 
IP

+ Port Pairs.
Does anybody has an idea, how I could do this?

Thanks a lot

 --
 You received this message because you are subscribed to the Google
Groups "Puppet Users" group.
 To unsubscribe from this group and stop receiving emails from it,
send an email to puppet-users+unsubscr...@googlegroups.com [2].
 To view this discussion on the web visit

https://groups.google.com/d/msgid/puppet-users/5650012e-d324-4143-a298-0534bc88858c%40googlegroups.com
[3].
 For more options, visit https://groups.google.com/d/optout [4].


Links:
--
[1]

https://lh4.googleusercontent.com/-_NnhR02RdpU/UyAvBOoj5aI/A7A/-Fa6DVjCp7A/s1600/Auswahl_001.png
[2] mailto:puppet-users+unsubscr...@googlegroups.com
[3]

https://groups.google.com/d/msgid/puppet-users/5650012e-d324-4143-a298-0534bc88858c%40googlegroups.com?utm_medium=email&utm_source=footer
[4] https://groups.google.com/d/optout


--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/c2597d0994fe0d8222693de4180cc1ef%40hosting.edv-bus.at.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] versioncmp.rb example

2014-03-12 Thread samra40390
I looked at versioncmp example available out of box.


It is like strcmp.
I have a need to write a manifest to check for the existence of java version. 
If it is 1.5.0.3 or less, upgrade to 1.7.1. This should be done on 10 nodes.


Appreciate any example to accomplish this task. thanks

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/8D10BA5C66CB3D1-318-35AA7%40webmail-m260.sysops.aol.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Managing iptables with puppet

2014-03-12 Thread Sandro von Matterhorn


Hello Community,

we are managing 40 Linux Servers with Puppet and it is really a great tool.

But now we want to configure our firewall settings via Puppet and I am 
searching for an elegant way to do this.

The settings are configured manually, yet. We have some Servers which are 
using Webservices including a MySql database, like

f. e. Moodle, BSCW, Jira and so on. In the most cases the databases are 
running on their own server for a better performance.

For example Moodle has two servers: The Moodleserver with the 
webapplication and a second server for the Moodle database.

The idea is, that the MySql database is only open through the web (internet 
and intranet) for the Moodleserver.


So we configured the ip tables on that machines like this:

# Allow MySQL from 192.168.190.56 (Moodle Server)
  -A INPUT -p tcp -s 192.168.190.56 --dport 3355 -j ACCEPT
  -A INPUT -p tcp -s 217.198.190.56 --dport 3355 -j ACCEPT

# Allow MySQL from 192.168.200.190 (Jira Server)
  -A INPUT -p tcp -s 192.168.200.160 --dport 3355 -j ACCEPT
  -A INPUT -p tcp -s 217.198.200.160 --dport 3355 -j ACCEPT


Now we want to build a class "firewall" and a template, that could do this 
job dynamical for us. So that we could use a puppetVar in LDAP with

ip:port pairs like in the sample picture below:




In this example the puppet client bscw-server.example.com should configure 
it's IP-Tables rules like in the manually config above.
The problem is: I am a very bad coder and I don't know Ruby very good.

The firewall class is already written, I think this should work:

class firewall{
package { "iptables":
 ensure => latest,
}
file { "/etc/iptables":
ensure => "directory",
path=> "/etc/iptables",
owner   => "root",
group   => "root",
mode=> 700,
}

file { "/etc/iptables/up.rules":
owner   => root,
group   => root,
mode=> 600,
content => template("firewall/up.rules.erb"),
}
exec { "/sbin/iptables-restore < /etc/iptables/up.rules":
subscribe   => File["/etc/iptables/up.rules"],
}
file { "/etc/network/if-pre-up.d/iptables":
owner   => root,
group   => root,
mode=> 755,
source => "puppet:///firewall/iptables",
}
}


For the template (up.rules.erb) I could realize to configure simple allowed 
ports:

*filter
:INPUT DROP
:FORWARD DROP
:OUTPUT DROP

# Allows all loopback (lo0) traffic and drop all traffic to 127/8 that 
doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

# Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allows all outbound traffic
# You could modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

-A INPUT -p tcp -m multiport --dports <%= tcp_ports %> -j ACCEPT

# Allows SSH connections
# Alle
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

# Allow Simpana
-A INPUT -p tcp -s 192.168.129.52 -m state --state NEW -m multiport 
--dports 8400:8420 -j ACCEPT

# Allow ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

# Allow Nagios NRPE
-A INPUT -p tcp -s <%= nagios %> --dport 5666 -j ACCEPT

# Drop Netbios
-A INPUT -p udp --match multiport --dports 137,138 -j DROP

# Reject all other inbound - default deny unless explicitly allowed policy:
-A INPUT -j REJECT
-A FORWARD -j REJECT

COMMIT



But this is to static. I don't want to allow generally Port 443 for example 
(this would work with this template), I want a solution for IP + Port Pairs.
Does anybody has an idea, how I could do this?


Thanks a lot

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/5650012e-d324-4143-a298-0534bc88858c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Re: Puppet dashborad ENC script output blank

2014-03-12 Thread Stefan Heijmans
Hi,
 
Have you defined any classes *in* Puppet Dashbaord and assigned them 
node1.example.com?
 
Stefan

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/23505462-3f08-4f1c-aee4-32ccf0367c06%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Re: Pushing git repo to Windows agent

2014-03-12 Thread jcbollinger


On Tuesday, March 11, 2014 3:10:25 PM UTC-5, Nick Miller wrote:
>
> Steps to reproduce:
>
> 1) Create a new git repository (I'm using Bitbucket)
>
> 2) Create a file called 'test1.txt', and push it to the repo.
>
> 3) Create a class to pull the repo.  I'm using ssh cert authentication, 
> but I'm not sure that matters
>
> class gitrepo {
>
>  vcsrepo { '/tmp/git/puppet-test':
>
>
> ensure  => latest,
>
> provider=> git,
>
> source  => 
> "g...@bitbucket.org:user/puppet-test.git",
>
> revision=> 'master',
>
> }
>
>
>
> }
>
>
> 4) Run 'puppet agent --test' to pull the repo down
>
> 5) Add another file to the repo, say 'test2.txt' and push the changes to 
> git
>
> 6) Run 'puppet agent --test' again to pull the latest changes.
>
> Any changes to existing files don't seem to cause the problem, only new 
> files.
>
>

Inasmuch as I am supposing that the problem is related to specifics of how 
you are manipulating the repo, I was looking for more detail at step (5), 
and maybe also at step (2) and even step (1).  Before that, however, have 
you tried running the agent with debug output turned on?  That should yield 
a record of all the external commands that are being run.  In particular, 
it may yield a clue as to where the "origin/(detached from 3c40894)" is 
coming from.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/97e7a05e-94a0-4228-b815-2d2b1d929519%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] scheduling defined resources

2014-03-12 Thread Felix Frank
To answer the original point - no, I disbelieve you can tell puppet to
automagically pass certain metaparameters on to all contained resources.

That would be a useful feature I think.

Note that there is at least one pertinent bug report at
https://projects.puppetlabs.com/issues/12653

...but I believe you have nailed the issue better than the OP, actually.

On 03/07/2014 03:57 PM, Mark deJong wrote:
> Is there anyway to change its behavior to apply the schedule to our
> custom defines as a whole, and not have to pass that parameter to every
> resource within?

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/532063A1.2060609%40alumni.tu-berlin.de.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Re: scheduling defined resources

2014-03-12 Thread jcbollinger


On Tuesday, March 11, 2014 7:08:45 AM UTC-5, Mark deJong wrote:
>
>
>  I'm having the issue with the passwd::user accepting the schedule 
> metaparameter. I have tried it both with and without define the variable 
> 'schedule.'
>
>

The thing that jumps out at me right away is that you are declaring your 
own $schedule parameter to your class and defined type.  All Puppet classes 
and resource types, including defined types, have that [meta]parameter 
automatically, without you declaring it.  It may be that by declaring it 
explicitly you are shadowing the metaparameter with an ordinary parameter 
of the same name.

Additionally,

   - class passwd::schedule should not inherit from class passwd.  It 
   yields no benefit whatsoever for the code presented, and it creates a 
   circular evaluation dependency involving those two classes (which Puppet 
   nevertheless seems to handle successfully).
   - a schedule has no effect of its own on catalog application, therefore 
   it is useless (but also harmless) to include class passwd::schedule in your 
   relationship chain.  It would be sufficient to just declare it without 
   chaining.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/ce17151e-8eec-4b11-872b-0d68868199b5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] puppetdb question !!!

2014-03-12 Thread Rakesh Kathpal
https://tickets.puppetlabs.com/browse/PDB-508


On Tue, Mar 11, 2014 at 10:28 PM, Ken Barber  wrote:

> > Just a suggestion .. it will really good if you can add field "date
> added"
> > to the certname table just reporting purposes.
>
> Feel free to raise that as a feature request here Rakesh:
> https://tickets.puppetlabs.com/browse/PDB
>
> ken.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to puppet-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/CAE4bNT%3D6LBjFCDrym8auMw7ufxMwBmV_d6x-yTO4CxdMPkdKqQ%40mail.gmail.com
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAEJrXMUuNe%2B-cQ79N3qxQNKDMQ2gK0a7KNo97nYv6YKPzOnkyA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.