[Puppet Users] Re: Strange messages on 0.25.4.
Hi Patrick. I checked workaround you suggested. Accroding to workaround, messages didn't appear any more. Thank you for telling me workaroud. Nobuchika Tanaka. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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: Proper Augeas usage
On Tue, 2010-02-23 at 08:44 -0800, Tim Stoop wrote: > On 22 feb, 20:35, David Lutterkort wrote: > > You want to restrict when to make those changes with the onlyif > > paramater, something like > > > > augeas { "...": > > context => ... > > changes => ... > > onlyif => "match *[ Pin = 'release' and Package = > > 'augeas-lenses'] size == 0" > > } > > Ah, so I was wrong in thinking that augeas would treat these kind of > config blocks as one entity with different variables. That makes the > augeas type a little less useful than I thought, but I probably > should've figured that out when I was building the lenses I needed. > There's simply no $name equivalent in augeas. Thanks for making that > clear. The problem is that there's no good primary key for these changes. From looking at your troubles, it seems that it might be much more usable if the augeas type operated more on the level of 'I am going to change a certain part of the tree to look exactly like this'. To pick the part of the tree, you'd specify a path expression, for example '/files/etc/hosts/*[ipaddr="127.0.0.1"]', and also a path that can be used when the entire entry is missing, say '/files/etc/hosts/01'. Writing down what you want that subtree to look like will also be interesting. Puppet doesn't have data structures to do that, so you'd have to encode them in a string, e.g. using the tree notation that Augeas itself uses. With that, we'd have a type that looks more like this: augtree { "etc-hosts-localhost": find => "/files/etc/hosts/*[ipaddr = '127.0.0.1']", create => "/files/etc/hosts/01", tree => " { ipaddr = 127.0.0.1 } { canonical = localhost } { alias = local.local } " } The above would make sure that your entry for localhost looks a certain way, and would not require any gymnastics with onlyif to become idempotent. Similarly, to make sure that localhost has an alias of 'host.example.com', you would write augtree { "etc-hosts-localhost-alias": find => "/files/etc/hosts/*[ipaddr = '127.0.0.1']/alias[ . = 'host.example.com']", value => "host.example.com" } With that, it would be reasonable to not allow two augtree resources with the same find parameter. Of course, there's the small issue of implementing a type like the above. The full docs would look something like augtree { find => "..." # Path expression matching the subtree to work on; mandatory create => "..." # Path expression to use when find doesn't match at all; optional, use value of 'find' by default tree => "..." # The tree that should be there underneath 'find' value => "..." # The string value to assign to the tree node 'find' } David -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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] Augeas type: Removing an entry from /etc/hosts
On Tue, 2010-02-23 at 14:02 -0500, Rob McBroom wrote: > On Feb 23, 2010, at 7:37 AM, Jesús Couto wrote: > > > On a tangent, anybody using augeas under puppet to > > manage /etc/sudoers? ... and how? > > I tried, but all I could get it to do was add the entries to the end > of `/etc/sudoers` over and over every 30 minutes. I gave up and made a > define that calls some hacky execs. > > I’d love to hear there’s a way (in 0.24.8). I'd wager that the problem was that you were missing an onlyif that would keep the changes from being applied when the entries are there already. David -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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] parsedfile provider documentation?
On Wed, 2010-02-24 at 11:28 +0100, Frederik Wagner wrote: > I was just looking a bit more into augeas: > Is there a way to set variables in augeas wit values obtained by a > 'get' statement? It's possible if you use Augeas from Ruby by doing something like aug = Augeas::open(...) value = aug.get(path) new_value = modify(value) aug.set(path, new_value) aug.save It is not possible from the augeas type in Puppet. David -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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] parsedfile provider documentation?
On Tue, 2010-02-23 at 13:42 +0100, Frederik Wagner wrote: > > If you can live with replacing the entire list, you can just use augeas: > > > >augeas { "my_boot_modules": > >changes => "set > > /files/etc/sysconfig/kernel/MODULES_LOADED_ON_BOOT '$mymodules'" > >} > > > > If you need to build the list up from something else, you might want to > > wrap the above into a define that computes $mymodules from that > > something. > > I would need to append single modules to the list, therefore I was > thinking to write the provider. Yes, that's one way to do it - you could base that provider off Augeas; the heart of it would be a method like (needs to be split up a bit to mesh with Puppet's notion of checking if a change is needed, reporting what has changed, and noop mode) def append_module(module) aug = Augeas::open("/", Augeas::NO_MODL_AUTOLOAD) begin aug.set("/augeas/load/Xfm/lens", "Shellvars.lns") aug.set("/augeas/load/Xfm/incl", "/etc/sysconfig/kernel") aug.load mod_path = "/files/etc/sysconfig/kernel/MODULES_LOADED_ON_BOOT" mods = aug.get(mod_path) || "" unless mods.split().include?(module) mods = mods.split().push("x").join(" ") aug.set(mod_path, mods) aug.save end ensure aug.close if aug end end > > There's also ways to make this just append a specific module, but that > > would require some work on the Augeas side. > > does this need new features on the augeas side? Or is it already > doable with the current augeas? It doesn't need new features, but it would require that you change the stock shellvars lens so that it treats the MODULES_LOADED_ON_BOOT special, and splits it into several tree nodes. David -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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] Issue with '|'
I have a question hopefully someone here can help me out with. I have a module that I didn't write, I got it from the github. it's the postgres module. I'm running on CentOS 5. In the module there is this: case $ensure { present: { exec { "Create $name postgres db": command => "/usr/bin/createdb $ownerstring $name", user => "postgres", unless => "/usr/bin/psql -l | grep '$name *|'" *** This line causes an error } } The *** line causes puppet to error out like so: debug: //Node[myhost.mydomain.com]/Postgres::Role[voiceob]/Exec[Create puser postgres role]: Executing check '/usr/bin/psql -c '\du' | grep 'puser *|'' debug: Executing '/usr/bin/psql -c '\du' | grep 'puser *|'' err: //Node[myhost.mydomain.com]/Postgres::Role[puser]/Exec[Create puser postgres role]: Failed to retrieve current state of resource: (This produces no output if the user doesn't exist in postgres.) Nothing more on the error line. Interestingly enough, if I remove the '|' (pipe) after the psql part of the command, it doesn't error. However, it doesn't do what I need it to do. I have tried it without the unless line and it works perfectly. Again, it doesn't do what I need it to do that way though. I have searched the message boards and wiki to no avail. Can any of you shed some light on why this wouldn't work? TIA Drew -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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] Feature Request: Settable 'nice' value.
I'll get there, I just don't have access to my account information at the moment. Trevor On Wed, Feb 24, 2010 at 1:00 PM, Peter Meier wrote: > Hi > >> So, some of us would like to be able to set the nice value on puppetd. >> However, we don't want all of our services (and some of our execs) >> re-niced. >> >> Would it be feasible/practical to have the ability to set the nice >> value explicitly on Service and Exec calls? > > http://projects.reductivelabs.com/projects/puppet <- feel free to add it > here. > > cheers pete > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-us...@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-us...@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] Magazine article comparing CPU usage of Puppet vs. Cfengine
On 24/02/10 17:31, Eric Gerlach wrote: > On Mon, Feb 22, 2010 at 03:37:15PM -0600, James Cammarata wrote: >> >> On Mon, 22 Feb 2010 21:17:52 +, Toby Riddell >> wrote: >>> I received my copy of ;login (the Usenix magazine) today. There's an >>> article* comparing CPU utilisation of Puppet and Cfengine. To >>> abbreviate massively: Puppet requires much more CPU than Cfengine when >>> both verifying and fixing configuration. >> >> I'm not really surprised by this, puppet is written in Ruby (an interpreted >> language) vs CFengine which is written in C. > > Has anyone tried puppet with Ruby 1.9? It's supposed to be a lot faster than > 1.8. Haven't tested it myself, though. It's possible to run puppet on JRuby, which I expect might behave better than ruby 1.8 (especially because of the native threading of the JVM and its superior GC). -- Brice Figureau My Blog: http://www.masterzen.fr/ -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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] Magazine article comparing CPU usage of Puppet vs. Cfengine
Eric Gerlach wrote: On Mon, Feb 22, 2010 at 03:37:15PM -0600, James Cammarata wrote: On Mon, 22 Feb 2010 21:17:52 +, Toby Riddell wrote: I received my copy of ;login (the Usenix magazine) today. There's an article* comparing CPU utilisation of Puppet and Cfengine. To abbreviate massively: Puppet requires much more CPU than Cfengine when both verifying and fixing configuration. I'm not really surprised by this, puppet is written in Ruby (an interpreted language) vs CFengine which is written in C. Has anyone tried puppet with Ruby 1.9? It's supposed to be a lot faster than 1.8. Haven't tested it myself, though. It didn't work when I tried it. From what I remember, some of the language syntax changes caused a few issues that needed patching, and after I fixed those, the puppetmaster wouldn't work right in Passenger (spun off/locked up and wouldn't respond). It looked like a hard road for little gain, so I switched back to 1.8. Craig Miskell -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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] prevent tagmail reports when puppetd runs interactively
I would like to not get a tagmail report when "puppetd --test" is run. Is there a tag that is applied when puppetd is running daemonized vs. non-daemonized? I could just run "puppetd --test -no- report", but I don't want to rely on other users to remember to run it this way. I was hoping I could just configure tagmail.conf and forget about it. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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] 'checkinstall' for custom package creation
One problem that we frequently run into while building and supporting puppet infrastructures, is some cowboy developer who insists that he needs Python 3.1, PHP6, SWiG 1.3.40, etc, and these packages are not available in our Distro's stable package repository. Have you ever tried to build a slotted Python RPM in RHEL? Pardon my lack of RHCE, but it can be rather time consuming! I recently came across a project called "checkinstall" http://www.asic-linux.com.mx/~izto/checkinstall/ Checkinstall acts as a wrapper for `make install`. When you compiled your copy of php7(or whatever crazy version your developers require..) : ./configure ; ./make ; ./make check ; checkinstall make install Check install will ask you if you would like to build RPM, Deb, or a Slackware package (for the 5 remaining Slackware users out there.) You can also specify some basic dependencies and provides meta-data in your package. I've only used checkinstall for a few small packages, however the tool could be very useful to some of the lazy puppet admins out there who need to support crazy versions of various packages via puppet. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] ssh::auth server dependency on ~/.ssh and a scoping question
> Hi Andrew, > > Just noticed that ssh::auth::server doesn't require the resource for ~/.ssh > directory. Considering the documentation says it does (in Examples -> 1. > With > account management at the bottom mentions that 'require => [User[$title], > File["$home/.ssh"]]' is implicitly included in both client and server), I > thought I'll report it. > > This works fine for ssh::auth::server because it uses a file resource for the > ~/.ssh/$filename file, so ~/.ssh is autorequired by puppet (if defined). OK, thanks for pointing this out. Looking back at it now, I think I was probably counting on ssh_authorized_key requiring File[$home/.ssh]. But that doesn't seem to be explicit anywhere, so I'll add it in explicitly for the next point release. And the user too, while I'm at it. > Also, while I'm at it, I wanted to ask a question related to scoping. Don't > know if it's another difference between puppet 0.24.8 and 0.25.x, can't find > any > docs mentioning that. Anyway the problem manifests itself in that simple > manifest: > > > import "auth.pp" > > include ssh::auth > > Ssh::Auth::Key { length => 4096 } > > ssh::auth::key { 'foo': } > > include ssh::auth::keymaster > file { '/home/foo/.ssh': ensure => directory, mode => 700, owner => 'foo', > group => 'puppet' } > ssh::auth::client { 'foo': group => 'foo' } > > > this is a simplified manifest which I ran with standalone puppet and it > produces the following error: > > Only subclasses can override parameters at /root/puppet- > tests/sshauth/auth.pp:113 on node ... > > The problem here is the "group => 'foo'" param passed to ssh::auth::client. > It doesn't really matter which parameter it is though as the issue seems to > be > that the ssh::auth::client (or ssh::auth::server) define cannot override > properties of a resource declared in ssh::auth::key define. > > I searched a bit for something on defines overriding parameters of resources > and found a thread here on puppet-users [1] which implies this isn't possible. > > Does that work in 0.25.x ? I'll have to spend a little time looking into this. The whole purpose of the way I set up the defines and virtual resources was to be able to override parameters. The last time I tried it, it worked. I guess it's a conflict with the file resource in your manifest? I'll see what I can figure out and get back to you. Andrew. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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] Feature Request: Settable 'nice' value.
Hi So, some of us would like to be able to set the nice value on puppetd. However, we don't want all of our services (and some of our execs) re-niced. Would it be feasible/practical to have the ability to set the nice value explicitly on Service and Exec calls? http://projects.reductivelabs.com/projects/puppet <- feel free to add it here. cheers pete -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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: Correct user management across modules
On Feb 24, 6:59 am, Rus Hughes wrote: > I've got an Apache module and a Nagios module which "require"s the > Apache module, in the Nagios module we need to add the apache user to > the nagios group, what would be the best most scalable method to do > this? Assuming we might have other modules for webapps which need to > add the apache user to other groups in the future?! > > The actual apache user is created by the httpd package (on RedHat) but > in the Apache module can we just manage the user with something like : > > user { "apache": > uid => 48, > gid => 48, > groups => "apache", > > } > > and then in the Nagios module do > > User["apache"]{ groups +> "nagios" } > > ? Or is there a better way? > > Cheers! We do this by defining the service account as a virtual user and realizing/overriding when necessary. For your example: @user { "apache": uid => 48, gid => 48, groups => "apache", } Then in your nagios module: Realize(User["apache"]) User["apache"] { groups +> "nagios" } Don't forget to realize it in your apache module too. :) -adam -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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] Puppetmaster doesn't want to send mails
Hi, I configured my "puppet.conf" with: /[puppetmasterd] environments= testing,production templatedir = /var/lib/puppet/templates reports = tagmail,rrdgraph,store reportdir = /var/lib/puppet/reports reportfrom = r...@hostname rrddir = /var/lib/puppet/rrd rrdinterval = $runinterval rrdgraph= true/ and "tagmail.conf" with: /all: ema...@my.domain/ I use : /puppetmasterd --no-daemonize --verbose --debug/ to look at debug: /... info: Processing reports tagmail, rrdgraph, store for xxx.my.domain.com info: No messages to report to myemail/ ... I don't understand why puppetmaster thinks that it has nothing to send... Am I missing something? Thanks in advance! -- Florent PAILLOT INRIA smime.p7s Description: S/MIME Cryptographic Signature
Re: [Puppet Users] Magazine article comparing CPU usage of Puppet vs. Cfengine
On Mon, Feb 22, 2010 at 03:37:15PM -0600, James Cammarata wrote: > > On Mon, 22 Feb 2010 21:17:52 +, Toby Riddell > wrote: > > I received my copy of ;login (the Usenix magazine) today. There's an > > article* comparing CPU utilisation of Puppet and Cfengine. To > > abbreviate massively: Puppet requires much more CPU than Cfengine when > > both verifying and fixing configuration. > > I'm not really surprised by this, puppet is written in Ruby (an interpreted > language) vs CFengine which is written in C. Has anyone tried puppet with Ruby 1.9? It's supposed to be a lot faster than 1.8. Haven't tested it myself, though. Cheers, -- Eric Gerlach, Network Administrator Federation of Students University of Waterloo p: (519) 888-4567 x36329 e: egerl...@feds.uwaterloo.ca -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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: Magazine article comparing CPU usage of Puppet vs. Cfengine
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 24/02/10 3:00 AM, Michael Gliwinski wrote: > I see your point, but this is perhaps specific to the domain of configuration > management systems? I mean just look at some of the largest free software > communities like KDE, which is primarily written in C++ which doesn't seem to > be in any way diminishing the number of contributors. > > I suspect it's the domain of sysadmins with problems to solve - who make a significant portion of Puppet's user base. I have found most sysadmins cut code in higher level languages - Perl, Python, Ruby rather than C/C++. To get good buy in from them then it's going to be hard if you write the tool in a lower level language. I look at the pool of cfengine and Nagios developers versus the pool of users as a (perhaps valid?) example. Regards James Turnbull - -- Author of: * Pro Linux System Administration (http://tinyurl.com/linuxadmin) * Pulling Strings with Puppet (http://tinyurl.com/pupbook) * Pro Nagios 2.0 (http://tinyurl.com/pronagios) * Hardening Linux (http://tinyurl.com/hardeninglinux) -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEVAwUBS4VMISFa/lDkFHAyAQJgnQgAoNuiCE7BQmXpp/gm9ZjzkDsJEl+Lt4oD S01AjyMBLenaUkqfj4aM4ZXf80MUyWO5Lj8OjEJqliqco2MJ3LJPYL6OD3wWAfZl IutDby9edyZBSmioWS4+th0PBp20E34dud5YXUgau+oRAKxuZpF6evbv5134rgt2 GTv9XZrxneTrBojUioDK4wahdZ4lMMaY1M0cZq+bTzF7guH2wJbLdNuHKEq+Ghdm M26rv/A0BQBlRXqLXH7cHvua213F2lEaZQFbe5Pw5JnCOmK3z4o9OuPq2cW9Mmni /LXWfvr+8DtcDko4G20kK7+HJuD2xsgOy5rCYQc0nwAsuHaM75f87w== =85ph -END PGP SIGNATURE- -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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: Puppet's call to /sbin/service somehow different than calling from the command line?
Yes to running in enforcing mode. I just tried turning enforcing mode off with a call to "setenforce 0" and I still get the same behavior. On Wed, Feb 24, 2010 at 6:14 AM, jcbollinger wrote: > > > On Feb 24, 1:17 am, Brian Ferris wrote: > > What's the difference in execution contexts? > > One more guess: are you running SELinux in enforcing mode? > > > 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-us...@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-us...@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's call to /sbin/service somehow different than calling from the command line?
Sorry if I wasn't clear in the original post. I've definitely looked at the contents of the environment (dump of env) and there is no difference in the two calling contexts. I've also dumped the contents of System.getProperties() (equivalent of Java's environment) and again there is no difference in the two calling contexts. On Tue, Feb 23, 2010 at 11:44 PM, Craig Miskell wrote: > > >> Does anyone have an ideas, hints, or even vague notions of why >> Puppet's service execution might be somehow different? I'm certainly >> out of ideas to try. >> > One item you didn't mention in your list of things you've checked, so I'll > bring it up: Environment variables. > > Don't know which ones might be important though :); you could use "set" or > "env" in the service startup script and dump the output to a text file, then > compare the state between a terminal invocation and that from puppet. See > what's different and go from there. > > Craig Miskell > > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-us...@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-us...@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: Magazine article comparing CPU usage of Puppet vs. Cfengine
On Wed, Feb 24, 2010 at 6:00 AM, Michael Gliwinski wrote: > I see your point, but this is perhaps specific to the domain of configuration > management systems? I mean just look at some of the largest free software > communities like KDE, which is primarily written in C++ which doesn't seem to > be in any way diminishing the number of contributors. I think so. As a systems engineer, I reach for python and ruby very frequently and can't remember the last I reached for C/C++. I believe it was to write a cfengine module actually. Puppet provides a natural way for me to integrate the scripting I already do day to day into a sophisticated and robust system. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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: Magazine article comparing CPU usage of Puppet vs. Cfengine
I see your point, but this is perhaps specific to the domain of > configuration > management systems? I mean just look at some of the largest free software > communities like KDE, which is primarily written in C++ which doesn't seem > to > be in any way diminishing the number of contributors. > > Not the same "pool" of contributors? I mean, Puppet is for sysadmins. Sysadmins like scripting languages. Better tools for the kind of work we do normally than C/C++. That's more or less the opposite situation from KDE. -- Jesús Couto F. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] puppet Upgrade request from 0.24.8 To 0.25.4 (SLES 11 Package)
PS: my previous mail might be filtered as junk because I used wildcard in the subject. Therefore, I am writting again. Hello members, We are using Puppet-Server 0.24.8 with Factor (1.5.2-1.20) and Puppet 0.24.5 (for client nodes) on our SuSE Machines and its working fine. We are now planning to upgrade to latest stable release 0.25.* for server (with factor) and client-nodes. We just like to enquire you if there is a package/rpm available for SLES 11? If yes, please share with us? Thanks -- M. Haris Farooque -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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's call to /sbin/service somehow different than calling from the command line?
On Feb 24, 1:17 am, Brian Ferris wrote: > What's the difference in execution contexts? One more guess: are you running SELinux in enforcing mode? 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-us...@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Puppet 0.25.* SLES 11 Package
Hello members, We are using Puppet-Server 0.24.8 with Factor (1.5.2-1.20) and Puppet 0.24.5 (for client nodes) on our SuSE Machines and its working fine. We are now planning to upgrade to latest stable release 0.25.* for server (with factor) and client-nodes. We just like to enquire you if there is a package/rpm available for SLES 11? If yes, please share with us? Thanks -- M. Haris Farooque -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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's call to /sbin/service somehow different than calling from the command line?
On Feb 24, 1:17 am, Brian Ferris wrote: > I see it changing the > status of the service from stopped to running, and yet my Java service > fails with random NoClassDefFound errors. For classes belonging to your application, to external jars, or to the system library? [...] > Now, I know you're immediately going to guess that I have some > classpath setup incorrectly or a permissions problem or something. It's not a guess: you definitely have a classpath problem. Following Craig's suggestion, you might consider looking at the CLASSPATH environment variable. I strongly recommend against relying on CLASSPATH, by the way, as doing so is prone to problems exactly like this. Instead, specify your classpath on the command line. Even better: package all the needed classes (except those from the standard runtime library) into the same jar, identify the entry point via a Main-Class: entry in its manifest, and run the sucker using "java -jar". You mention that you have checked permissions, etc.. I assume, then, that you are aware that if the puppetd process does not have read permission on one or more of the needed jars, or, recursively, the directories containing them, then those jars are effectively not in the classpath. Also, do you give the *absolute* path to each jar in your classpath? One more thing: does your initscript use the absolute pathname of the java runtime executable? If not, and if there is more than one Java runtime installed, then it may be that puppetd is running a different java than you do from the command line. That might contribute to your issue. 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-us...@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] /etc/hosts 'cname'?
Dick Davies wrote: # this gets used by several classes $activedbhost = "mysql1.mydomain.com" host { "db.hosting.mydomain.com": ensure => present, ip => ip_of($activedbhost) } 'ip_of()' is what Puppet calls a 'function', right? Does anyone have a reference on how to write them - the reductive labs docs seem a little broken today. Or better still, has someone already written such a thing :) As a matter of fact, yes, I have. :-) In my "nsc-puppet-utils" module, I have a function resolve_ipnets() which does that. (It does have some additional features as well. For example, it resolves names on the form "foo.example.com/24" to "10.20.30.17/24", and it handles lists of hostnames as well.) Do a 'git clone http://www.nsc.liu.se/~bellman/nsc-puppet-utils.git' to get my module. There is documentation inside the file plugins/puppet/parser/functions/resolve_ipnets.rb. A little note, though. If you use this to populate /etc/hosts from DNS, and you do so on your Puppetmaster, you won't be able to change the address of that name. The next time resolve_ipnets() is called, it will find the address in /etc/hosts, and then you're stuck. (You can of course remove that entry from /etc/hosts manually, and then you'll be OK again, but that's cheating. :-) /Bellman -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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: /etc/hosts 'cname'?
On Wed, Feb 24, 2010 at 6:55 AM, Dick Davies wrote: > Does anyone have a reference on how to write functions - > the reductive labs docs seem a little broken today. Never mind, found it. http://reductivelabs.com/trac/puppet/wiki/WritingYourOwnFunctions -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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] Correct user management across modules
I've got an Apache module and a Nagios module which "require"s the Apache module, in the Nagios module we need to add the apache user to the nagios group, what would be the best most scalable method to do this? Assuming we might have other modules for webapps which need to add the apache user to other groups in the future?! The actual apache user is created by the httpd package (on RedHat) but in the Apache module can we just manage the user with something like : user { "apache": uid => 48, gid => 48, groups => "apache", } and then in the Nagios module do User["apache"]{ groups +> "nagios" } ? Or is there a better way? Cheers! -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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: How to conditionally include classes based on environment?
Hi there, On 23 feb, 10:19, ascodemus wrote: > Q1) How can I include a class for a node depending on the status of > the managed node? Example is it possible to do include a class based > on existence of a file e.g. “/root/puppet/dl580” on the managed puppet- > client node like: Nope, that's not possible, since the manifests are compiled on the puppetmaster and it therefore has no access to the filesystem of your client at that time. The usual solution for this is to create a fact for this. There are some examples here: http://reductivelabs.com/trac/puppet/wiki/AddingFacts > Q2) Is it possible to pass information (e.g. string) i.e. an output of > an “exec” execution on a puppet-client and store this information into > a puppet variable? Take a look at the generate function: http://docs.reductivelabs.com/references/0.25.1rc2/function.html#generate I think that can do what you need. > Q3) Well when I’m hacking with the FACTER-variables, I notice that if > I’ve included new FACTER-variables within the /etc/init.d/puppet (or > sourced from there from another file) this obviously requires puppet > restart to make my own FACTERs available – is there any other method > to make my own FACTERs available once set without need to restart the > puppet client? I don't think adding facter variables to /etc/init.d/puppet is common practice, really. I'd prefer to create an actual fact. This can usually be done by very simple snippets of code, as seen on the page I pointed to as answer to your Q1. Hope this helps! -- Kind regards, Tim -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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: Magazine article comparing CPU usage of Puppet vs. Cfengine
On Wednesday 24 Feb 2010 10:19:57 Nigel Kersten wrote: > > You make it sound like it's impossible to write a well performing, > > expressive and stable system in C/C++, etc. Surely you can't think that? > > I don't think that. > > What I do think is that something like Puppet that needs to abstract > out a bunch of stuff across various platforms is only really going to > work as an open source project with a healthy and active community. > Agreed. > You're much more likely to get such a community form around a high > level language than a lower level one. > That is perhaps relative, but see below. > I wouldn't have contributed as much to Puppet as I've done if it was > written in C/C++. > I see your point, but this is perhaps specific to the domain of configuration management systems? I mean just look at some of the largest free software communities like KDE, which is primarily written in C++ which doesn't seem to be in any way diminishing the number of contributors. -- Michael Gliwinski Henderson Group Information Services 9-11 Hightown Avenue, Newtownabby, BT36 4RT Phone: 028 9034 3319 ** The information in this email is confidential and may be legally privileged. It is intended solely for the addressee and access to the email by anyone else is unauthorised. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. When addressed to our clients, any opinions or advice contained in this e-mail are subject to the terms and conditions expressed in the governing client engagement leter or contract. If you have received this email in error please notify supp...@henderson-group.com John Henderson (Holdings) Ltd Registered office: 9 Hightown Avenue, Mallusk, County Antrim, Northern Ireland, BT36 4RT. Registered in Northern Ireland Registration Number NI010588 Vat No.: 814 6399 12 * -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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: Magazine article comparing CPU usage of Puppet vs. Cfengine
Brice Figureau wrote: It would be interesting in finding where (when?) the time is taken. I'm wondering if it comes from the master or puppetd itself. Does running with --debug gives more information. Maybe it does. I do need to look into this sometime, but I won't have the time for yet a couple of weeks. I know Ohad found an issue around 0.24.5 about puppetd scanning $PATH to find executables each time it needed to run yum/rpm (and possibly other executables). On his machines this was taking a lot of time (don't ask why). This has been fixed in 0.25, if I remember correctly, but maybe that's what you're seeing. I'm running 0.25.2. Going from 0.24.8 to 0.25.x did make things go faster. /Bellman -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] ssh::auth server dependency on ~/.ssh and a scoping question
Hi Andrew, Just noticed that ssh::auth::server doesn't require the resource for ~/.ssh directory. Considering the documentation says it does (in Examples -> 1. With account management at the bottom mentions that 'require => [User[$title], File["$home/.ssh"]]' is implicitly included in both client and server), I thought I'll report it. This works fine for ssh::auth::server because it uses a file resource for the ~/.ssh/$filename file, so ~/.ssh is autorequired by puppet (if defined). Also, while I'm at it, I wanted to ask a question related to scoping. Don't know if it's another difference between puppet 0.24.8 and 0.25.x, can't find any docs mentioning that. Anyway the problem manifests itself in that simple manifest: import "auth.pp" include ssh::auth Ssh::Auth::Key { length => 4096 } ssh::auth::key { 'foo': } include ssh::auth::keymaster file { '/home/foo/.ssh': ensure => directory, mode => 700, owner => 'foo', group => 'puppet' } ssh::auth::client { 'foo': group => 'foo' } this is a simplified manifest which I ran with standalone puppet and it produces the following error: Only subclasses can override parameters at /root/puppet- tests/sshauth/auth.pp:113 on node ... The problem here is the "group => 'foo'" param passed to ssh::auth::client. It doesn't really matter which parameter it is though as the issue seems to be that the ssh::auth::client (or ssh::auth::server) define cannot override properties of a resource declared in ssh::auth::key define. I searched a bit for something on defines overriding parameters of resources and found a thread here on puppet-users [1] which implies this isn't possible. Does that work in 0.25.x ? [1] http://groups.google.com/group/puppet- users/browse_thread/thread/4836b517cd7b5010 -- Michael Gliwinski Henderson Group Information Services 9-11 Hightown Avenue, Newtownabby, BT36 4RT Phone: 028 9034 3319 ** The information in this email is confidential and may be legally privileged. It is intended solely for the addressee and access to the email by anyone else is unauthorised. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. When addressed to our clients, any opinions or advice contained in this e-mail are subject to the terms and conditions expressed in the governing client engagement leter or contract. If you have received this email in error please notify supp...@henderson-group.com John Henderson (Holdings) Ltd Registered office: 9 Hightown Avenue, Mallusk, County Antrim, Northern Ireland, BT36 4RT. Registered in Northern Ireland Registration Number NI010588 Vat No.: 814 6399 12 * -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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] parsedfile provider documentation?
Hi David, I was just looking a bit more into augeas: Is there a way to set variables in augeas wit values obtained by a 'get' statement? Like: ... augtool> get /files/etc/sysconfig/kernel/MODULES_LOADED_ON_BOOT /files/etc/sysconfig/kernel/MODULES_LOADED_ON_BOOT = "ipv6" ... Thus having a variable $oldval with values 'ipv6' which I could reuse to set the value again. In this way an appending of values would be easy, e.g.: ... augtool> set /files/etc/sysconfig/kernel/MODULES_LOADED_ON_BOOT "$oldval sunrpc" Thanks and bye, Frederik On Tue, Feb 23, 2010 at 1:42 PM, Frederik Wagner wrote: > Hi David, > > On Tue, Feb 23, 2010 at 1:09 AM, David Lutterkort wrote: >> On Mon, 2010-02-22 at 10:45 +0100, Frederik Wagner wrote: >>> MODULES_LOADED_ON_BOOT="module1 module2" >>> >>> My goal ist to have a type, which can append a "module3" to this >>> entry, or replace the whole list, etc. (to stay generic for different >>> files in /etc/sysconfig). >> >> If you can live with replacing the entire list, you can just use augeas: >> >>augeas { "my_boot_modules": >>changes => "set >> /files/etc/sysconfig/kernel/MODULES_LOADED_ON_BOOT '$mymodules'" >>} >> >> If you need to build the list up from something else, you might want to >> wrap the above into a define that computes $mymodules from that >> something. > > I would need to append single modules to the list, therefore I was > thinking to write the provider. > >> >> There's also ways to make this just append a specific module, but that >> would require some work on the Augeas side. > > does this need new features on the augeas side? Or is it already > doable with the current augeas? > > Anyway a bit more documentation on the ParseFile provider would be nice. > > Thanks a lot, > Fredeirk > >> David >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Users" group. >> To post to this group, send email to puppet-us...@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-us...@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: Magazine article comparing CPU usage of Puppet vs. Cfengine
On Wed, Feb 24, 2010 at 1:59 AM, Michael Gliwinski wrote: > On Tuesday 23 Feb 2010 16:22:44 Lindsay Holmwood wrote: >> Performance, expressiveness, stability. Pick two. >> > > You make it sound like it's impossible to write a well performing, expressive > and stable system in C/C++, etc. Surely you can't think that? I don't think that. What I *do* think is that something like Puppet that needs to abstract out a bunch of stuff across various platforms is only really going to work as an open source project with a healthy and active community. You're much more likely to get such a community form around a high level language than a lower level one. I wouldn't have contributed as much to Puppet as I've done if it was written in C/C++. > > I once had an idea of using puppet to also manage configuration on some > embedded systems (routers, NAS, heck even tablets like maemo-based), that went > quickly out the door once I realised how well performing ruby is. Still I > think it would be a valid use case. > > Regards, > > Michael > > > -- > Michael Gliwinski > Henderson Group Information Services > 9-11 Hightown Avenue, Newtownabby, BT36 4RT > Phone: 028 9034 3319 > > ** > The information in this email is confidential and may be legally privileged. > It is intended solely for the addressee and access to the email by anyone > else is unauthorised. > If you are not the intended recipient, any disclosure, copying, distribution > or any action taken or omitted to be taken in reliance on it, is prohibited > and may be unlawful. > When addressed to our clients, any opinions or advice contained in this > e-mail are subject to the terms and conditions expressed in the governing > client engagement leter or contract. > If you have received this email in error please notify > supp...@henderson-group.com > > John Henderson (Holdings) Ltd > Registered office: 9 Hightown Avenue, Mallusk, County Antrim, Northern > Ireland, BT36 4RT. > Registered in Northern Ireland > Registration Number NI010588 > Vat No.: 814 6399 12 > * > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-us...@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. > > -- nigel -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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: Magazine article comparing CPU usage of Puppet vs. Cfengine
On Tuesday 23 Feb 2010 16:22:44 Lindsay Holmwood wrote: > Performance, expressiveness, stability. Pick two. > You make it sound like it's impossible to write a well performing, expressive and stable system in C/C++, etc. Surely you can't think that? I once had an idea of using puppet to also manage configuration on some embedded systems (routers, NAS, heck even tablets like maemo-based), that went quickly out the door once I realised how well performing ruby is. Still I think it would be a valid use case. Regards, Michael -- Michael Gliwinski Henderson Group Information Services 9-11 Hightown Avenue, Newtownabby, BT36 4RT Phone: 028 9034 3319 ** The information in this email is confidential and may be legally privileged. It is intended solely for the addressee and access to the email by anyone else is unauthorised. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. When addressed to our clients, any opinions or advice contained in this e-mail are subject to the terms and conditions expressed in the governing client engagement leter or contract. If you have received this email in error please notify supp...@henderson-group.com John Henderson (Holdings) Ltd Registered office: 9 Hightown Avenue, Mallusk, County Antrim, Northern Ireland, BT36 4RT. Registered in Northern Ireland Registration Number NI010588 Vat No.: 814 6399 12 * -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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: Magazine article comparing CPU usage of Puppet vs. Cfengine
On Wed, 2010-02-24 at 01:10 +0100, Thomas Bellman wrote: > Trevor Vaughan top-posted: > > > Just out of curiosity, do the ones that take longer happen to be 64 bit? > > Well, yes, they are indeed 64 bit (x86_64). But that doesn't > distinguish them from the quicker ones. They are all running > CentOS 5.4 for x86_64, and they all have identical quad-core > Opteron CPUs and identical motherboards, RAID controllers, and > disks. > > There are differences though; some machines have dual processors > (i.e. 8 cores) with 32 Gbyte RAM and run Xen, while some have > single processors with 16 Gbyte RAM and do not run Xen. I haven't > seen any *obvious* correlation between speed and non-Xen, dom0 or > domU, or with amount of virtual CPU:s or RAM assigned to the > domains, but as I said I haven't really had time to analyze the > problem properly. It would be interesting in finding where (when?) the time is taken. I'm wondering if it comes from the master or puppetd itself. Does running with --debug gives more information. I know Ohad found an issue around 0.24.5 about puppetd scanning $PATH to find executables each time it needed to run yum/rpm (and possibly other executables). On his machines this was taking a lot of time (don't ask why). This has been fixed in 0.25, if I remember correctly, but maybe that's what you're seeing. -- Brice Figureau Follow the latest Puppet Community evolutions on www.planetpuppet.org! -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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: Magazine article comparing CPU usage of Puppet vs. Cfengine
Thanks everyone for their input. I'll press on with Puppet and if I run into performance issues then I'll bring them up in this forum. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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.