[Puppet Users] Look for existing Facter Modules for retrieving some system description information

2012-05-21 Thread Christophe L
Hello,

I have not been able to find existing Facter modules for retrieving
the information I listed below.

Could you point me on some modules which would anwer my needs please ?

Below the list of information I would need to retrieve.

Thanks in advance for your help.

Best regards,
Christophe

1) Bios Information

"version":"6.00", "bios_revision":"4.6",
"release_date":"10/13/2009","vendor":"Phoenix Technologies LTD",

2) processor related information

"max_speed":"3 MHz", "signature":"Type 0, Family 6, Model 30,
Stepping 5", "voltage":"3.3 V"
 "Socket Designation":"CPU socket #0", "Version":"Pentium(R) Pro",
"Current Speed":"2533 MHz", "ID":"E5 06 01 00 FF FB EB 0F",
"Manufacturer":"GenuineIntel", "Family":"Pentium Pro",
"cache_size":"8192 KB",

3) mouting points list

 "/dev/sda1":{
"kb_size":"15791024", "uuid":"88eb9c66-5ce8-458e-
a7da-3b20cfcf3278", "mount_options":[ "rw", "errors=remount-ro" ],
"fs_type":"ext3", "mount":"/",


4) memory chip related information

 "Installed Size":"1024 MB (Single-bank Connection)",
"record_id":"0x000D", "Socket Designation":"RAM socket #0", "Enabled
Size":"1024 MB (Single-bank Connection)", "Error Status":"OK",
"Type":"EDO DIMM"

5) network related information

"default_gateway":"10.66.112.1"

6) block devices

"sda":{ "model":"Virtual disk", "size":"33554432", "timeout":"180",
"rev":"1.0", "removable":"0", "vendor":"VMware", "state":"running"

7) users and groups

"group":{ "mygroup":{ "gid":1000,
"passwd":{ "myuser":{ "gecos":"My User,,,", "gid":1000, "dir":"/home/
myuser", "uid":1000, "shell":"/bin/bash"

-- 
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: Is there a way to limit the number of agents that can run concurrently?

2012-05-21 Thread Karim
Thanks a bunch. Seems like I have some research to do :-)

On May 19, 4:22 pm, Vlad  wrote:
> For a similar scenario I use mcollective
> with puppetd 
> agent
>  and
> puppet 
> commander
>
> It will evenly spread the agent's runs in the given interval with the given
> concurrency.
>
>
>
>
>
>
>
> On Saturday, May 19, 2012 4:09:08 AM UTC-5, Karim wrote:
>
> > Hi all,
>
> > I've set up a Puppet environment with a master managing around 80
> > agents. I would like to set a limit on the number of agents that can
> > be performing puppet runs at any given moment...so, for example, if
> > there are already 3 puppet runs ongoing, the 4th agent should be put
> > on hold until one of the 3 runs finishes.
>
> > Is there a way to configure this? It would be perfect if it can be set
> > within node groups.
>
> > Thanks,
> > Karim

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



Re: [Puppet Users] Hiera Questions: An array of :datadir: ?

2012-05-21 Thread Luke Bigum

On 18/05/12 14:00, Dan White wrote:

Thanks for responding, Luke.

This looks like a useful expansion of the hiera back-end, but as I am still 
fairly new to Puppet (and Python and Ruby for that matter), I think I will wait 
for this to be formally accepted and incorporated before trying it myself.

One parting question: Is the :hierarchy: repeated in each mamber of the 
:datadir: ?  Logically, it should repeat, but I'd rather ask and be certain.

“Sometimes I think the surest sign that intelligent life exists elsewhere in 
the universe is that none of it has tried to contact us.”
Bill Waterson (Calvin&  Hobbes)



Hi Dan,

Last week I was going to reply with "Sure does, here's an example 
debug..." and I released that my code didn't work they way I thought it 
did, I had the inner and outer loops around the wrong way ;-)


So after much more butchering of RIP's code I can happily report that 
the :hierarchy: is searched as the outer loop, the :datadir: Array as 
the inner loop. This means that first the %{fqdn} files are searched in 
each member of :datadir:, then if nothing is found it moves on to 
'%{lmax_env}_role' and so on down the hierarchy.


A (working!) example:

[root@gs2puppet01 ~]# /opt/ruby-enterprise/bin/hiera -c 
/etc/puppet/hiera.yaml -y 
/var/lib/puppet/yaml/facts/test.example.com.yaml -a collective --debug


DEBUG: Mon May 21 07:59:39 + 2012: Hiera JSON backend starting
DEBUG: Mon May 21 07:59:39 + 2012: Looking up collective in JSON backend
DEBUG: Mon May 21 07:59:39 + 2012: Looking for data source 
test.example.com
DEBUG: Mon May 21 07:59:39 + 2012: Backend datadir for json is an 
Array, multiple data dirs to search
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/private/test.example.com.json, skipping
DEBUG: Mon May 21 07:59:39 + 2012: Found datafile 
/etc/puppet/environments/production/hiera_data_store/test.example.com.json
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/environments/production/rebirth_data_store/test.example.com.json, 
skipping
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/environments/production/satellite_system_groups/test.example.com.json, 
skipping
DEBUG: Mon May 21 07:59:39 + 2012: Attempting to read JSON from 
/etc/puppet/environments/production/hiera_data_store/test.example.com.json

DEBUG: Mon May 21 07:59:39 + 2012: Looking for data source _role
DEBUG: Mon May 21 07:59:39 + 2012: Backend datadir for json is an 
Array, multiple data dirs to search
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/private/_role.json, skipping
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/environments/production/hiera_data_store/_role.json, skipping
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/environments/production/rebirth_data_store/_role.json, skipping
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/environments/production/satellite_system_groups/_role.json, 
skipping

DEBUG: Mon May 21 07:59:39 + 2012: Looking for data source _server
DEBUG: Mon May 21 07:59:39 + 2012: Backend datadir for json is an 
Array, multiple data dirs to search
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/private/_server.json, skipping
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/environments/production/hiera_data_store/_server.json, skipping
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/environments/production/rebirth_data_store/_server.json, 
skipping
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/environments/production/satellite_system_groups/_server.json, skipping

DEBUG: Mon May 21 07:59:39 + 2012: Looking for data source example.com
DEBUG: Mon May 21 07:59:39 + 2012: Backend datadir for json is an 
Array, multiple data dirs to search
DEBUG: Mon May 21 07:59:39 + 2012: Found datafile 
/etc/puppet/private/example.com.json
DEBUG: Mon May 21 07:59:39 + 2012: Found datafile 
/etc/puppet/environments/production/hiera_data_store/example.com.json
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/environments/production/rebirth_data_store/example.com.json, 
skipping
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/environments/production/satellite_system_groups/example.com.json, 
skipping
DEBUG: Mon May 21 07:59:39 + 2012: Attempting to read JSON from 
/etc/puppet/private/example.com.json
DEBUG: Mon May 21 07:59:39 + 2012: Attempting to read JSON from 
/etc/puppet/environments/production/hiera_data_store/example.com.json

DEBUG: Mon May 21 07:59:39 + 2012: Looking for data source common
DEBUG: Mon May 21 07:59:39 + 2012: Backend datadir for json is an 
Array, multiple data dirs to search
DEBUG: Mon May 21 07:59:39 + 2012: Cannot find datafile 
/etc/puppet/private/common.json, skipping
DEBUG: Mon

Re: [Puppet Users] Hiera Questions: Virtual User Resources and Hiera

2012-05-21 Thread Luke Bigum
I agree with Gary, Dan, it's probably the lack of data in the 
'v_ingroups' key in your YAML that create_resources() is complaining 
about. If it truly can't pass an empty key/val pair you could do 
something hacky like use the string "undef" then explicitly check for it 
in the define.


define add_virtual_user ( $v_username, $v_uid, $v_ingroups, $v_info ) {
   if ($v_ingroups == "undef") {
   $real_v_ingroups  = undef
   } else {
   $real_v_ingroups = $v_ingroups
   }
   @add_user { "${name}":
   username => "${v_username}",
   uid  => "${v_uid}",
   ingroups => "${real_v_ingroups}",
   info => "${v_info}",
   }
}

On 18/05/12 23:16, Gary Larizza wrote:
I wonder if the nil value is not being accepted as 'being passed' - 
can you populate the nil value and try again?


On Fri, May 18, 2012 at 2:41 PM, Dan White > wrote:





- Luke Bigum mailto:luke.bi...@lmax.com>> wrote:
> On 18/05/12 13:46, Dan White wrote:
> > Ah, Gary !  Just the brain I wish to pick !  :)
> >
> > Thanks for the response. It makes sense.
> > However, if I perceive this properly, it would provide an
All-Or-Nothing implementation of users.
> >
> > I am looking for for a way to have a master list of users in
hiera and then realize/instantiate a group-keyed-subset of the
master list on each node.
> >
> > “Sometimes I think the surest sign that intelligent life
exists elsewhere in the universe is that none of it has tried to
contact us.”
> > Bill Waterson (Calvin&  Hobbes)
> >
>
> Why not use a define to wrap the virtualised declaration of your
users,
> or tried and doesn't work? Theoretically like this:
>
> 
> define virtualise_user ($name, $uid, ...) {
>@user { $name:
>  uid => $uid,
>}
> }
>
> $all_users = hiera_hash('users')
>
> create_resources('virtualise_user', $all_users)
> 
>

Closer, but no cigar yet !

user.pp:
-
define add_user ( $username, $uid, $ingroups, $info ) {

}

define add_virtual_user ( $v_username, $v_uid, $v_ingroups,
$v_info ) {
   @add_user { "${name}":
   username => "${v_username}",
   uid  => "${v_uid}",
   ingroups => "${v_ingroups}",
   info => "${v_info}",
   }
}
-
/etc/puppet/hierdata/common.yaml:
-
users:
   beast:
   v_username : beast
   v_uid  : 
   v_ingroups :
   v_info : Let's see if this works
   boo:
   v_username : boo
   v_uid  : 6667
   v_ingroups :
   v_info : Let's see if this works also

-

And if I say:
hiera users -c /etc/puppet/hiera.yaml

I get:
{"beast"=>{"v_info"=>"Let's see if this works",
"v_username"=>"beast", "v_ingroups"=>nil, "v_uid"=>},
"boo"=>{"v_info"=>"Let's see if this works also",
"v_username"=>"boo", "v_ingroups"=>nil, "v_uid"=>6667}}

Which is out of order, but everything is there.  That's how hashes
are supposed to work !

But when I try to run the catalog with
 $the_users = hiera('users')  or $the_users = hiera_hash('users')
followed by :
 create_resources ( 'add_virtual_user', $the_users )
I get:
 Must pass a parameter or all necessary values at
/etc/puppet/manifests/nodes/puppetmaster-node.pp:15 on node
puppetmaster.foo.org 


“Sometimes I think the surest sign that intelligent life exists
elsewhere in the universe is that none of it has tried to contact us.”
Bill Waterson (Calvin & Hobbes)

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




--

Gary Larizza
Professional Services Engineer
Puppet Labs

--
You received this message because you are subscribed to the Google 
Groups "Puppet Users" group.

To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



--
Luke Bigum

Information Systems
Ph: +44 (0) 20 3192 2520
luke.bi...@lmax.com | http://www.lmax.com
LMAX, Yellow Building, 1A Nicholas Road, London W11 4AN



FX and CFDs are leveraged products that can result in losses exceeding
your deposit.  They are not sui

[Puppet Users] Re: Look for existing Facter Modules for retrieving some system description information

2012-05-21 Thread Krzysztof Wilczynski
Hi,

On Monday, May 21, 2012 8:31:48 AM UTC+1, Christophe L wrote:
>
> Hello, 
>
> I have not been able to find existing Facter modules for retrieving 
> the information I listed below. 
>
> Could you point me on some modules which would anwer my needs please ? 
>
> Below the list of information I would need to retrieve. 
>
> Thanks in advance for your help. 
>
> Best regards, 
> Christophe 
>
> 1) Bios Information 
>
> "version":"6.00", "bios_revision":"4.6", 
> "release_date":"10/13/2009","vendor":"Phoenix Technologies LTD", 
>
> 2) processor related information 
>
> "max_speed":"3 MHz", "signature":"Type 0, Family 6, Model 30, 
> Stepping 5", "voltage":"3.3 V" 
>  "Socket Designation":"CPU socket #0", "Version":"Pentium(R) Pro", 
> "Current Speed":"2533 MHz", "ID":"E5 06 01 00 FF FB EB 0F", 
> "Manufacturer":"GenuineIntel", "Family":"Pentium Pro", 
> "cache_size":"8192 KB", 
>
> 3) mouting points list 
>
>  "/dev/sda1":{ 
> "kb_size":"15791024", "uuid":"88eb9c66-5ce8-458e- 
> a7da-3b20cfcf3278", "mount_options":[ "rw", "errors=remount-ro" ], 
> "fs_type":"ext3", "mount":"/", 
>
>
> 4) memory chip related information 
>
>  "Installed Size":"1024 MB (Single-bank Connection)", 
> "record_id":"0x000D", "Socket Designation":"RAM socket #0", "Enabled 
> Size":"1024 MB (Single-bank Connection)", "Error Status":"OK", 
> "Type":"EDO DIMM" 
>
> 5) network related information 
>
> "default_gateway":"10.66.112.1" 
>
> 6) block devices 
>
> "sda":{ "model":"Virtual disk", "size":"33554432", "timeout":"180", 
> "rev":"1.0", "removable":"0", "vendor":"VMware", "state":"running" 
>
> 7) users and groups 
>
> "group":{ "mygroup":{ "gid":1000, 
> "passwd":{ "myuser":{ "gecos":"My User,,,", "gid":1000, "dir":"/home/ 
> myuser", "uid":1000, "shell":"/bin/bash"


Where do you look for these?

Some of them are already there in Facter, others can be found on people's 
github profiles (including mine). Google Fu needs working on a little :)

KW 

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



Re: [Puppet Users] Re: Announce: PuppetDB 0.9.0 (first release) is available

2012-05-21 Thread Erik Dalén
On 19 May 2012 01:44, Deepak Giridharagopal  wrote:
> On Fri, May 18, 2012 at 7:48 AM, Philip Brown  wrote:
>>
>>
>>
>> On Friday, May 18, 2012 7:21:26 AM UTC-7, Michael Stanhke wrote:
>>>
>>> PuppetDB, a component of the Puppet Data Library, is a centralized
>>> storage
>>> daemon for auto-generated data. This initial release of PuppetDB targets
>>> the
>>> storage of catalogs and facts:
>>> ...
>>>
>>> As this is the first public release, the version is 0.9.0 (a.k.a. “open
>>> beta”).
>>> While we’ve been using PuppetDB internally at Puppet Labs for months
>>> without
>>> incident, we encourage you to try it out, hammer it with data, and let us
>>> know
>>> if you run into any issues! A 1.0 release will come after a few cycles of
>>> bug
>>> squashing.
>>>
>>
>> Sounds interesting.  I have a question about integration;
>>
>> How does this interact or integrate with puppet dashboard?
>> Is this an "either one or the other" sort of thing? Or do they play nicely
>> together? or do they actually do completely different things?
>
>
> Dashboard uses the inventory service API to do its queries for things like
> nodes and facts. As luck would have it, PuppetDB's terminuses implement that
> same API. If you configure your Puppetmaster so that PuppetDB handles
> inventory service queries (this is covered in the installation docs), and
> point Dashboard at your Puppetmaster, things will Just Work.
>
> PuppetDB doesn't (yet) do report storage, so that will continue to work
> inside of Dashboard as it always has.
>

Do you plan on merging it so that the inventory service node queries
can use classes and parameters in the search queries?

I know this is already possible using foreman.

-- 
Erik Dalén

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



[Puppet Users] Re: can puppet replace NIS?

2012-05-21 Thread jcbollinger


On May 19, 6:51 pm, ConradL  wrote:
> Does anyone out there have experienced replacing NIS, using puppet?
> If so, can you kindly share to me some advise, gotchas, and whatnot,
> etc...

Puppet cannot directly replace NIS, as it doesn't operate in the same
space.  I suppose you're thinking of using Puppet to manage local
authentication and hosts databases (and maybe others) on your nodes
instead of those nodes relying on central NIS databases.  Some of the
factors you should weigh include:

1) When you update a central database such as NIS, the update is
immediately available to all nodes (though caching may affect how soon
they recognize it).  On the other hand, if you rely on updating local
databases on all your nodes via Puppet then there will be some time
when nodes' local databases do not all agree.  That time can be
extended indefinitely if the Puppet agent is turned off on some of
your nodes.  If updates are frequent then you may not be able to rely
on nodes ever being completely synchronized.

2) Lookups in local files are faster than RPC invocations across the
network, and they leave more bandwidth available for other traffic.
Local caching (e.g. via nscd) can convert most NIS lookups from RPC to
local, however.

3) Network lookups are a problem for disconnected machines, such as
(at times) laptops.

4) For users, you can combine NIS in compat mode with authorization
management via Puppet.  Puppet does not support it out of the box, but
it's a fairly straightforward project to use for learning about
writing custom Puppet providers.

5) As others have observed, there are other alternatives to consider,
such as LDAP for users and/or hosts and DNS for hosts.


John

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



[Puppet Users] Re: CA error

2012-05-21 Thread jcbollinger


On May 20, 11:53 pm, shanghainese  wrote:
> I have a problem bother me for few days.
> I install puppet on three nodes which consist of the the same kind of
> parts. One is used as puppet server and rest two are used as puppet
> clients. Also, I Synchronized the date before I installed puppet.
>
> For puppet server, I use autosign and set puppet certname as ”puppet”.
> For clients, I use the default configurations.
>
> One client can run puppet without any problem.
> Another client runs puppet without error at the firs time. But error
> occurs from second time.
> -
> err: Could not request certificate: Retrieved certificate does not
> match private key; please remove certificate from server and
> regenerate it with the current key
> Exiting; failed to retrieve certificate and waitforcert is disabled
> -
>
> I use command "puppetca --clean hostname" to clean the ca at puppet
> server, and use command "find /var/lib/puppet -type f -print0 |xargs
> -0r rm" to clean ssl ca at client.
>
> If I do not reboot client, I will alway get 403 forbiden error.
> If I reboot client, I can run "puppetd --test" for the first time, but
> get the same error from second time.
>
> The problems are: I use the same configuration at clients, Why can one
> client run without error but another cannot. And how can I solve this
> problem?


The error you describe strongly suggests that your two client nodes
are trying to use the same certname on their own SSL certificates.
With a default Puppet agent configuration, the certname is the
client's hostname at the time the certificate was generated.  I
speculate that one or both of these are true:

1) The client nodes' hostnames were left at some installation default
value up through the time of their first Puppet runs.  For example,
they might both be named "localhost.localdomain".

or

2) One client node was created from a disk image of the other, or both
were created from the same pre-built image, without assigning distinct
names to each client.

If you find that the clients indeed have the same name, then I suggest
starting completely fresh on the SSL front: shut down the master and
agent services, wipe out Puppet's SSL directories on all of the
machines, set distinct names on all the machines, then proceed as
before.


John

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



[Puppet Users] Re: Custom type, autoinclude

2012-05-21 Thread jcbollinger


On May 20, 6:17 am, Markus Falb  wrote:
> Hi,
> I was thinking about a conceptual thing and I will try to explain with a
> concrete example.
>
> In the puppetlabs-lvm module
> there is code like this in the logical_volume provider
>
> if mount( '-f', '--guess-fstype', path) =~ /ext[34]/
>   resize2fs( path) || ...
> end
>
> The resize2fs command is in the e2fsprogs package (well it is more
> complicated, but this is another topic), so this package has to be
> installed or an error will thrown.
>
> I was thinking about how to ensure that the package is installed.
> I realize that I could do just
>
> package { 'e2fsprogs': }
> logical_volume { 'bla':
>   fs_type => 'ext3',
>   require => Package['e2fsprogs']
>
> }
>
> Is it possible to hide this dependency in the custom type?


It depends on what exactly you mean by that, but the "confine"
function in your provider code expresses providers' requirements on
external resources.  It will cause Puppet to find the provider
unsuitable if the expressed requirements are not met.


> Is it possible to include another class from within a custom type?


No.  The native type and provider framework cannot modify the
catalog.  This is as it should be, for the type should not know the
requirements (that's the provider's job), whereas the master does not
know at catalog compilation time what provider will be used.


> After
> the other class is included autorequire could do its job. I think it is
> some kind of autoinclude that I am after.


You can do something like that with a defined type, but not with a
custom (native) type.  This is the sort of problem that run stages
were originally conceived to solve, but the idea mutated along the
way, and the actual implementation of run stages in 2.6 and 2.7 does
not solve it.


John

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



Re: [Puppet Users] Announce: Puppet 3.0.0rc1 Available

2012-05-21 Thread Erik Dalén
On 18 May 2012 08:36, Matthaus Litteken  wrote:>
*snip*
>
> Debs are available at http://apt.puppetlabs.com
>
*snip*

Are the deb packages supposed to be just one package for all
components for 3.0 onwards?
And is the puppetdb-teminus package needed for puppet 3.0?

ATM puppetdb-terminus depends on puppet-common, and puppet-common
conflicts with the puppet 3.0 package.

-- 
Erik Dalén

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



Re: [Puppet Users] Announce: Puppet 3.0.0rc1 Available

2012-05-21 Thread Erik Dalén
On 21 May 2012 17:20, Erik Dalén  wrote:
> On 18 May 2012 08:36, Matthaus Litteken  wrote:>
> *snip*
>>
>> Debs are available at http://apt.puppetlabs.com
>>
> *snip*
>
> Are the deb packages supposed to be just one package for all
> components for 3.0 onwards?
> And is the puppetdb-teminus package needed for puppet 3.0?
>
> ATM puppetdb-terminus depends on puppet-common, and puppet-common
> conflicts with the puppet 3.0 package.
>


And also the puppet 3.0 package depends on puppet-common 3.0, but that
package isn't available on apt.puppetlabs.com

-- 
Erik Dalén

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



[Puppet Users] puppetdb build fails on OpenSUSE systems with undefined method

2012-05-21 Thread Darin Perusich
Hello All,

I'm attempting to build puppetdb on opensuse it's failing with the
error "undefined method `downcase' for nil:NilClass". The Rakefile is
setting @plibdir based on "osfamily =
Facter.value(:osfamily).downcase" and osfamily is not a fact on
OpenSUSE/SUSE systems. How should I work around this?

Code block from Rakefile:

require 'facter'
osfamily = Facter.value(:osfamily).downcase
if osfamily.downcase =~ /debian/and PE_BUILD == ''
  @plibdir = '/usr/lib/ruby/1.8'
elsif osfamily.downcase =~ /debian/ and PE_BUILD.downcase == "true"
  @plibdir = '/opt/puppet/lib/ruby/1.8'
elsif osfamily.downcase =~ /redhat/ and PE_BUILD == ''
  @plibdir = '/usr/lib/ruby/site_ruby/1.8'
elsif osfamily.downcase =~ /redhat/ and PE_BUILD.downcase == "true"
  @plibdir = '/opt/puppet/lib/ruby/site_ruby/1.8'
end


--
Later,
Darin

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



Re: [Puppet Users] Custom type, autoinclude

2012-05-21 Thread Stefan Schulte
On Sun, May 20, 2012 at 01:17:57PM +0200, Markus Falb wrote:
> Hi,
> I was thinking about a conceptual thing and I will try to explain with a
> concrete example.
> 
> In the puppetlabs-lvm module
> there is code like this in the logical_volume provider
> 
> if mount( '-f', '--guess-fstype', path) =~ /ext[34]/
>   resize2fs( path) || ...
> end
> 
> The resize2fs command is in the e2fsprogs package (well it is more
> complicated, but this is another topic), so this package has to be
> installed or an error will thrown.
> 
> I was thinking about how to ensure that the package is installed.
> I realize that I could do just
> 
> package { 'e2fsprogs': }
> logical_volume { 'bla':
>   fs_type => 'ext3',
>   require => Package['e2fsprogs']
> }
> 
> Is it possible to hide this dependency in the custom type?

The custom type "logical_volume" could specify an autorequire:

in logical_volume.rb:

autorequire(:package) do
  'e2fsprogs'
end

This way every logical_volume will depend on Package['e2fsprogs'] but
only if such a package is present in the catalog.

But what version of puppet are you using? Not sure if

http://projects.puppetlabs.com/issues/6907

already covers your case.

-Stefan

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



Re: [Puppet Users] puppetdb build fails on OpenSUSE systems with undefined method

2012-05-21 Thread Deepak Giridharagopal
Hi Darin,

On Mon, May 21, 2012 at 9:39 AM, Darin Perusich  wrote:

> Hello All,
>
> I'm attempting to build puppetdb on opensuse it's failing with the
> error "undefined method `downcase' for nil:NilClass". The Rakefile is
> setting @plibdir based on "osfamily =
> Facter.value(:osfamily).downcase" and osfamily is not a fact on
> OpenSUSE/SUSE systems. How should I work around this?
>
> Code block from Rakefile:
>
> require 'facter'
> osfamily = Facter.value(:osfamily).downcase
> if osfamily.downcase =~ /debian/and PE_BUILD == ''
>  @plibdir = '/usr/lib/ruby/1.8'
> elsif osfamily.downcase =~ /debian/ and PE_BUILD.downcase == "true"
>  @plibdir = '/opt/puppet/lib/ruby/1.8'
> elsif osfamily.downcase =~ /redhat/ and PE_BUILD == ''
>  @plibdir = '/usr/lib/ruby/site_ruby/1.8'
> elsif osfamily.downcase =~ /redhat/ and PE_BUILD.downcase == "true"
>  @plibdir = '/opt/puppet/lib/ruby/site_ruby/1.8'
> end
>

That sounds like a bug to me! I've file
http://projects.puppetlabs.com/issues/14607 to track the issue. A few
questions:

1) Is there a different fact we should be using on SUSE that mentions that
the box is actually a SUSE system?

2) What is the ruby library path on a SUSE system using the stock ruby
packages?

Thanks!
deepak

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



Re: [Puppet Users] Announce: Puppet 3.0.0rc1 Available

2012-05-21 Thread Matthaus Litteken
Erik,
Thanks for catching that. I'm adding the missing packages now.

-matthaus

On Mon, May 21, 2012 at 8:26 AM, Erik Dalén  wrote:
> On 21 May 2012 17:20, Erik Dalén  wrote:
>> On 18 May 2012 08:36, Matthaus Litteken  wrote:>
>> *snip*
>>>
>>> Debs are available at http://apt.puppetlabs.com
>>>
>> *snip*
>>
>> Are the deb packages supposed to be just one package for all
>> components for 3.0 onwards?
>> And is the puppetdb-teminus package needed for puppet 3.0?
>>
>> ATM puppetdb-terminus depends on puppet-common, and puppet-common
>> conflicts with the puppet 3.0 package.
>>
>
>
> And also the puppet 3.0 package depends on puppet-common 3.0, but that
> package isn't available on apt.puppetlabs.com
>
> --
> Erik Dalén
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> To post to this group, send email to puppet-users@googlegroups.com.
> To unsubscribe from this group, send email to 
> puppet-users+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/puppet-users?hl=en.
>



-- 
Matthaus Litteken
Release Manager, Puppet Labs

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



Re: [Puppet Users] Puppet master file serve

2012-05-21 Thread David Campos
To solve this I changed the way that I used to retrieve artifacts. Since 
now, server is the one that executes the functions and it is the function 
the one that download files from network I did automount a folder (at 
puppet libdir) that would be the one that stores all files and serves them 
to my agents.

The code that download artifacts from Nexus does not redownload if the 
artifact is already downloaded so the overhead from Nexus artifacts would 
be small and the master has to download the file only once (this is a plus 
from the agent downloading files architecture). The problem is that files 
from Jenkins should be downloaded ALWAYS (there may be always a new file 
with changes) and this may cause a big overhead if too many projects 
request catalog compilation (also there is a downside of too many of the 
'same' node asking the same file). Clearly I do not like this because now, 
it is the master that has the biggest work retrieving files...

Anyone with a better puppet background than mine could show me a better way 
to deal with third party files? Keep in mind that the only 'static' files 
are the ones from Nexus and not the ones from Jenkins.

Thanks,

On Tuesday, May 15, 2012 4:56:11 PM UTC+2, David Campos wrote:
>
> I knew about that features. When a file is placed a files and referenced 
> through puppet: is automatically served to the agent. 
> Either through puppet master or apply.
>
> My problem came because we have a Nexus server that serves any external 
> file (we also try to store there our supported versions of third party 
> applications and software) and a Jenkins server that performs incremental 
> builds of our software. When I want to mix that together in order to get an 
> environment (either for dry-run, production, or testing purposes) I need 
> to: download my infrastructure from Nexus (or wget the correct files), 
> install if necessary, get the latest version from my module at Jenkins, 
> deploy. 
>
> The first portion of work could be moved to files but I do not find it a 
> good practice to version it (remember that I was using a standalone puppet 
> installation before master) and would be hard to change versions through 
> environments (Nexus allows that, since is just a proxy). The second part, 
> download from Jenkins, is not possible since the new build has just come 
> out from the oven.
>
> That's why I did choose a method to download them from an external http 
> resource and not from static file serve. Does puppet provide a tool for it? 
> Should I stick with the fixed files folder, fileserve.conf and so?
>
>

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



Re: [Puppet Users] Re: Announce: PuppetDB 0.9.0 (first release) is available

2012-05-21 Thread Marc Zampetti
Is Puppet Labs saying they are ending support of MySQL and instead will 
only support PostgreSQL? That is going to be a big problems for shops 
that do not support PostgresSQL, or are only allowed to run DB systems 
on an approved list. Why wouldn't a DB-agnostic model be used?


Right now, I can say that due to these types of issues, I cannot even 
evaluate PuppetDB, and will not be able to for the foreseeable future.


Also, does this mean that the existing inventory service and store 
configs functionality goes away?


On Mon May 21 07:11:07 2012, Erik Dalén wrote:

On 19 May 2012 01:44, Deepak Giridharagopal  wrote:

On Fri, May 18, 2012 at 7:48 AM, Philip Brown  wrote:




On Friday, May 18, 2012 7:21:26 AM UTC-7, Michael Stanhke wrote:


PuppetDB, a component of the Puppet Data Library, is a centralized
storage
daemon for auto-generated data. This initial release of PuppetDB targets
the
storage of catalogs and facts:
...

As this is the first public release, the version is 0.9.0 (a.k.a. “open
beta”).
While we’ve been using PuppetDB internally at Puppet Labs for months
without
incident, we encourage you to try it out, hammer it with data, and let us
know
if you run into any issues! A 1.0 release will come after a few cycles of
bug
squashing.



Sounds interesting.  I have a question about integration;

How does this interact or integrate with puppet dashboard?
Is this an "either one or the other" sort of thing? Or do they play nicely
together? or do they actually do completely different things?



Dashboard uses the inventory service API to do its queries for things like
nodes and facts. As luck would have it, PuppetDB's terminuses implement that
same API. If you configure your Puppetmaster so that PuppetDB handles
inventory service queries (this is covered in the installation docs), and
point Dashboard at your Puppetmaster, things will Just Work.

PuppetDB doesn't (yet) do report storage, so that will continue to work
inside of Dashboard as it always has.



Do you plan on merging it so that the inventory service node queries
can use classes and parameters in the search queries?

I know this is already possible using foreman.



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



Re: [Puppet Users] puppetdb build fails on OpenSUSE systems with undefined method

2012-05-21 Thread Darin Perusich
Hi Deepak,

On Mon, May 21, 2012 at 12:28 PM, Deepak Giridharagopal
 wrote:
> Hi Darin,
>
> On Mon, May 21, 2012 at 9:39 AM, Darin Perusich  wrote:
>>
>> Hello All,
>>
>> I'm attempting to build puppetdb on opensuse it's failing with the
>> error "undefined method `downcase' for nil:NilClass". The Rakefile is
>> setting @plibdir based on "osfamily =
>> Facter.value(:osfamily).downcase" and osfamily is not a fact on
>> OpenSUSE/SUSE systems. How should I work around this?
>>
>> Code block from Rakefile:
>>
>> require 'facter'
>> osfamily = Facter.value(:osfamily).downcase
>> if osfamily.downcase =~ /debian/    and PE_BUILD == ''
>>  @plibdir = '/usr/lib/ruby/1.8'
>> elsif osfamily.downcase =~ /debian/ and PE_BUILD.downcase == "true"
>>  @plibdir = '/opt/puppet/lib/ruby/1.8'
>> elsif osfamily.downcase =~ /redhat/ and PE_BUILD == ''
>>  @plibdir = '/usr/lib/ruby/site_ruby/1.8'
>> elsif osfamily.downcase =~ /redhat/ and PE_BUILD.downcase == "true"
>>  @plibdir = '/opt/puppet/lib/ruby/site_ruby/1.8'
>> end
>
>
> That sounds like a bug to me! I've file
> http://projects.puppetlabs.com/issues/14607 to track the issue. A few
> questions:

I've updated the ticket with this info already, but for those on the list.

> 1) Is there a different fact we should be using on SUSE that mentions that
> the box is actually a SUSE system?

Here are the facts which mention suse on an OpenSUSE and SLES, and a
SLES for vmware system. Looks like OpenSuSE is missing osfamily which
seems odd. This is the case on OpenSUSE 11.3 (facter 1.5.7) and 12.1
(facter 1.6.0) using the stock facter. Looks like lsbdistid is the
only commonality across the systems.

OpenSuSE:
facter |grep -i suse
lsbdistdescription => openSUSE 12.1 (i586)
lsbdistid => SUSE LINUX
operatingsystem => OpenSuSE

SLES:
facter | grep -i suse
lsbdistdescription => SUSE Linux Enterprise Server 11 (x86_64)
lsbdistid => SUSE LINUX
osfamily => Suse

SLES for VMWARE:
facter |grep -i suse
lsbdistdescription => SUSE Linux Enterprise Server 11 (x86_64)
lsbdistid => SUSE LINUX

> 2) What is the ruby library path on a SUSE system using the stock ruby
> packages?

The ruby library path from the stock package depends on architecture
but will be one of the following:

i586: /usr/lib/ruby/site_ruby/1.8/
x86_64: /usr/lib64/ruby/site_ruby/1.8/

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

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



[Puppet Users] Re: Puppet Module

2012-05-21 Thread Napo Mokoetle
Had same errors when running "bundle install" during Openstack install too. 
Adding the caps as in HTTP_PROXY to the environment variables also helped. 
Thanks you for the helpful link.

On Thursday, April 12, 2012 8:16:38 AM UTC+2, niraj wrote:
>
> Hi All, 
> I am getting the following err while looking up for this command 
>
>
> # puppet-module search iptables 
>
>
>  sudo puppet-module search iptables 
> = 
> Searching http://forge.puppetlabs.com 
> - 
> /usr/lib/ruby/1.8/net/http.rb:560:in `initialize': Connection timed 
> out - connect(2) (Errno::ETIMEDOUT) 
> from /usr/lib/ruby/1.8/net/http.rb:560:in `open' 
> from /usr/lib/ruby/1.8/net/http.rb:560:in `connect' 
> from /usr/lib/ruby/1.8/timeout.rb:53:in `timeout' 
> from /usr/lib/ruby/1.8/timeout.rb:93:in `timeout' 
> from /usr/lib/ruby/1.8/net/http.rb:560:in `connect' 
> from /usr/lib/ruby/1.8/net/http.rb:553:in `do_start' 
> from /usr/lib/ruby/1.8/net/http.rb:542:in `start' 
> from /usr/lib/ruby/1.8/net/http.rb:440:in `start' 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/bin/../ 
> lib/puppet/module/tool/repository.rb:39:in `read_contact' 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/bin/../ 
> lib/puppet/module/tool/repository.rb:33:in `contact' 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/bin/../ 
> lib/puppet/module/tool/applications/searcher.rb:15:in `run' 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/bin/../ 
> lib/puppet/module/tool/applications/application.rb:10:in `run' 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/bin/../ 
> lib/puppet/module/tool/cli.rb:75:in `search' 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/vendor/ 
> thor-852190ae/lib/thor/task.rb:33:in `send' 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/vendor/ 
> thor-852190ae/lib/thor/task.rb:33:in `run' 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/vendor/ 
> thor-852190ae/lib/thor/invocation.rb:109 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/vendor/ 
> thor-852190ae/lib/thor/invocation.rb:116:in `call' 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/vendor/ 
> thor-852190ae/lib/thor/invocation.rb:116:in `invoke' 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/vendor/ 
> thor-852190ae/lib/thor.rb:137:in `start' 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/vendor/ 
> thor-852190ae/lib/thor/base.rb:378:in `start' 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/vendor/ 
> thor-852190ae/lib/thor.rb:124:in `start' 
> from /usr/lib/ruby/gems/1.8/gems/puppet-module-0.3.4/bin/ 
> puppet-module:7 
> from /usr/bin/puppet-module:19:in `load' 
> from /usr/bin/puppet-module:19 
>
>
>
> I work behind a proxy server having user name and pwd.  Can you 
> suggest me all how do i ingest this command to work with proxy.. 
>
>
>

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



Re: [Puppet Users] Re: can puppet replace NIS?

2012-05-21 Thread Conrad Landicho
Hi guys --
Thanks all for your feedback.   Yes, I was actually thinking about  user /
group
management aspect in NIS-to-puppet migration.  It looks like LDAP is a more
appropriate tool for this.

Thanks again, and regards .

-Conrad

On Mon, May 21, 2012 at 6:05 AM, jcbollinger wrote:

>
>
> On May 19, 6:51 pm, ConradL  wrote:
> > Does anyone out there have experienced replacing NIS, using puppet?
> > If so, can you kindly share to me some advise, gotchas, and whatnot,
> > etc...
>
> Puppet cannot directly replace NIS, as it doesn't operate in the same
> space.  I suppose you're thinking of using Puppet to manage local
> authentication and hosts databases (and maybe others) on your nodes
> instead of those nodes relying on central NIS databases.  Some of the
> factors you should weigh include:
>
> 1) When you update a central database such as NIS, the update is
> immediately available to all nodes (though caching may affect how soon
> they recognize it).  On the other hand, if you rely on updating local
> databases on all your nodes via Puppet then there will be some time
> when nodes' local databases do not all agree.  That time can be
> extended indefinitely if the Puppet agent is turned off on some of
> your nodes.  If updates are frequent then you may not be able to rely
> on nodes ever being completely synchronized.
>
> 2) Lookups in local files are faster than RPC invocations across the
> network, and they leave more bandwidth available for other traffic.
> Local caching (e.g. via nscd) can convert most NIS lookups from RPC to
> local, however.
>
> 3) Network lookups are a problem for disconnected machines, such as
> (at times) laptops.
>
> 4) For users, you can combine NIS in compat mode with authorization
> management via Puppet.  Puppet does not support it out of the box, but
> it's a fairly straightforward project to use for learning about
> writing custom Puppet providers.
>
> 5) As others have observed, there are other alternatives to consider,
> such as LDAP for users and/or hosts and DNS for hosts.
>
>
> John
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To post to this group, send email to puppet-users@googlegroups.com.
> To unsubscribe from this group, send email to
> puppet-users+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/puppet-users?hl=en.
>
>

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



[Puppet Users] Domain is sometimes wrong on Windows

2012-05-21 Thread Josh Cooper
Hello,

There is a Facter bug affecting Puppet 2.7 and Puppet Enterprise 2.5
on Windows[1]. The bug causes Facter to report different values for a
hosts' domain, and therefore fqdn, at different times. This, in turn,
affects certificates and the node name. We have already fixed this in
Facter 2.0, but not Facter 1.6.x, which Puppet 2.7 and PE 2.5 depend
on. We have received a number of requests to have this issue
fixed[2][3], and we would like to see this issue resolved as soon as
possible to stop the bug from proliferating.

However, if we do make this change in Facter 1.6.x, it means the fqdn
fact may change in Puppet 2.7 and PE 2.5. If it does, you will need to
re-issue certificates for these hosts, but it may also involve
updating node entries in manifests, renaming nodes in dashboard, etc.

We believe that most users that have been affected by this problem,
would in fact welcome it being fixed, even though it may require
additional steps if the Windows node name changes. However, there may
be a set of users that have come to rely on the current behavior, and
would not be in favor of this change in a maintenance release.

I have created a simply ruby test script that will display what the
domain fact would change to, if at all[4]. Basically, it tests whether
the primary dns domain is set, and if so, gives preference to that
over the per-interface dns domain. If the script shows that the domain
would change to the "wrong" domain, please let us know.

I would also ask that if you have a primary dns domain set, how was it
configured? Was it set via Active Directory, manually configured in
computer properties, etc?

Thank you, Josh

[1] https://projects.puppetlabs.com/issues/12864
[2] https://projects.puppetlabs.com/issues/12116
[3] 
https://groups.google.com/a/puppetlabs.com/group/pe-users/browse_thread/thread/2d9df7a4c8535cf8/b16b376bb9622eef#b16b376bb9622eef
[4] https://gist.github.com/2726251

-- 
Josh Cooper
Developer, Puppet Labs

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



[Puppet Users] linting manifests with long lines

2012-05-21 Thread Tim Mooney


All-

I've been working through our local manifests with puppet-lint, trying
to make certain we're as prepared as possible for puppet 3.x.  I would
like for our manifests to be warning-free.  The class of warnings
related to long lines has me questioning what the best practice is to
avoid lines longer than 80 characters.

The two big offenders are URLs:

class foo {
  yumrepo { 'some-repo':
baseurl  => 
'http://some-relatively-long-domain.com/some-path/centos$releasever/$basearch',
gpgcheck => '1',
descr=> 'Some Yum Repository',
  }
}

and obviously file resources:

class bar {
  file {'/path/to/some/convenience/symlink':
ensure => file,
target => 
'/path/to/some/unfortunately/extremely/deep/file/that/we/want/to/manage/with/puppet',
  }
}

but even "content" can at times exceed 80 columns.

I know I could be creating variables to help with line length, a la:

class foo {

  $url_base = 'http://some-relatively-long-domain.com'
  $url_path = '/some/url/path'

  yumrepo { 'some-repo':
baseurl  => "${base_url}${url_path}",
gpgcheck => '1',
descr=> 'Some Yum Repository',
  }
}

But that seems suboptimal, especially if there are things in the URL
(like $releasever/$basearch) that need to be preserved verbatim (they're
not puppet variables, they're for yum).

Is there a better way to break up long lines, perhaps a "join" function
I've missed that would allow me to do something like

class foo {
  yumrepo { 'some-repo':
baseurl  => join(
  '',
  'http://some-relatively-long-url.com',
  '/some-path/centos$releasever/$basearch'
),
gpgcheck => '1',
descr=> 'Some Yum Repository',
  }
}

Thanks,

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164

--
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] Managing Users over multiple servers

2012-05-21 Thread lth
We have several webservers that we are going to manage with puppet.  We 
want to make sure the users are the same on all of them.  

My plan was to create a separate manifest for each user within a users 
module.  However if someone changes their password one one server how do we 
make sure that puppet doesn't overwrite that info?  Also we want to 
propagates that password change to the other servers.  Therefore putting 
information the password hash or age of the password in the manifest 
doesn't seem like it will work.

How is this supposed to be done?

Thanks in advance.

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



Re: [Puppet Users] Managing Users over multiple servers

2012-05-21 Thread Trevor Vaughan
This is not something that you generallyl want to do with Puppet since
Puppet is better utilized for 'consistency over time' applications
(with some exceptions).

A tool, such as LDAP or Kerberos will probably serve your purposes
much better over time.

Trevor

On Mon, May 21, 2012 at 3:08 PM, lth  wrote:
> We have several webservers that we are going to manage with puppet.  We want
> to make sure the users are the same on all of them.
>
> My plan was to create a separate manifest for each user within a users
> module.  However if someone changes their password one one server how do we
> make sure that puppet doesn't overwrite that info?  Also we want to
> propagates that password change to the other servers.  Therefore putting
> information the password hash or age of the password in the manifest doesn't
> seem like it will work.
>
> How is this supposed to be done?
>
> Thanks in advance.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/puppet-users/-/DJnPtUOMw6kJ.
> 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.



-- 
Trevor Vaughan
Vice President, Onyx Point, Inc
(410) 541-6699
tvaug...@onyxpoint.com

-- This account not approved for unencrypted proprietary information --

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



Re: [Puppet Users] linting manifests with long lines

2012-05-21 Thread Nan Liu
On Mon, May 21, 2012 at 11:55 AM, Tim Mooney  wrote:
>
> All-
>
> I've been working through our local manifests with puppet-lint, trying
> to make certain we're as prepared as possible for puppet 3.x.  I would
> like for our manifests to be warning-free.  The class of warnings
> related to long lines has me questioning what the best practice is to
> avoid lines longer than 80 characters.

You can use a variable to shorten it, but I don't know if that
actually improves code clarity.

There's some discussion about removing it from the recommendation:
https://github.com/puppetlabs/puppet-docs/pull/68

Personally, I will not be sad if it gets dropped from docs and puppet-lint.

Thanks,

Nan

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



Re: [Puppet Users] Re: Announce: PuppetDB 0.9.0 (first release) is available

2012-05-21 Thread Deepak Giridharagopal
On Mon, May 21, 2012 at 11:02 AM, Marc Zampetti wrote:

> Is Puppet Labs saying they are ending support of MySQL and instead will
> only support PostgreSQL? That is going to be a big problems for shops that
> do not support PostgresSQL, or are only allowed to run DB systems on an
> approved list.
>

What is on your approved list? Oracle? SQL Server? DB2? That kind of
information helps us plan things for the future.


> Why wouldn't a DB-agnostic model be used?
>

The short answer is performance. To effectively implement things we've got
on our roadmap, we need things that (current) MySQL doesn't support: array
types are critical for efficiently supporting things like parameter values,
recursive query support is critical for fast graph traversal operations,
things like INTERSECT are handy for query generation, and we rely on fast
joins (MySQL's nested loop joins don't always cut it). It's much easier for
us to support databases with these features than those that don't. For
fairly divergent database targets, it becomes really hard to get the
performance we want while simultaneously keeping our codebase manageable.


>
> Right now, I can say that due to these types of issues, I cannot even
> evaluate PuppetDB, and will not be able to for the foreseeable future.
>

How many hosts do you have? Would the built-in, embedded database work for
you as an interim solution?


>
> Also, does this mean that the existing inventory service and store configs
> functionality goes away?


The existing inventory service API is still supported, and in fact PuppetDB
works as a backing store for that API. So tools and code that use that API
currently will continue to work. Puppet 3.0 still includes the old
ActiveRecord-based storeconfigs backend, which still works.

deepak


>
>
> On Mon May 21 07:11:07 2012, Erik Dalén wrote:
>
>> On 19 May 2012 01:44, Deepak Giridharagopal 
>> wrote:
>>
>>> On Fri, May 18, 2012 at 7:48 AM, Philip Brown  wrote:
>>>



 On Friday, May 18, 2012 7:21:26 AM UTC-7, Michael Stanhke wrote:

>
> PuppetDB, a component of the Puppet Data Library, is a centralized
> storage
> daemon for auto-generated data. This initial release of PuppetDB
> targets
> the
> storage of catalogs and facts:
> ...
>
> As this is the first public release, the version is 0.9.0 (a.k.a. “open
> beta”).
> While we’ve been using PuppetDB internally at Puppet Labs for months
> without
> incident, we encourage you to try it out, hammer it with data, and let
> us
> know
> if you run into any issues! A 1.0 release will come after a few cycles
> of
> bug
> squashing.
>
>
 Sounds interesting.  I have a question about integration;

 How does this interact or integrate with puppet dashboard?
 Is this an "either one or the other" sort of thing? Or do they play
 nicely
 together? or do they actually do completely different things?

>>>
>>>
>>> Dashboard uses the inventory service API to do its queries for things
>>> like
>>> nodes and facts. As luck would have it, PuppetDB's terminuses implement
>>> that
>>> same API. If you configure your Puppetmaster so that PuppetDB handles
>>> inventory service queries (this is covered in the installation docs), and
>>> point Dashboard at your Puppetmaster, things will Just Work.
>>>
>>> PuppetDB doesn't (yet) do report storage, so that will continue to work
>>> inside of Dashboard as it always has.
>>>
>>>
>> Do you plan on merging it so that the inventory service node queries
>> can use classes and parameters in the search queries?
>>
>> I know this is already possible using foreman.
>>
>>
> --
> 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+unsubscribe@**
> googlegroups.com .
> For more options, visit this group at http://groups.google.com/**
> group/puppet-users?hl=en
> .
>
>

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



Re: [Puppet Users] Managing Users over multiple servers

2012-05-21 Thread lth
LDAP is something we've been considering and will probably 
be implementing that sooner than later.  However while that takes care of 
the 100s of regular web users, we still don't think we want our 8-10 system 
administrators to be doing that.  So we're still have the problem of trying 
to get puppet to handle them as well as pick up changes and propagate them.

On Monday, May 21, 2012 3:12:12 PM UTC-4, Trevor Vaughan wrote:
>
> This is not something that you generallyl want to do with Puppet since 
> Puppet is better utilized for 'consistency over time' applications 
> (with some exceptions). 
>
> A tool, such as LDAP or Kerberos will probably serve your purposes 
> much better over time. 
>
> Trevor 
>
> On Mon, May 21, 2012 at 3:08 PM, lth  wrote: 
> > We have several webservers that we are going to manage with puppet.  We 
> want 
> > to make sure the users are the same on all of them. 
> > 
> > My plan was to create a separate manifest for each user within a users 
> > module.  However if someone changes their password one one server how do 
> we 
> > make sure that puppet doesn't overwrite that info?  Also we want to 
> > propagates that password change to the other servers.  Therefore putting 
> > information the password hash or age of the password in the manifest 
> doesn't 
> > seem like it will work. 
> > 
> > How is this supposed to be done? 
> > 
> > Thanks in advance. 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "Puppet Users" group. 
> > To view this discussion on the web visit 
> > https://groups.google.com/d/msg/puppet-users/-/DJnPtUOMw6kJ. 
> > 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. 
>
>
>
> -- 
> Trevor Vaughan 
> Vice President, Onyx Point, Inc 
> (410) 541-6699 
> tvaug...@onyxpoint.com 
>
> -- This account not approved for unencrypted proprietary information -- 
>

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



Re: [Puppet Users] Re: Announce: PuppetDB 0.9.0 (first release) is available

2012-05-21 Thread Marc Zampetti



On Mon May 21 15:33:44 2012, Deepak Giridharagopal wrote:

On Mon, May 21, 2012 at 11:02 AM, Marc Zampetti
mailto:marc.zampe...@gmail.com>> wrote:

Is Puppet Labs saying they are ending support of MySQL and instead
will only support PostgreSQL? That is going to be a big problems
for shops that do not support PostgresSQL, or are only allowed to
run DB systems on an approved list.


What is on your approved list? Oracle? SQL Server? DB2? That kind of
information helps us plan things for the future.


MySQL, Sybase, Oracle are all supported platforms, but since only MySQL 
is the one without a license cost, that is really my only choice. 
Introducing yet another SQL store into the environment is just not an 
option from a management and support perspective. We are also 
supporting new solutions, like MongoDB, so that would be a better 
choice for us.




Why wouldn't a DB-agnostic model be used?


The short answer is performance. To effectively implement things we've
got on our roadmap, we need things that (current) MySQL doesn't
support: array types are critical for efficiently supporting things
like parameter values, recursive query support is critical for fast
graph traversal operations, things like INTERSECT are handy for query
generation, and we rely on fast joins (MySQL's nested loop joins don't
always cut it). It's much easier for us to support databases with
these features than those that don't. For fairly divergent database
targets, it becomes really hard to get the performance we want while
simultaneously keeping our codebase manageable.


I understand the need to not support everything. Having designed a 
number of systems that require some of the features you say you need, I 
can say with confidence that most of those issues can be handled 
without having an RDBMS that has all those advanced features. So I will 
respectfully disagree that you need features you listed. Yes, you may 
not be able to use something like ActiveRecord or Hibernate, and have 
to hand-code your SQL more often, but there are a number of techniques 
that can be used to at least achieve similar performance 
characteristics. I think it is a bit dangerous to assume that your user 
base can easily and quickly switch out their RDBMS systems as easy as 
this announcement seems to suggest. I'm happy to be wrong if the 
overall community thinks that is true, but for something that is as 
core to one's infrastructure as Puppet, making such a big change seems 
concerning.





Right now, I can say that due to these types of issues, I cannot
even evaluate PuppetDB, and will not be able to for the
foreseeable future.


How many hosts do you have? Would the built-in, embedded database work
for you as an interim solution?


No, I'm already managing several hundred hosts.




Also, does this mean that the existing inventory service and store
configs functionality goes away?


The existing inventory service API is still supported, and in fact
PuppetDB works as a backing store for that API. So tools and code that
use that API currently will continue to work. Puppet 3.0 still
includes the old ActiveRecord-based storeconfigs backend, which still
works.

But is there a commitment from Puppet Labs that storeconfigs on top of 
MySQL will be supported for some time? It doesn't really do me any good 
to build my infrastructure on store config (primarily for external 
resources), and then find out 6 - 12 months from now that it is going 
away simply because the extra work to support MySQL is too hard.



deepak



On Mon May 21 07:11:07 2012, Erik Dalén wrote:

On 19 May 2012 01:44, Deepak Giridharagopal
mailto:dee...@puppetlabs.com>> wrote:

On Fri, May 18, 2012 at 7:48 AM, Philip Brown
mailto:p...@bolthole.com>> wrote:




On Friday, May 18, 2012 7:21:26 AM UTC-7, Michael
Stanhke wrote:


PuppetDB, a component of the Puppet Data Library,
is a centralized
storage
daemon for auto-generated data. This initial
release of PuppetDB targets
the
storage of catalogs and facts:
...

As this is the first public release, the version
is 0.9.0 (a.k.a. “open
beta”).
While we’ve been using PuppetDB internally at
Puppet Labs for months
without
incident, we encourage you to try it out, hammer
it with data, and let us
know
if you run into any issues! A 1.0 release will
come after a few cycles of
bug
squashing.


Sounds interesting.  I have a question about integration;

How does this interact or integrate 

[Puppet Users] Looking for a path into the innards of the Puppet Firewall Module @ The Forge

2012-05-21 Thread Dan White
For a few reasons:

There is a missing bit of functionality that is important to me.
I know WHAT I want to fox, but I do not know HOW.

Also, if I am understanding how this module operates, I have ideas for other 
modules that use the same base methods.

So, I am looking for either the folks that wrote this module or someone who can 
help me understand it enough for me to make some enhancements to it myself.

Please help me help the Puppet community !

Thanks. 

“Sometimes I think the surest sign that intelligent life exists elsewhere in 
the universe is that none of it has tried to contact us.”
Bill Waterson (Calvin & Hobbes)

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



Re: [Puppet Users] Looking for a path into the innards of the Puppet Firewall Module @ The Forge

2012-05-21 Thread Ashley Penney
I recently submitted a pull request for a fairly basic feature.  I started
out by editing spec/fixtures/iptables/conversion_hash.rb and
spec/unit/puppet/type/firewall_spec.rb to add in tests for what I wanted
then worked backwards from there by copying existing code, modifying it a
bit and running until the tests passed.  I recommend it as a way of getting
started!

Failing that if you visit irc.freenode.net/#puppet I'm in there as ashp and
can attempt to answer specific questions about it.  I'll be the first to
admit I have -no- idea what I'm doing but I stumbled through enough to add
something so I might be able to help you go in the same direction.

On Mon, May 21, 2012 at 4:25 PM, Dan White  wrote:

> For a few reasons:
>
> There is a missing bit of functionality that is important to me.
> I know WHAT I want to fox, but I do not know HOW.
>
> Also, if I am understanding how this module operates, I have ideas for
> other modules that use the same base methods.
>
> So, I am looking for either the folks that wrote this module or someone
> who can help me understand it enough for me to make some enhancements to it
> myself.
>
> Please help me help the Puppet community !
>
> Thanks.
>
> “Sometimes I think the surest sign that intelligent life exists elsewhere
> in the universe is that none of it has tried to contact us.”
> Bill Waterson (Calvin & Hobbes)
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To post to this group, send email to puppet-users@googlegroups.com.
> To unsubscribe from this group, send email to
> puppet-users+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/puppet-users?hl=en.
>
>

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



[Puppet Users] modifying file(s) on the fly

2012-05-21 Thread Sans
Dear all,

I'm trying to figure out how to do this - first copy a "common" file to 
every node and then modify the file according to the node type. I've tried 
this:


if $node_type == 'wn' {
> $port = '8649'
> $desc = 'Worker Nodes'
> }
>
> exec {
> 'n_desc':
> command => "sed -ic '/cluster {/,/}/s/name = \"[^\"]*\"/name = 
> \"\'\"$desc\"\'\"/' '$fname'",
> subscribe   => File["$fname"],
> refreshonly => false;
>
> 'n_port':
> command => "sed -ic '/port\ =\ /{s:[0-9]*$:$port:g}' '$fname'",
> subscribe   => File["$fname"],
> refreshonly => false;
> }
>
> file {
> 'gmond.conf':
>  name=> "$fname",
>  source  => 'puppet:///modules/ganglia/gmond.conf',
>  require => Exec['n_desc','n_port'],
>  notify  => Service['gmond'];
> }
>


The problem is the *Exec['n_desc','n_port'] *is being executed but then it 
changing back to the original one as supplied by:  *source  => 
'puppet:///modules/ganglia/gmond.conf'*, which is definitely not what I 
want. How can I make sure it copy the file first and then make the changes? 
Or, simply how do I do that? Cheers!! 

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



Re: [Puppet Users] Re: Announce: PuppetDB 0.9.0 (first release) is available

2012-05-21 Thread Deepak Giridharagopal
On Mon, May 21, 2012 at 2:04 PM, Marc Zampetti wrote:

>
>
> On Mon May 21 15:33:44 2012, Deepak Giridharagopal wrote:
>
>> On Mon, May 21, 2012 at 11:02 AM, Marc Zampetti
>> > >
>> wrote:
>>
>>Is Puppet Labs saying they are ending support of MySQL and instead
>>will only support PostgreSQL? That is going to be a big problems
>>for shops that do not support PostgresSQL, or are only allowed to
>>run DB systems on an approved list.
>>
>>
>> What is on your approved list? Oracle? SQL Server? DB2? That kind of
>> information helps us plan things for the future.
>>
>
> MySQL, Sybase, Oracle are all supported platforms, but since only MySQL is
> the one without a license cost, that is really my only choice. Introducing
> yet another SQL store into the environment is just not an option from a
> management and support perspective. We are also supporting new solutions,
> like MongoDB, so that would be a better choice for us.


Oracle is actually a reasonable target for us, though I sympathize with
your concerns about licensing costs. In terms of supportability of
PuppetDB, I can point out a few things that may mitigate some concerns:

1) The data stored in PuppetDB is entirely driven by puppetmasters
compiling catalogs for agents. If your entire database exploded and lost
all data, everything will be 100% repopulated within around $runinterval
minutes.

2) If the PuppetDB daemon is up, but it loses connectivity to the database
for some reason, outstanding requests simply block until connectivity is
re-established. Incoming catalogs and facts will queue up, and will be
processed once connectivity is re-established. This allows for DB
maintenance without impacting the overall availability of the Puppet
infrastructure.

3) No other Puppet tools other than PuppetDB itself require direct access
to the database; as such, the security and authentication requirements are
pretty simple.

I know that doesn't directly address your immediate concern about MySQL
support, but hopefully that helps add some context around the operational
requirements of PuppetDB's data store. It's much less of a "single db that
all puppet tools dump data into" and much more of a "data store for just
this one daemon and nothing else".


>
>
>>Why wouldn't a DB-agnostic model be used?
>>
>>
>> The short answer is performance. To effectively implement things we've
>> got on our roadmap, we need things that (current) MySQL doesn't
>> support: array types are critical for efficiently supporting things
>> like parameter values, recursive query support is critical for fast
>> graph traversal operations, things like INTERSECT are handy for query
>> generation, and we rely on fast joins (MySQL's nested loop joins don't
>> always cut it). It's much easier for us to support databases with
>> these features than those that don't. For fairly divergent database
>> targets, it becomes really hard to get the performance we want while
>> simultaneously keeping our codebase manageable.
>>
>
> I understand the need to not support everything. Having designed a number
> of systems that require some of the features you say you need, I can say
> with confidence that most of those issues can be handled without having an
> RDBMS that has all those advanced features. So I will respectfully disagree
> that you need features you listed. Yes, you may not be able to use
> something like ActiveRecord or Hibernate, and have to hand-code your SQL
> more often, but there are a number of techniques that can be used to at
> least achieve similar performance characteristics. I think it is a bit
> dangerous to assume that your user base can easily and quickly switch out
> their RDBMS systems as easy as this announcement seems to suggest. I'm
> happy to be wrong if the overall community thinks that is true, but for
> something that is as core to one's infrastructure as Puppet, making such a
> big change seems concerning.
>

We aren't using ActiveRecord or Hibernate, and we are using hand-coded SQL
where necessary to wring maximum speed out of the underlying data store.
I'm happy to go into much greater detail about why the features I listed
are important, but I think that's better suited to puppet-dev than
puppet-users. We certainly didn't make this decision cavalierly; it was
made after around a month of benchmarking various solutions ranging from
traditional databases like PostgreSQL to document stores like MongoDB to KV
stores such as Riak to graph databases like Neo4J. For Puppet's particular
type of workload, with Puppet's volume of data, with Puppet's required
durability and safety requirements...I maintain this was the best choice.

While I don't doubt that given a large enough amount of time and enough
engineers we could get PuppetDB working fast enough on arbitrary backing
stores (MySQL included), we have limited time and resources. From a
pragmatic standpoint, we felt that supporting a database that was available
on all pl

[Puppet Users] Is there a quick way to export a manifest from a master/client to a new standalone?

2012-05-21 Thread thedonkdonk
I have a large puppet master / client setup with lots of files and
templates and modules and so on. Is there a way to make a stand alone
manifest for one server so I can hand it to a third party?

For example, I have www03.example.com as one of many servers. I need
to create a manifest for that one server for a new stand alone server.
Is there a quick way to do this?

Thanks,
James Glenn

-- 
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] Announce: Puppet Dashboard 1.2.8 Available

2012-05-21 Thread Moses Mendoza
This is a maintenance release of Puppet Dashboard.
It includes contributions from Daniel Sauble, Danijel Ilisin, Patrick
Carlisle,
and Max Martin.

This release is available for download at:
https://downloads.puppetlabs.com/dashboard/puppet-dashboard-1.2.8.tar.gz

Debian packages are available at
https://apt.puppetlabs.com

RPM packages are available at
https://yum.puppetlabs.com

See the Verifying Puppet Download section at:
http://projects.puppetlabs.com/projects/puppet/wiki/Downloading_Puppet

Please report feedback via the Puppet Labs Redmine site, using an
affected version of 1.2.8:
http://projects.puppetlabs.com/projects/dashboard

Documentation is available at:
http://docs.puppetlabs.com/dashboard/index.html

1.2.8 Highlights
===
* Adds Radiator View link to the node summary sidebar

* (#10297) Adds initial radiator view

Accessible via /radiator, a link from Dashboard isn't yet available,
but this will be added shortly. This feature provides the ability to
monitor the summary of node statuses in an Ops environment.

* Adds font resizing and auto-refresh (every 60 seconds)

* Added autorefresh mechanism

1.2.8 Changelog
===
Daniel Sauble(14)
48734f7 Adds autorefresh_link styling to application.scss
35d6dc4 Fixing small issues in prep for being merged into master
856e078 Improves font consistency
fd6f373 Fixes aspect ratio for portrait orientations
35e10a9 Fixes line-height inconsistencies
e9c41d1 Fixes broken font-size algorithm
4a4ba99 Fixes the minimum width of the count column
f6e5f76 Cross-browser compatibility fixes
505306c Renames 'All' with 'Total' and exposes it in CSS
9f29984 Adds Radiator View link to the node summary sidebar
6bda9bd Fixing text alignment and margins
0570efe Adds font resizing and auto-refresh (every 60 seconds)
c646e60 (#10297) Removes 'All' and borders from bottom of radiator view
d63dadc (#10297) Adds initial radiator view

Danijel Ilisin (3)
0557bea cleanup
22a9147 renamed autofresh links
89aaa55 added autorefresh mechanism

Patrick Carlisle (1)
ddffe5b (#13565) Delete junk backup files

Max Martin(1)
(#5879) Remove finder on obsolete URL column

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



Re: [Puppet Users] Re: Announce: PuppetDB 0.9.0 (first release) is available

2012-05-21 Thread Alessandro Franceschi
If I can add my coins to the discussion I'd say that installing and running 
PostgreSQL is really easy (I actually really  never used it before and have 
been "forced" by PuppetDB) and, even if I don't feel myself at ease with it 
too, I don't think it is going to be a real pain to mantain.
But, most of all, after my first tests (one of them with about 100 testing 
nodes and wide use of stored configs) I have to say that the performance 
boost is AWESOME, also with the hsqldb backend (with postgresql is 
obviously better).

So, really, if PostgreSQL was a needed choice for speed I must say that it 
was well worth.

My suggestion, Marc is to try to "digest" yet another RDBMS in your 
infrastructure (and ehi it's one for the best opensource RDBMS around, 
after all) and enjoy the power of Puppetdb.

+1 Deepak!
(please make its future upgrades will be painless... I'm going to 
distribute it in production and the $runinterval convergence time is not an 
option we should take easily when configuring monitoring systems or  
loadbalancers via storedconfigs)

my2c 
al

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



Re: [Puppet Users] Re: Announce: PuppetDB 0.9.0 (first release) is available

2012-05-21 Thread Daniel Pittman
On Mon, May 21, 2012 at 12:33 PM, Deepak Giridharagopal
 wrote:
> On Mon, May 21, 2012 at 11:02 AM, Marc Zampetti 
> wrote:
>
>> Right now, I can say that due to these types of issues, I cannot even
>> evaluate PuppetDB, and will not be able to for the foreseeable future.
>
> How many hosts do you have? Would the built-in, embedded database work for
> you as an interim solution?
>>
>> Also, does this mean that the existing inventory service and store configs
>> functionality goes away?
>
> The existing inventory service API is still supported, and in fact PuppetDB
> works as a backing store for that API. So tools and code that use that API
> currently will continue to work. Puppet 3.0 still includes the old
> ActiveRecord-based storeconfigs backend, which still works.

Speaking formally, and for the platform team who maintain that code:

We hope that PuppetDB is the answer to the current StoreConfigs problems.

Until we have real world proof that it is stable, and effective, we
are not even going to talk about when we remove the previous set of
functionality.

When we do that it will be with a long time horizon - over a major
release, a year from now - so that we don't take anything away
suddenly.


>From our point of view the embedded database is a good solution for
teams that can't use the PostgreSQL store.

Given ~ 2MB of JVM heap per active node, the embedded database has
performance equal to or better than the current MySQL and SQLite
ActiveRecord backed engines.

That makes it reasonable for most deployments without an external
database, even if it is not as much of a performance win.

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

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



Re: [Puppet Users] Hiera Questions: Virtual User Resources and Hiera

2012-05-21 Thread Jeff McCune
On Mon, May 21, 2012 at 1:24 AM, Luke Bigum  wrote:

>  I agree with Gary, Dan, it's probably the lack of data in the
> 'v_ingroups' key in your YAML that create_resources() is complaining about.
> If it truly can't pass an empty key/val pair you could do something hacky
> like use the string "undef" then explicitly check for it in the define.
>
>
> define add_virtual_user ( $v_username, $v_uid, $v_ingroups, $v_info ) {
>if ($v_ingroups == "undef") {
>

Do you really mean to be comparing to the string "undef" rather than the
keyword undef (no quotes)?

There's a big difference...

If you want to test if a variable is undefined the best way is to do this:

if ($foo == undef) { notice "\$foo is undef" }
else { notice "\$foo is defined as ${foo}" }

-Jeff

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



Re: [Puppet Users] Is there a quick way to export a manifest from a master/client to a new standalone?

2012-05-21 Thread Ryan Coleman
Hi James,

On Mon, May 21, 2012 at 3:02 PM, thedonkdonk  wrote:
> I have a large puppet master / client setup with lots of files and
> templates and modules and so on. Is there a way to make a stand alone
> manifest for one server so I can hand it to a third party?

If you mean to take the resultant catalog for a given machine and use
that same catalog on another machine without interacting with the
Puppet Master, you may want to take a look at the catalog Face. Try
running 'puppet man catalog' on a newer version of Puppet.

In short, it sounds like you'd want to retrieve the catalog for
www03.example.com from the Puppet Master with the download action,
ship it around however you'd like and use the apply action with
--terminus yaml to apply that catalog.

Does that sound like what you're looking for? You're going to lose
some things like remote file retrieval and dynamic facts evaluation by
taking this approach but if you can't access a Puppet Master or apply
local modules, this is another route you can take. Final disclaimer, I
haven't actually used this Face more than basic experimentation so
YMMV.

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



Re: [Puppet Users] Is there a quick way to export a manifest from a master/client to a new standalone?

2012-05-21 Thread James Glenn
On Mon, May 21, 2012 at 8:16 PM, Ryan Coleman  wrote:
> Hi James,
>
> On Mon, May 21, 2012 at 3:02 PM, thedonkdonk  wrote:
>> I have a large puppet master / client setup with lots of files and
>> templates and modules and so on. Is there a way to make a stand alone
>> manifest for one server so I can hand it to a third party?
>
> If you mean to take the resultant catalog for a given machine and use
> that same catalog on another machine without interacting with the
> Puppet Master, you may want to take a look at the catalog Face. Try
> running 'puppet man catalog' on a newer version of Puppet.
>
> In short, it sounds like you'd want to retrieve the catalog for
> www03.example.com from the Puppet Master with the download action,
> ship it around however you'd like and use the apply action with
> --terminus yaml to apply that catalog.
>
> Does that sound like what you're looking for? You're going to lose
> some things like remote file retrieval and dynamic facts evaluation by
> taking this approach but if you can't access a Puppet Master or apply
> local modules, this is another route you can take.

Yes, this sounds like what I am looking for. I need to include file
content as well as package and user management. Will this work? Should
I try a different tactic?

-- 
Thanks,
James Glenn

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