[Puppet Users] Re: check if package installed
Facter plugin is one way. An easier way is to install the package with puppet and have the file require the package. -Eric On Tue, 4 Aug 2009, Alexey Wasilyev wrote: How can I check if some package installed in manifest? Only by writing facter plugin? For example: if ssh_installed { file{/etc/ssh/sshd_config: source =. } } Alexey Wasilyev Systems Administrator Grid Dynamics --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] Puppet cannot find custom functions
Hello, I'm trying to do almost exactly what the cookbook at http://reductivelabs.com/trac/puppet/wiki/WritingYourOwnFunctions is doing, namely, adding a custom hash function to determine what time cron should run. However, I can't get puppet to find my function. I've got it symlinked all over: [r...@nagios1 functions]# puppetmasterd --configprint libdir /var/lib/puppet/lib [r...@nagios1 functions]# ls /var/lib/puppet/lib/puppet/parser/ functions/functions.rb /var/lib/puppet/lib/puppet/parser/functions/functions.rb [r...@nagios1 functions]# ls /etc/puppet/modules/puppet/plugins/puppet/ parser/functions/functions.rb /etc/puppet/modules/puppet/plugins/puppet/parser/functions/ functions.rb The conents of the file are: require 'digest/sha1' module Puppet::Parser::Functions newfunction(:minute_from_address, :type = :rvalue) do |args| Digest::SHA1.hexdigest(lookupvar('ipaddress')).hex.to_i % 60 end end And the recipe calling it is: class puppet { cron { puppet: command = /etc/init.d/puppet once, user = root, minute = minute_from_address() } } But all I ever get is: Aug 4 22:29:19 toolbox puppetd[10730]: Could not retrieve catalog: Unknown function minute_from_address at /etc/puppet/modules/puppet/ manifests/init.pp:16 on node xyz Can someone tell me what I'm doing wrong here? According to the link referenced above, puppet should be picking up functions in these directories. Even better, is there an accepted way I can tell puppetmasterd to look for functions in a particular place? --~--~-~--~~~---~--~~ 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: ANNOUNCE: 0.25.0 Release Candidate 1 is out!
2009/8/4 James Turnbull ja...@lovedthanlost.net: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 This is the rc1 release of Puppet 0.25.0. It is available at: http://reductivelabs.com/downloads/puppet/puppet-0.25.0rc1.tar.gz New Language Features - - Regular expression matching is now possible in node definitions. node /web|db/ { include blah } node /^(foo|bar)\.example\.com$/ { include blah } Puppet now also allows regular expressions in if statements with the use of the =~ (match) and !~ (not match) operators. if $uname =~ /Linux|Debian/ { ... } Woot! This solves a problem I've just created for myself (multiple servers that are all essentially identical other than their name and IP) in a much nicer method than I was using. --~--~-~--~~~---~--~~ 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: 32bit and 64bit versions of packages
2009/8/4 Ohad Levy ohadl...@gmail.com: Hi, It does work, the main problem is that usually libs are dependents of other rpms. if you do it this way, you have to find out the each and every lib rpm which the application you actually want to use depends upon. Yum certainly handles this. What I have done in the past is store the 64 and 32-bit RPMs in the same repository. yum install package then grabs both unless you explicitly override the arch. (To be honest, this bit me in the ass with an install and then I realised that it was a useful trick.) --~--~-~--~~~---~--~~ 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: 32bit and 64bit versions of packages
I need to double check this, but from vague memory I remember that if you had one rpm that required a package, and if it didn't specify that it requires both archs, than it would end up installing the package + 64bit lib only and not the 32bit libs. Ohad On Wed, Aug 5, 2009 at 2:56 PM, Duncan Hill bajand...@googlemail.comwrote: 2009/8/4 Ohad Levy ohadl...@gmail.com: Hi, It does work, the main problem is that usually libs are dependents of other rpms. if you do it this way, you have to find out the each and every lib rpm which the application you actually want to use depends upon. Yum certainly handles this. What I have done in the past is store the 64 and 32-bit RPMs in the same repository. yum install package then grabs both unless you explicitly override the arch. (To be honest, this bit me in the ass with an install and then I realised that it was a useful trick.) --~--~-~--~~~---~--~~ 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: 32bit and 64bit versions of packages
Ohad Levy wrote: I need to double check this, but from vague memory I remember that if you had one rpm that required a package, and if it didn't specify that it requires both archs, than it would end up installing the package + 64bit lib only and not the 32bit libs. Correct -- but that's a fault of the RPM package, not Puppet, i.e. just doing a yum install package would have the same result. cYa, Avi --~--~-~--~~~---~--~~ 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: 32bit and 64bit versions of packages
yeah, so I guess that's what I had in mind all along (i don't know how common it is today, but in the past it was fairly common) On Wed, Aug 5, 2009 at 3:17 PM, Avi Miller avi.mil...@gmail.com wrote: Ohad Levy wrote: I need to double check this, but from vague memory I remember that if you had one rpm that required a package, and if it didn't specify that it requires both archs, than it would end up installing the package + 64bit lib only and not the 32bit libs. Correct -- but that's a fault of the RPM package, not Puppet, i.e. just doing a yum install package would have the same result. cYa, Avi --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] puppet not reloading server config
Hi, I have a use case where the puppet server changes entries in the puppet agent's puppet.conf to redirect agents to a new server. It changes server=NEW_SERVER, environment_NEW_ENV, and reportserver=NEW_SERVER in the puppet.conf file on the next puppetrun call (with --listen option), the agent uses the new values for reportserver and environment, but still connects to the old server. service restart seems to be the only way to reload this config param. Why is this? How can I reload the config without restarting the puppet agent? Is it safe to have the puppet agent restart itself? ie: set a notify on puppet.conf to service puppetd? regards, Dan Bode --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] puppet munin : little things added
Hi list, On the advice of DavidS I send mail to the list to advertise about some modifications/enhancements I've made to his munin classes. The stuff is here : http://www.rottenbytes.info/?p=200 It is also available through planetpuppet.org, but everyone already reads it right ? ;) Regards, Nico. signature.asc Description: Ceci est une partie de message numériquement signée
[Puppet Users] Re: puppet munin : little things added
Nicolas Szalay wrote: Hi list, On the advice of DavidS I send mail to the list to advertise about some modifications/enhancements I've made to his munin classes. The stuff is here : http://www.rottenbytes.info/?p=200 Cool, thanks for publishing! Some notes and questions: * In the munin::node, the case could be replaced with include munin::node::${operatingsystem} * The different munin::node::* classes have bits in common. Have you thought about moving some things into a common base class? * Service[cron]: Managing this here will preset others with conflicts when they want to manage cron separately. Currently there is no good solution for this, but for starters I'd propose just include()ing a service::cron class, just to document the dependency. * You have the same case $operatingsystem block setting the script_path and plugins_dir. You can put that in the top-level scope or the munin::node and save yourself the headache of having to keep them in sync. Then you should rename them to munin_* and protect the whole case with if ! defined(...). That way this can be overridden on a per-node basis if needed. * There are several files you reference but do not provide in the post (munin-graph, munin.cron, etc). * How does the muningen.rb script work? If you're interested and can provide me with patches, I'd be more than happy to integrate this into my repo. Regards, DavidS --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] Re: 32bit and 64bit versions of packages
On 5 août, 09:11, Ohad Levy ohadl...@gmail.com wrote: I need to double check this, but from vague memory I remember that if you had one rpm that required a package, and if it didn't specify that it requires both archs, than it would end up installing the package + 64bit lib only and not the 32bit libs. Indeed. We've had problems in CentOS 5.2 (don't remember the exact yum version). Installing curl-dev would install both 32/64 packages and we ended with problems (using 32b libs when building 64b which obviously failed). We then used yum's plugin basearchonly. But with yum 3.2.19 that now ships with CentOS 5.3 basearchonly seems deprecated/unsupported. But there's a yum.conf option: multilib_policy=best multilib_policy Can be set to ’all’ or ’best’. All means install all possible arches for any package you want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on x86_64, if it is available. Best means install the best arch for this platform, only. Looks like all was the default or previous behavior. And best works like yum-basearchonly worked. Anyway we didn't experience any 32b/64b gotchas since we've set multilib to best. Calimero --~--~-~--~~~---~--~~ 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: 32bit and 64bit versions of packages
thanks, that good to know, but I still maintain RHE3 and RHE4... :( On Wed, Aug 5, 2009 at 5:02 PM, Calimero calimero...@evolutive.org wrote: On 5 août, 09:11, Ohad Levy ohadl...@gmail.com wrote: I need to double check this, but from vague memory I remember that if you had one rpm that required a package, and if it didn't specify that it requires both archs, than it would end up installing the package + 64bit lib only and not the 32bit libs. Indeed. We've had problems in CentOS 5.2 (don't remember the exact yum version). Installing curl-dev would install both 32/64 packages and we ended with problems (using 32b libs when building 64b which obviously failed). We then used yum's plugin basearchonly. But with yum 3.2.19 that now ships with CentOS 5.3 basearchonly seems deprecated/unsupported. But there's a yum.conf option: multilib_policy=best multilib_policy Can be set to ’all’ or ’best’. All means install all possible arches for any package you want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on x86_64, if it is available. Best means install the best arch for this platform, only. Looks like all was the default or previous behavior. And best works like yum-basearchonly worked. Anyway we didn't experience any 32b/64b gotchas since we've set multilib to best. Calimero --~--~-~--~~~---~--~~ 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] Purging non-LDAP users, but ignore the LDAP users?
I'm trying to manage my userbase in puppet and having some trouble. My setup: users exist in LDAP. Public keys exist in LDAP (I really recommend this patch, see http://code.google.com/p/openssh-lpk/wiki/Main). Some machines use NFS to mount an exported set of home directories; others do not. This means that very few user resources actually exist on most servers, but PAM will still return a list of users from LDAP. So I would like to make sure that if you are logging in, you are actually logging in with LDAP--basically, I want to get rid of anything in /etc/ passwd. I add a resources clause to purge non-LDAP users: resources { user: purge = true, unless_system_user = true, } Disaster, along with what appears to be a bug reporting a user found 'in both useradd and useradd' for each user that existed both on the system and in LDAP: Aug 5 06:22:11 nagios1 puppetd[32643]: Starting catalog run Aug 5 06:22:11 nagios1 puppetd[32643]: User ben found in both useradd and useradd; skipping the useradd version Aug 5 06:22:11 nagios1 puppetd[32643]: User xyz found in both useradd and useradd; skipping the useradd version Aug 5 06:22:11 nagios1 puppetd[32643]: User nagios found in both useradd and useradd; skipping the useradd version Aug 5 06:22:16 nagios1 puppetd[32643]: (/User[xyz]/ensure) removed ... snip a bunch of LDAP users getting removed ... Aug 5 06:22:20 nagios1 puppetd[32643]: (/User[ben]/ensure) change from present to absent failed: Could not delete user ben: Execution of '/usr/sbin/userdel ben' returned 8: userdel: user ben is currently logged in Aug 5 06:22:20 nagios1 puppetd[32643]: Finished catalog run in 8.82 seconds Fortunately, my systems do not have write access to LDAP. Based on this line in the type reference for resources, Any metaparams specified here will be passed on to any generated resources, I tried adding a 'provider' clause to the user resources but no dice. I'm not sure manually setting it to useradd will actually do what I want anyway. I'm guessing puppet simply doesn't support what I'm looking for right now, since LDAP users appear normally in most of the POSIX libraries. Is that assumption correct? If so, does anyone have any suggestions for how to manage this? I am thinking I can make LDAP users be 200-300 or so and then the purge will consider them system accounts and still purge anything over 500 created with useradd. I hate awkward solutions, though, and was wondering if someone else has come across this before. --~--~-~--~~~---~--~~ 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: Purging non-LDAP users, but ignore the LDAP users?
Ben Lavender wrote: I'm trying to manage my userbase in puppet and having some trouble. This means that very few user resources actually exist on most servers, but PAM will still return a list of users from LDAP. So I would like to make sure that if you are logging in, you are actually logging in with LDAP--basically, I want to get rid of anything in /etc/ passwd. I add a resources clause to purge non-LDAP users: If that's really what you want -- purging /etc/passwd -- using a File would be much easier and directly capture your intent: file { /etc/passwd: ensure = absent; } I'd recommend to provide at least a few system users in the default template instead of deleting the file altogether. E.g. some packages create users for their files. Regards, DavidS --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] Re: Purging non-LDAP users, but ignore the LDAP users?
If that's really what you want -- purging /etc/passwd -- using a File would be much easier and directly capture your intent: file { /etc/passwd: ensure = absent; } I'd recommend to provide at least a few system users in the default template instead of deleting the file altogether. E.g. some packages create users for their files. For the reasons you just explained, this won't do. Users like daemon, cron, and various system accounts are all still around and need to be. I'm also not sure what pam would do with itself without passwd, to be honest, and would hate to find out! :) Thank you though, Ben Regards, DavidS --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] Re: Purging non-LDAP users, but ignore the LDAP users?
Le mercredi 05 août 2009 à 04:01 -0700, Ben Lavender a écrit : For the reasons you just explained, this won't do. Users like daemon, cron, and various system accounts are all still around and need to be. I'm also not sure what pam would do with itself without passwd, to be honest, and would hate to find out! :) non system users are often given an UID = 1000, write a script to find these, delete them and use Exec to run it. Beware of nobody that is often given the highest UID (65534 here) Regards, Nico. signature.asc Description: Ceci est une partie de message numériquement signée
[Puppet Users] Re: Puppet cannot find custom functions
Can someone tell me what I'm doing wrong here? According to the link referenced above, puppet should be picking up functions in these directories. Even better, is there an accepted way I can tell puppetmasterd to look for functions in a particular place? Hi I assumed your issue is related to this? http://projects.reductivelabs.com/issues/2494 -L -- Larry Ludwig Reductive Labs --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] Re: ssh_authorized_key completely ignoring require
It's supposed to be fixed in 0.25, which is now rc1. I haven't tried 0.25 yet seph Mike Harding mvhard...@gmail.com writes: I am just starting with puppet, and the intended use was to manage ssh keys. Is there an intended release to fix this, or some other way to get it working? On Jul 17, 1:14 pm, seph s...@directionless.org wrote: As someone whose actively setting up and deploying puppet on new machines, this bug is a huge annoyance for me. Instead of having a simple recipe, my process involves invoking puppet to create users, then invoking puppet to add keys. It's frustrating that this still isn't fixed in the released versions. seph Chris Blumentritt cblum...@gmail.com writes: I have run into this problem today trying to stand up some new servers. On Tue, Apr 21, 2009 at 11:44 PM, Andrew Shafer and...@reductivelabs.comwrote: Scott, Can you pastie the simplest code to reproduce and maybe attach the files created by --graph to see what the relationships look like. Is anyone else seeing a problem like this? On Tue, Apr 21, 2009 at 9:02 PM, Scott scott...@gmail.com wrote: Hi, so I'm running into a problem since upgrading to 0.24.8 where puppet is trying to create an authorized key for users that don't exist because it doesn't do the require ( require = /etc/passwd ) first. I've tried making the require a default parameter for ssh_autohrized_key (yes, in the same scope), I've tried making the passwd file a requirement for every ssh_authorized_key and I've tried to use before with the passwd resource ( before = Class [ users::ssh_keys ] ) and yet puppet insists on trying to create the key before doing any of the prerequisites. One other note, thessh_authorized_keyisn't always for the same person, so it's not a particular key that's causing the problem. Also, this was never a problem with 0.24.7. Cheers, Scott --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] Re: check if package installed
You can also use unless or onlyif. Here's an example where I manipulate /foo/bar if package baz is not installed via rpm: file { /foo/bar: source = unless = rpm -q baz } Same thing with 'onlyif'. Pete On Tue, Aug 4, 2009 at 11:37 PM, Eric Heydrick eric...@speakeasy.netwrote: Facter plugin is one way. An easier way is to install the package with puppet and have the file require the package. -Eric On Tue, 4 Aug 2009, Alexey Wasilyev wrote: How can I check if some package installed in manifest? Only by writing facter plugin? For example: if ssh_installed { file{/etc/ssh/sshd_config: source =. } } Alexey Wasilyev Systems Administrator Grid Dynamics --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] 0.25.0-rc1 on ubuntu hardy (activerecord versions?)
I've been looking forward to using 0.25, and now that there's an RC I figured I'd try it. My servers are mostly ubuntu LTS, which means hardy. When I try to launch puppetmaster, it complains: * Starting puppet configuration management tool master server Could not parse configuration file: StoreConfigs not supported without ActiveRecord 2.3 Is this an intentional dependancy? Any thoughts about what this means for people running older/stable OSes? seph --~--~-~--~~~---~--~~ 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 cannot find custom functions
Perhaps this is the same issue, but the workaround does not seem to work. Starting puppetmasterd with --libdir=/var/lib/puppet/lib does not fix the problem. On Aug 5, 9:13 pm, Larry Ludwig la...@reductivelabs.com wrote: Can someone tell me what I'm doing wrong here? According to the link referenced above, puppet should be picking up functions in these directories. Even better, is there an accepted way I can tell puppetmasterd to look for functions in a particular place? Hi I assumed your issue is related to this? http://projects.reductivelabs.com/issues/2494 -L -- Larry Ludwig Reductive Labs --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] Re: Purging non-LDAP users, but ignore the LDAP users?
Thanks. This is a good idea to try and fix this. On Aug 5, 8:34 pm, Nicolas Szalay nsza...@qualigaz.com wrote: Le mercredi 05 août 2009 à 04:01 -0700, Ben Lavender a écrit : For the reasons you just explained, this won't do. Users like daemon, cron, and various system accounts are all still around and need to be. I'm also not sure what pam would do with itself without passwd, to be honest, and would hate to find out! :) non system users are often given an UID = 1000, write a script to find these, delete them and use Exec to run it. Beware of nobody that is often given the highest UID (65534 here) Regards, Nico. signature.asc 1KViewDownload --~--~-~--~~~---~--~~ 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] grouping or classifying servers
hi list, first of all, i'm new to puppet, and i'm evaluating it right now since a few days in my company ( internet, books, etc as sources ). i've been using cfengine for a few years now, and trying to get into puppet. i'd install puppet 0.25, because i feel a need to use regular expressions to identify nodes scenario: lets say we do have a few servers to get puppetized ;) at different sites lets call those sites: office, cloud and datacenter we now do have 10 webserver on each location, forming 2 clusters this would lead to following dns names: web[01-05].clusterA.cloud.mydomain.com web[01-05].clusterB.cloud.mydomain.com web[01-05].clusterA.office.mydomain.com web[01-05].clusterB.office.mydomain.com web[01-05].clusterA.datacenter.mydomain.com web[01-05].clusterB.datacenter.mydomain.com 1. let's say i want to apply a certain config just to clusterB at all sites (like munin plugins) i'd guess i would take node definitions for that, loading those classes like this one node /^web(.*)\\.clusterB\\.(cloud|office|datacenter)\\.mydomain\\.com $/ { include site::clusterB::web-nodes } 2. now lets say, i also want all servers to have a base set of munin plugins no matter where they are located, using the next node definition node /^web(.*)\\.cluster(A|B)\\.(cloud|office|datacenter)\\.mydomain\ \.com$/ { inclde site::web-nodes } 3. i want just one server to have a config afterwards node web01.clusterA.cloud.mydomain.com { include site::cloud::clusterA::web01.clusterA.cloud.mydomain.com } thought that my syntax could be wrong but i hope i got the point. i did not try that out yet thought but would like to hear your opinions, if this is the preffered way to solve my problem? i thought since there are no much chances besides $hostname and $fqdn to identify or even classify certain nodes, to apply configs to, thats the only way greetings --~--~-~--~~~---~--~~ 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: ANNOUNCE: 0.25.0 Release Candidate 1 is out!
On Aug 3, 2009, at 8:29 PM, Nigel Kersten wrote: And there's a Mac pkg up here: https://sites.google.com/a/explanatorygap.net/puppet/Home/puppet_0.25.0-rc1.pkg.tar.bz2 You could probably do this as easily as I did, but FWIW here's a diff for macports. Index: dports/sysutils/puppet/Portfile === --- dports/sysutils/puppet/Portfile (revision 54921) +++ dports/sysutils/puppet/Portfile (working copy) @@ -4,7 +4,7 @@ PortSystem 1.0 namepuppet -version 0.24.8 +version 0.25.0rc1 categories sysutils maintainers explanatorygap.net:nigel @@ -21,11 +21,11 @@ master_siteshttp://reductivelabs.com/downloads/puppet/ -extract.suffix .tgz +extract.suffix .tar.gz -checksums md5 288d46dee00acad64d0f3ecc6d8ba6fa \ -sha1 a871aef6f3e8e060f5109bb022967066e32875be \ -rmd160 edb187da9225c9faee9839a5d644b5c9c91f3d5f +checksums md5 fbb08deb34df3c227f3dc521a4bfd15b \ +sha1 159fd33368727a2b090c300414fbdd847c159ec2 \ +rmd160 aae58abf32210a85be6c8d0b1936d1118d837d7b depends_lib port:ruby \ port:facter --~--~-~--~~~---~--~~ 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] Hiring for a Puppet-oriented Systems Administrator/Tools Developer in Palo Alto
Greetings, The subject says it all, but I'm hiring for someone to focus on an in- house Puppet implementation at a startup I'm working with here in Palo Alto. Here's the req: COMPANY PROFILE: Twofish (www.twofish.com) is the world's premier provider of economic solutions for the online entertainment industry. The company's flagship product, Twofish Elements, provides an integrated end-to-end solution for partners, rolling together banking/financial management, supply chain/inventory management, and advanced analytics into one easy-to-use package. Unique features include a banking-grade account management service, multicurrency administration and exchange, an item- based asset lifecycle management system, a flexible offers/listing service, and a macroeconomic policy dashboard. Twofish was founded in 2006 with venture backing from Venrock, Triple Point, and Rustic Canyon. DESCRIPTION: We are seeking a Linux Systems Administrator to add to our Operations Team in a challenging and ever-changing role. Our team is laying the groundwork for our service to morph into a reliable and process- oriented infrastructure. Our production infrastructure is a quickly growing, heterogeneous stack of Jboss, Tomcat, Grails, MySQL, Ubuntu, and CentOS Linux. This combines to create a complex and dynamic operations environment with high availability and auditability needs. RESPONSIBILITIES: * Maintain and improve our application deployment processes * Monitor service stability and performance * Troubleshoot issues with hardware, software, applications, and network * Prioritize tasks and work independently, while interacting with product and engineering teams * Configure servers and network * Write scripts to monitor and automate processes * Document current and future configuration processes and policies * Actively participate in 24 X 7 pager rotation REQUIREMENTS: * 2+ years experience with a configuration management system (Puppet, BCFG2, CFEngine, etc.) * 5+ years of tools development experience in Perl, PHP, or Java * 8+ years of experience with Linux/Unix/BSD * Demonstrable knowledge of TCP/IP, HTTP, security, storage, SQL databases, Subversion, and memcached * Experience in operations department of large-scale Internet services * Experience programming with Ruby * Experience with JVM-based application stacks * Practical knowledge of shell scripting and at least one scripting language (Ruby, Perl, Python) * Track record of practical problem solving IDEAL QUALIFICATIONS: * B.S. in Computer Science * Experience with the Puppet configuration management system * Previous experience developing operations tools * Prior experience with various infrastructure processes such as PCI, CMDB, ITIL, etc... BENEFITS: We know that our employees are our most valuable resource, and we provide them with competitive compensation, excellent benefits, and stock options. HOW TO APPLY: Qualified applicants should send your resume and a cover letter summarizing how your background matches the requirements to j...@twofish.com . Please use Linux Systems Administrator in the subject line of your email. --~--~-~--~~~---~--~~ 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: ANNOUNCE: 0.25.0 Release Candidate 1 is out!
On Wed, Aug 5, 2009 at 10:56 AM, Eric Sorensonahp...@gmail.com wrote: On Aug 3, 2009, at 8:29 PM, Nigel Kersten wrote: And there's a Mac pkg up here: https://sites.google.com/a/explanatorygap.net/puppet/Home/puppet_0.25.0-rc1.pkg.tar.bz2 You could probably do this as easily as I did, but FWIW here's a diff for macports. Oh cool. Thanks Eric. I started working on variant to submit upstream instead, but then decided against it. Index: dports/sysutils/puppet/Portfile === --- dports/sysutils/puppet/Portfile (revision 54921) +++ dports/sysutils/puppet/Portfile (working copy) @@ -4,7 +4,7 @@ PortSystem 1.0 name puppet -version 0.24.8 +version 0.25.0rc1 categories sysutils maintainers explanatorygap.net:nigel @@ -21,11 +21,11 @@ master_sites http://reductivelabs.com/downloads/puppet/ -extract.suffix .tgz +extract.suffix .tar.gz -checksums md5 288d46dee00acad64d0f3ecc6d8ba6fa \ - sha1 a871aef6f3e8e060f5109bb022967066e32875be \ - rmd160 edb187da9225c9faee9839a5d644b5c9c91f3d5f +checksums md5 fbb08deb34df3c227f3dc521a4bfd15b \ + sha1 159fd33368727a2b090c300414fbdd847c159ec2 \ + rmd160 aae58abf32210a85be6c8d0b1936d1118d837d7b depends_lib port:ruby \ port:facter -- Nigel Kersten nig...@google.com System Administrator Google, Inc. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] Re: Puppet cannot find custom functions
On Wed, Aug 5, 2009 at 12:47 PM, Ben Lavender blaven...@gmail.com wrote: Perhaps this is the same issue, but the workaround does not seem to work. Starting puppetmasterd with --libdir=/var/lib/puppet/lib does not fix the problem. Silly question, but this bit me: are you running both puppetmaster and client with --pluginsync? -Shawn On Aug 5, 9:13 pm, Larry Ludwig la...@reductivelabs.com wrote: Can someone tell me what I'm doing wrong here? According to the link referenced above, puppet should be picking up functions in these directories. Even better, is there an accepted way I can tell puppetmasterd to look for functions in a particular place? Hi I assumed your issue is related to this? http://projects.reductivelabs.com/issues/2494 -L -- Larry Ludwig Reductive Labs --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] Re: Puppet cannot find custom functions
On Wed, Aug 5, 2009 at 5:26 PM, S H shdashb...@gmail.com wrote: On Wed, Aug 5, 2009 at 12:47 PM, Ben Lavender blaven...@gmail.com wrote: Perhaps this is the same issue, but the workaround does not seem to work. Starting puppetmasterd with --libdir=/var/lib/puppet/lib does not fix the problem. Silly question, but this bit me: are you running both puppetmaster and client with --pluginsync? -Shawn Pretend I didn't ask that. Functions only run on the puppetmaster. Nothing to see here. -Shawn On Aug 5, 9:13 pm, Larry Ludwig la...@reductivelabs.com wrote: Can someone tell me what I'm doing wrong here? According to the link referenced above, puppet should be picking up functions in these directories. Even better, is there an accepted way I can tell puppetmasterd to look for functions in a particular place? Hi I assumed your issue is related to this? http://projects.reductivelabs.com/issues/2494 -L -- Larry Ludwig Reductive Labs --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] more 0.25.0 rc1 problems -- PGconn:Class
I manually installed a newer ActiveRecord and ActiveSupport on my puppetmaster, and things start okay. But when I try to run puppet on a client (eother 0.24.8 or 0.25) I get this error: debug: Calling puppetmaster.getconfig err: Could not retrieve catalog: undefined method `quote_ident' for PGconn:Class Any ideas? seph --~--~-~--~~~---~--~~ 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 cannot find custom functions
Actually, I take that back--it would not appear to be the same issue as #2494 at all. I also have the functions file in this directory: /etc/puppet/modules/puppet/plugins/puppet/parser/functions/ That should have been loaded as well, according to http://reductivelabs.com/trac/puppet/wiki/WritingYourOwnFunctions , but it was not. I'm starting to worry that I'm missing something terribly simple and obvious. Ben On Aug 6, 1:47 am, Ben Lavender blaven...@gmail.com wrote: Perhaps this is the same issue, but the workaround does not seem to work. Starting puppetmasterd with --libdir=/var/lib/puppet/lib does not fix the problem. On Aug 5, 9:13 pm, Larry Ludwig la...@reductivelabs.com wrote: Can someone tell me what I'm doing wrong here? According to the link referenced above, puppet should be picking up functions in these directories. Even better, is there an accepted way I can tell puppetmasterd to look for functions in a particular place? Hi I assumed your issue is related to this? http://projects.reductivelabs.com/issues/2494 -L -- Larry Ludwig Reductive Labs --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~--~~~~--~~--~--~---
[Puppet Users] Re: grouping or classifying servers
You might want to consider using external nodes instead, that wont require starting pre-release copy of puppet and should give you all the functionality you require (e.g. adding classes or variables per node) Ohad On Thu, Aug 6, 2009 at 1:40 AM, Jan Werner rababerkuc...@tortenboxer.dewrote: hi list, first of all, i'm new to puppet, and i'm evaluating it right now since a few days in my company ( internet, books, etc as sources ). i've been using cfengine for a few years now, and trying to get into puppet. i'd install puppet 0.25, because i feel a need to use regular expressions to identify nodes scenario: lets say we do have a few servers to get puppetized ;) at different sites lets call those sites: office, cloud and datacenter we now do have 10 webserver on each location, forming 2 clusters this would lead to following dns names: web[01-05].clusterA.cloud.mydomain.com web[01-05].clusterB.cloud.mydomain.com web[01-05].clusterA.office.mydomain.com web[01-05].clusterB.office.mydomain.com web[01-05].clusterA.datacenter.mydomain.com web[01-05].clusterB.datacenter.mydomain.com 1. let's say i want to apply a certain config just to clusterB at all sites (like munin plugins) i'd guess i would take node definitions for that, loading those classes like this one node /^web(.*)\\.clusterB\\.(cloud|office|datacenter)\\.mydomain\\.com $/ { include site::clusterB::web-nodes } 2. now lets say, i also want all servers to have a base set of munin plugins no matter where they are located, using the next node definition node /^web(.*)\\.cluster(A|B)\\.(cloud|office|datacenter)\\.mydomain\ \.com$/ { inclde site::web-nodes } 3. i want just one server to have a config afterwards node web01.clusterA.cloud.mydomain.com { include site::cloud::clusterA::web01.clusterA.cloud.mydomain.com } thought that my syntax could be wrong but i hope i got the point. i did not try that out yet thought but would like to hear your opinions, if this is the preffered way to solve my problem? i thought since there are no much chances besides $hostname and $fqdn to identify or even classify certain nodes, to apply configs to, thats the only way greetings --~--~-~--~~~---~--~~ 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] How to add header to all files/templates?
Hello All! I would like to automatically add a header to all files/templates that puppet manages on my servers. Something like #if you break, my puppet will fix it!! Is this possible? --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---