[Puppet Users] Organizational best practices / examples
Hi folks, I was curious if anyone would be willing to share how they organize their puppet implementation. Perhaps something similar to what you'll find at https://fedoraproject.org/wiki/Infrastructure/Puppet. People should have this sort of stuff documented, appreciate anything anyone would be willing to share. // colyte -- 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] Multiple template fallbacks
Hi, In a file resource I want to be able to specify multiple template contents. If the 1st template doesn't exist use the 2nd listed and so on. Much like how the source attribute works. Basically this: file { /tmp/somefile.txt: ensure = present, content = [ template(somefile-$fqdn.erb), template(somefile.erb), ] mode= 644, owner = root, group = root, } Which doesn't work. Is there a way to do this in puppet? Thanks, Sam -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/mVbZoOdhVp8J. 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] Deploy an application on multiple hosts as one unit
Hi, I wanted to see if I could deploy an application, which runs on multiple hosts, as a proof of concept, I've created Stacker [1] Screencast [2]* showing it in a high level. Any feedback is appreciated :) thanks, Ohad [1] - https://github.com/ohadlevy/stacker [2] - http://ohadlevy.fedorapeople.org/stacker.ogv * stupid youtube wont understand the video format, (ffmpeg/meconder and friends didn't work either that well) vlc/mplayer seems to play it nicely me is looking for better screencast software on linux. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Organizational best practices / examples
On 09/01/2011 04:32 AM, col yte wrote: Hi folks, I was curious if anyone would be willing to share how they organize their puppet implementation. Perhaps something similar to what you'll find at https://fedoraproject.org/wiki/Infrastructure/Puppet. People should have this sort of stuff documented, appreciate anything anyone would be willing to share. Hello, In our environment we've made a concious decision to maintain modules/ in as generic a fashion as possible. Basically, the way it works is that before we commit to modules/ we ask, would we be comfortable sharing this on Github? It's a surprisingly good strategy. :) I realise this is only a small element of what you're asking for, but I am also curious to know if anybody else out there has any sort of simple rules that can applied in order to preserve sanity. -- Daniel Maher « makin' plans now to live on Mars 'cuz I got Earth on lock. » -- 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: File resource owner not found, only during automatic puppet runs
On Aug 31, 8:09 pm, treydock treyd...@gmail.com wrote: I have a file resource defined to be owned by a group that is accessible via samba/winbind (AD based group), but every time Puppet runs automatically (every 30 min) the run fails with this error , (sensitive information removed) (/Stage[main]//Node[node1.tld]/Apache::Vhost[vhost1]/File[/var/www/ vhost1/html]) Could not evaluate: Could not find group org-www at /etc/ puppet/modules/apache/manifests/definitions/vhost.pp:52 When I manually run puppetd --test --debug -v there is no failure. Also the group is visible on the system and all works just fine. It only fails during the automatic Puppet runs. I also have another host, with an almost identical setup , assigning AD based groups to file resources, and it doesn't have this problem. Using Puppet 2.6.9, on CentOS 6. It looks like the Puppet agent is unable to connect to the domain to retrieve group information. In all likelihood this is an issue with the environment in which the agent runs or the user (root) as whom it runs, perhaps in conjunction with winbind configuration specifics. You could try to duplicate it from the command line by doing something like 'env -i PATH=/bin:/sbin:/usr/bin:/usr/sbin puppetd --test -- debug -v' to ensure that it runs with a minimal environment. Not being familiar with the details of using samba/winbind as a user and group resolution service, I'm not sure what specifically to recommend you check in that area. Duplicating the problem from the command line should give you a leg up, though. John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: Module Plugin Documentation
On Aug 31, 7:40 pm, Douglas Garstang doug.garst...@gmail.com wrote: Anyone, I've read this doc several times: http://docs.puppetlabs.com/guides/plugins_in_modules.html As a whole, it really doesn't make sense. It seems pretty obvious it was written by someone with deep knowledge of the subject, but there is little context for someone like me. Is there better documentation somewhere? I am not aware of better documentation of the topics covered by that guide, but I don't personally see a need for any, either. Perhaps you are looking for information outside its rather limited scope? In particular, that document is not about *writing* custom types / providers / facts / functions (there are different docs for that); it is only about how to deploy their Ruby code once it is written. If you have specific questions that the doc doesn't answer for you, then this is a fine place to pose them. You could also consider filing a ticket against the documentation. It is unlikely, however, that such a general complaint as the one above will elicit much help. John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: Composing a text file with Puppet
On Aug 31, 10:52 am, Brian Gallew g...@gallew.org wrote: Call me crazy, but isn't this just a matter of adding replace = false to the file resource? If it doesn't exist, Puppet will create it according to the manifest. Once in place, Puppet will leave it alone unless it vanishes, at which point it will be re-created. Um. Err. Coffee. I mean, yeah, but where's the fun in that? John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Multiple template fallbacks
On Wed, Aug 31, 2011 at 10:48 PM, Sam Morrison sorri...@gmail.com wrote: Hi, In a file resource I want to be able to specify multiple template contents. If the 1st template doesn't exist use the 2nd listed and so on. Much like how the source attribute works. Basically this: file { /tmp/somefile.txt: ensure = present, content = [ template(somefile-$fqdn.erb), template(somefile.erb), ] mode= 644, owner = root, group = root, } Which doesn't work. Is there a way to do this in puppet? Unfortunately the template and file functions treat multiple values differently. File uses them for fallbacks, Template concats the .erb files together. This is something we'd quite like to fix, and the solution is probably going to involve a separate concatenation function, but changing how template works is somewhat problematic for backwards compatibility. Perhaps an 'erb' function that behaves like 'template' is a better solution... http://projects.puppetlabs.com/issues/5158 Thanks, Sam -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/mVbZoOdhVp8J. 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. -- Nigel Kersten Product Manager, Puppet Labs *Join us for **PuppetConf * http://www.bit.ly/puppetconfsig Sept 22/23 Portland, Oregon, USA. * * -- 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] storeconfigs in 2.7.3
I'm trying to build a server with puppet 2.7.3 and storeconfig . I keep getting the following error: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not connect to database: Please install the mysql adapter: `gem install activerecord-mysql-adapter` gem install activerecord-mysql-adapter can not find the package I'm using lucid 10.04 with puppet and ruby libraries packages installed through gem. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/iPHKHkdmHC4J. 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: File resource owner not found, only during automatic puppet runs
On Sep 1, 8:03 am, jcbollinger john.bollin...@stjude.org wrote: On Aug 31, 8:09 pm, treydock treyd...@gmail.com wrote: I have a file resource defined to be owned by a group that is accessible via samba/winbind (AD based group), but every time Puppet runs automatically (every 30 min) the run fails with this error , (sensitive information removed) (/Stage[main]//Node[node1.tld]/Apache::Vhost[vhost1]/File[/var/www/ vhost1/html]) Could not evaluate: Could not find group org-www at /etc/ puppet/modules/apache/manifests/definitions/vhost.pp:52 When I manually run puppetd --test --debug -v there is no failure. Also the group is visible on the system and all works just fine. It only fails during the automatic Puppet runs. I also have another host, with an almost identical setup , assigning AD based groups to file resources, and it doesn't have this problem. Using Puppet 2.6.9, on CentOS 6. It looks like the Puppet agent is unable to connect to the domain to retrieve group information. In all likelihood this is an issue with the environment in which the agent runs or the user (root) as whom it runs, perhaps in conjunction with winbind configuration specifics. You could try to duplicate it from the command line by doing something like 'env -i PATH=/bin:/sbin:/usr/bin:/usr/sbin puppetd --test -- debug -v' to ensure that it runs with a minimal environment. Not being familiar with the details of using samba/winbind as a user and group resolution service, I'm not sure what specifically to recommend you check in that area. Duplicating the problem from the command line should give you a leg up, though. John Thanks for the suggestion. I run puppet manually as you suggested, and still no errors. Even stranger is sometime last night the errors stopped occurring. From the time I activated the samba module, till last night it failed like clockwork, every 30 minutes. Now the automatic puppet runs seem to be working just fine. My understanding of the internals of how Winbind/Samba store and cache AD account information is a bit lacking, but could this be that it just took time for the groups/users to get cached? Authentication and all other functions relying on these groups worked just fine from the beginnining. Here are some of the relavent lines from my smb.conf... winbind enum users = Yes winbind enum groups = Yes winbind use default domain = Yes winbind nested groups = Yes winbind expand groups = 3 winbind separator = + Thanks - Trey -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Bind9 Ubuntu Lucid
Hi, I have this: service { bind9: ensure = running, hasrestart = true, pattern = named, require = Package[bind9], } because the process is called 'named'. Best regards, Martijn Grendelman On 31-08-11 22:56, Russell Van Tassell wrote: Just a couple odd questions... does the status return 0 or 1 when bind is running? If the process table is used, would you need a name parameter to differentiate the name versus the process name? And, what version of puppet? You might need a hasstatus in there, as well? Ref: http://docs.puppetlabs.com/references/stable/type.html#service On Wed, Aug 31, 2011 at 1:43 PM, Craig White craig.wh...@ttiltd.com mailto:craig.wh...@ttiltd.com wrote: Seems that every cycle, puppet thinks that bind9 service is stopped and wants to restart... info: Applying configuration version '1314822598' notice: /Stage[main]/Bind::Service/Service[bind9]/ensure: ensure changed 'stopped' to 'running' notice: Finished catalog run in 3.70 seconds But it's running and from the logs, puppet doesn't appear to have any impact at all (bind9 was running, continues to run and is not restarted by the puppet cycle). # /etc/init.d/bind9 status * bind9 is running # update-rc.d -n bind9 defaults System start/stop links for /etc/init.d/bind9 already exist. # ps aux | grep `cat /var/run/named/named.pid`|grep -v grep bind 21856 0.0 0.2 326644 39664 ?Ssl Aug26 0:17 /usr/sbin/named -u bind Extremely simple class... class bind::service { service { bind9: ensure = running, require = Class[bind::install], } } ??? -- Craig White ~ craig.wh...@ttiltd.com mailto:craig.wh...@ttiltd.com 1.800.869.6908 tel:1.800.869.6908 ~~ www.ttiassessments.com http://www.ttiassessments.com Need help communicating between generations at work to achieve your desired success? Let us help! -- 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 mailto:puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com mailto:puppet-users%2bunsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] storeconfigs in 2.7.3
On Sep 1, 2011, at 7:27 AM, Moty wrote: I'm trying to build a server with puppet 2.7.3 and storeconfig . I keep getting the following error: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not connect to database: Please install the mysql adapter: `gem install activerecord-mysql-adapter` gem install activerecord-mysql-adapter can not find the package I'm using lucid 10.04 with puppet and ruby libraries packages installed through gem. not exactly sure what you are trying to accomplish here but... gem search mysql --remote | grep activerecord activerecord-jdbcmysql-adapter (1.1.3, 1.0.3 java) activerecord-mysql-adapter-flags (0.0.3) activerecord-mysql2legacydb-adapter (0.2.0) activerecord-mysql2spatial-adapter (0.4.0) activerecord-mysqlspatial-adapter (0.4.0) npd-activerecord-jdbcmysql-adapter (0.9.2) activerecord-mysql-adapter doesn't seem to exist also, you can't possibly have installed ruby libraries through gem because gem doesn't exist/function unless you have ruby libraries installed. gem install mysql # should be all you need to use storeconfigs or for that matter, store puppet/puppet-dashboard/foreman to mysql Craig -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
השב: Re: [Puppet Users] storeconfigs in 2.7.3
Well sorry for not being accurate - I meant gems not libraries - regarding mysql I tries the gem version of it and the apt pkg . both gave samne results Moty -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/uuSCSY37IqQJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Re: File resource owner not found, only during automatic puppet runs
On Sep 1, 2011, at 7:30 AM, treydock wrote: My understanding of the internals of how Winbind/Samba store and cache AD account information is a bit lacking, but could this be that it just took time for the groups/users to get cached? Authentication and all other functions relying on these groups worked just fine from the beginnining. just a word of warning - nscd (name server caching daemon) is known to cause problems with winbindd and samba.org has long since strongly recommended not to run it if you are obtain user/group/host info from winbindd. You can probably see the contents at any given time by using tdbdump utility from samba packaging to dump winbind.tdb (should be in /var/cache/samba on your RH/CentOS) - I think... I am using Ubuntu which doesn't seem to automatically install tdb utilities and I don't use winbindd at all. Craig -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: השב: Re: [Puppet Users] storeconfigs in 2.7.3
On Sep 1, 2011, at 8:19 AM, Moty wrote: Well sorry for not being accurate - I meant gems not libraries - regarding mysql I tries the gem version of it and the apt pkg . both gave samne results sounds like you don't have mysql configured on your puppetmaster Craig -- 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] redefine define parameters
Hello I just start to learn puppet. And have follow question. How is it possible to override params in define. For example i have follow definition for manage devel users: define users::devel { $l_shell_path = $operatingsystem ? { freebsd = /bin/csh, ubuntu = /bin/bash } $l_sudo_pkg = $operatingsystem ? { freebsd = security/sudo, ubuntu = sudo } $l_etc_path = $operatingsystem ? { freebsd = /usr/local/etc/, ubuntu = /etc/ } if !defined(Package[$l_sudo_pkg]) { package { $l_sudo_pkg: ensure = present } } if !defined(File[${l_etc_path}sudoers.d/devel]) { file { ${l_etc_path}sudoers.d/devel: source = puppet:///modules/users/devel.sudoers.dist, mode = 0440, require = Package[$l_sudo_pkg]; } } if !defined(Group[devel]) { group { devel: ensure = present; } } if !defined(Users::User_homedir[$name]) { users::user_homedir { $name : groups = [devel], ensure = present } } else { Users::User_homedir[$name] { groups = [devel], ensure = present } } if !defined(File[/home/$name/bin]) { file { /home/$name/bin: ensure = directory; /home/$name/bin/www: content = template(users/www.dist.erb), mode = 0555; } } } And follow definition for remove users: define users::remove { if !defined(Users::User_homedir[$name]) { users::user_homedir { $name : ensure = absent; } } else { Users::User_homedir[$name] { ensure = absent } } } And want to do folow: node lwd_basenode inherits monitored_node { include users::root include users::www include freebsd7 users::admin { ['ruslan', 'misha']:; } users::devel { ['vlad', 'sergeym']:; } users::remove { ['ilyash', 'anton', 'georgiysh']:; } } node lwd012.some.root.domain inherits lwd_basenode { include zabbix::nginx include zabbix::mysql_replication include zabbix::mysql class { zabbix::memcached: memcachedaddr = 192.168.0.92 11211; } users::devel { 'anton':; } } so I have one base node from which all other inherits, where user anton is removed. And have one node(lwd012.some.root.domain) which redefines behavior of user anton (on that node this user must be present), But if i do so i got follow error: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Only subclasses can override parameters at /etc/puppet/modules/users/manifests/devel.pp:62 How can i solve this? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/q6QWAWf9NYoJ. 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] Dashboard 1.2.0 Spool Directory rake error
Hey All - So, two things after I updated to Dashboard 1.2.0 (and the Ruby 1.8.7 built for CentOS 5.6 by Karanbir Singh). First thing is I run load balanced puppet masters and puppet dashboard servers, after the update I noticed these messages showing under the background tasks listing as failures: Importing report report-30851-44.yaml at 2011-08-31 10:26 UTC No such file or directory - /usr/share/puppet-dashboard/spool/report-30851-44.yaml My solution was the put the /usr/share/puppet-dashboard/spool directory on a shared mount so the yaml files are available to both sets of workers on both servers. Does anyone have a better solution for this? Is there a way to note which server a request came in and only have the delayed_job workers work on the data that came in on that server? Second is I was unable to actually run the necessary rake commands to get the application setup, I was getting: undefined method `requirement' for #Rails::GemDependency:0x2b5d4de5f468 from /usr/share/puppet-dashboard/vendor/rails/railties/lib/rails/gem_dependency.rb:81:in `add_load_paths' I copied over the gem_dependency.rb from the 1.1.0 version of dashboard and it started working just fine. Thanks, 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-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] Dashboard 1.2.0 Spool Directory rake error
Hey All - So, two things after I updated to Dashboard 1.2.0 (and the Ruby 1.8.7 built for CentOS 5.6 by Karanbir Singh). First thing is I run load balanced puppet masters and puppet dashboard servers, after the update I noticed these messages showing under the background tasks listing as failures: Importing report report-30851-44.yaml at 2011-08-31 10:26 UTC No such file or directory - /usr/share/puppet-dashboard/spool/report-30851-44.yaml My solution was the put the /usr/share/puppet-dashboard/spool directory on a shared mount so the yaml files are available to both sets of workers on both servers. Does anyone have a better solution for this? Is there a way to note which server a request came in and only have the delayed_job workers work on the data that came in on that server? Second is I was unable to actually run the necessary rake commands to get the application setup, I was getting: undefined method `requirement' for #Rails::GemDependency:0x2b5d4de5f468 from /usr/share/puppet-dashboard/vendor/rails/railties/lib/rails/gem_dependency.rb:81:in `add_load_paths' I copied over the gem_dependency.rb from the 1.1.0 version of dashboard and it started working just fine. Thanks, 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-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Managing dynamic instances with puppet
Hello, My organization is currently running a complete production environment on Amazon EC2, and I'm now trying to implement some automations and scaling with puppet. I have several instances which I want them to be almost automatic, meaning that whenever is needed more instances will come up, and when they're not needed they will be stopped. This should eventually be automatically is possible, I don't want to know or care if they came up or down, and especially do not want to configure anything manually when that happens. I currently have a nice puppet configuration, when a node comes up it get's it's entire configuration from puppet, and exports several of it's resources to remote nodes (such as nagios, and also some other instances' /etc/hosts file using the Host resource). This is working fairly well, what I'm still not sure how to perform is node deletion. I want to achieve a way that when a node goes down, it's exported resources will also disappear from the remote instances (meaning nagios will stop monitoring that host and it's Host resource will be deleted from the remote server). The only way I find this possible is by running some cron on the master server that purges the exported resources DB every once in a while and using the purge function on the clients to remove resources that are not longer managed. While this sounds reasonable it scares me a bit because of several issues: - The master will need to purge the DB around the same time the nodes check their manifests again (so I'll have an updated DB all the time) - I also have several unmanaged resources (like other nagios checks that I'm not managing through puppet currently). Will performing a purge on nagios resources will cause ALL existing checks that are not managed by puppet to disappear? Has anyone ever dealt with this kind of dilema? Are there are any other best practices to perform this? I'd really appreciate the help! Thanks, Galed. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/Ap4R3tDnoMgJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
השב: Re: השב: Re: [Puppet Users] storeconfigs in 2.7.3
here is the full message I get: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not connect to database: Please install the mysql adapter: `gem install activerecord-mysql-adapter` (Could not find mysql (~ 2.8.1) amongst [actionmailer-3.1.0, actionpack-3.1.0, activemodel-3.1.0, activerecord-3.1.0, activeresource-3.1.0, activesupport-3.1.0, arel-2.2.1, bcrypt-ruby-3.0.0, builder-3.0.0, bundler-1.0.18, daemon_controller-0.2.6, erubis-2.7.0, facter-1.6.0, fastthread-1.0.7, hike-1.2.1, i18n-0.6.0, mail-2.3.0, mime-types-1.16, multi_json-1.0.3, passenger-3.0.8, polyglot-0.3.2, puppet-2.7.3, rack-1.3.2, rack-cache-1.0.3, rack-mount-0.8.3, rack-ssl-1.3.2, rack-test-0.6.1, rails-3.1.0, railties-3.1.0, rake-0.9.2, rdoc-3.9.4, rubygems-update-1.8.10, sprockets-2.0.0, thor-0.14.6, tilt-1.3.3, treetop-1.4.10, tzinfo-0.3.29]) although you can't see here mysql you can see it in my gem list: *** LOCAL GEMS *** actionmailer (3.1.0, 2.3.5) actionpack (3.1.0, 2.3.5) activemodel (3.1.0) activerecord (3.1.0, 2.3.5) activeresource (3.1.0, 2.3.5) activesupport (3.1.0, 2.3.5) arel (2.2.1) bcrypt-ruby (3.0.0) builder (3.0.0) bundler (1.0.18) daemon_controller (0.2.6) erubis (2.7.0) facter (1.6.0) fastthread (1.0.7) hike (1.2.1) i18n (0.6.0) mail (2.3.0) mime-types (1.16) multi_json (1.0.3) *mysql* (2.8.1) passenger (3.0.8) polyglot (0.3.2) puppet (2.7.3) rack (1.3.2, 1.0.1) rack-cache (1.0.3) rack-mount (0.8.3) rack-ssl (1.3.2) rack-test (0.6.1) rails (3.1.0, 2.3.5) railties (3.1.0) rake (0.9.2) rdoc (3.9.4) rubygems-update (1.8.10) sprockets (2.0.0) thor (0.14.6) tilt (1.3.3) treetop (1.4.10) tzinfo (0.3.29) -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/JR_kT0FeQokJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
השב: Re: השב: Re: [Puppet Users] storeconfigs in 2.7.3
it seems that first run with storeconfigs should be done through puppetmasterd daemon and not through passenger. When I do this tables are created and not mysql error is generated I probably missed that in the documents (now I have : err: stack level too deep ) Moty -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/tswQBHUoojQJ. 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] What came first, the user or the group?
Hi, I have inherited some code to create users that doesn't work when removing users . . . it's listed below. It works for adding users, but when it comes to removing users I get: err: /Stage[main]/Common/Common::Mkuser[oshi.apen]/Group[oshi.apen]/ensure: change from present to absent failed: Could not delete group oshi.apen: Execution of '/usr/sbin/groupdel oshi.apen' returned 8: groupdel: cannot remove the primary group of user 'oshi.apen' User requires the Group to be defined, which, again, works for adding users, but not removing. My instinct is to have a condition test for remove/add and set the dependencies from there, but that seems klunky and inelegant. Anyone have any better code for adding/removing users? A suggestion? Thanks a lot, Guy define common::mkuser ( $uid, $gid= undef, $group = undef, $shell = /bin/bash, $home = undef, $ensure = present, $managehome = true, $dotssh = ensure, $comment= created via puppet, $groups = undef, $password = undef, $symlink= undef, $mode = undef ) { # if gid is unspecified, match with uid if $gid { $mygid = $gid } else { $mygid = $uid } # fi $gid # if home is unspecified, use /home/username if $home { $myhome = $home } else { $myhome = /home/${name} } # fi $home # if group is unspecified, use the username if $group { $mygroup = $group } else { $mygroup = $name } # fi $group if $password { $mypassword = $password } else { $mypassword = '!!' } # fi $password # create user user { $name: uid= $uid, gid= $mygid, shell = $shell, groups = $groups, password = $password, managehome = $managehome, home = $myhome, ensure = $ensure, comment= $comment, require= Group[$name], } # user group { $name: gid= $mygid, name = $mygroup, ensure = $ensure, } # group # if link is passed a symlink will be used for ensure = , else we will make it a directory if $symlink { #$myEnsure = $symlink $myEnsure = 'symlink' } else { $myEnsure = 'directory' } # fi $symlink # if mode is unspecified, use 0700 if $mode { $myMode = $mode } else { $myMode = '0700' } # fi $mode if $myEnsure == 'symlink' { # link home dir file { $myhome: ensure = symlink, target = $symlink, mode= $myMode, owner = $name, group = $name, require = User[$name], } # file } else { # create home dir file { $myhome: #ensure = $myEnsure, ensure = directory, mode= $myMode, owner = $name, group = $name, require = User[$name], } # file } # fi $myensure -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
השב: Re: השב: Re: [Puppet Users] storeconfigs in 2.7.3
it seems that first run with storeconfigs should be done through puppetmasterd daemon and not through passenger. When I do this tables are created and not mysql error is generated I probably missed that in the documents (now I have : err: stack level too deep ) 10x Moty -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/eMTQzXeh9TUJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Re: Module Plugin Documentation
For example, the very first sentence on the page starts with: Learn how to distribute custom facts and types How about a definition of what a custom fact and type are? Good documentation generally doesn't assume that the reader knows all the terminology being used without first defining or describing it in some fashion. Doug On Thu, Sep 1, 2011 at 6:21 AM, jcbollinger john.bollin...@stjude.orgwrote: On Aug 31, 7:40 pm, Douglas Garstang doug.garst...@gmail.com wrote: Anyone, I've read this doc several times: http://docs.puppetlabs.com/guides/plugins_in_modules.html As a whole, it really doesn't make sense. It seems pretty obvious it was written by someone with deep knowledge of the subject, but there is little context for someone like me. Is there better documentation somewhere? I am not aware of better documentation of the topics covered by that guide, but I don't personally see a need for any, either. Perhaps you are looking for information outside its rather limited scope? In particular, that document is not about *writing* custom types / providers / facts / functions (there are different docs for that); it is only about how to deploy their Ruby code once it is written. If you have specific questions that the doc doesn't answer for you, then this is a fine place to pose them. You could also consider filing a ticket against the documentation. It is unlikely, however, that such a general complaint as the one above will elicit much help. John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- Regards, Douglas Garstang http://www.linkedin.com/in/garstang Email: doug.garst...@gmail.com Cell: +1-805-340-5627 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] What came first, the user or the group?
On Thu, 01 Sep 2011 12:14:51 -0400, Guy Matz wrote: Hi, I have inherited some code to create users that doesn't work when removing users . . . it's listed below. It works for adding users, but when it comes to removing users I get: err: /Stage[main]/Common/Common::Mkuser[oshi.apen]/Group[oshi.apen]/ensure: change from present to absent failed: Could not delete group oshi.apen: Execution of '/usr/sbin/groupdel oshi.apen' returned 8: groupdel: cannot remove the primary group of user 'oshi.apen' User requires the Group to be defined, which, again, works for adding users, but not removing. My instinct is to have a condition test for remove/add and set the dependencies from there, but that seems klunky and inelegant. Anyone have any better code for adding/removing users? A suggestion? Thanks a lot, Guy Don't really have anything to help you directly right now, but this kind of problem isn't just limited to users groups, though it's certainly the most common. The problem is that Puppet really only has one way to specify a dependency (resource A must come before resource B). We do have plans to address this, but it's a little ways off (months, not years). The idea is to add above below style relationships (think building blocks). When applying resources that are building/creating you need to go from the bottom up, and when applying resources that are destroying/removing, you need to go from the top down. It's currently listed as the Above/below relationships item in the Open Source Team's roadmap[1]. [1] http://projects.puppetlabs.com/projects/puppet/wiki/Road_map -- Jacob Helwig , | Join us for PuppetConf, September 22nd and 23rd in Portland, OR | http://bit.ly/puppetconfsig ` signature.asc Description: Digital signature
Re: buglet (with rpms from tmz) Re: [Puppet Users] Re: [Puppet-dev] ANNOUNCE: Puppet 2.6.9rc1 is available
Hello... On Wed, 2011-08-31 at 15:02 -0400, Todd Zullinger wrote: I wrote: Chris May wrote: Did anyone ever post a bug, or find a solution for this? I've just upgraded some of our Solaris boxes (using OpenCSW) to 2.6.9 and I'm seeing the same behaviour. If there is a bug filed, I'd love to know what it is. Searching redmine for reports doesn't find anything that looks like the right ticket. This looks to be https://projects.puppetlabs.com/issues/9167 and the patch there fixes the problem. I've updated the 2.6.9 packages on fedorapeople.org for Fedora and EPEL. +1 on the packages in fedorapeople. yea! far fewer emails. thanks -- Christopher McCrory To the optimist, the glass is half full. To the pessimist, the glass is half empty. To the engineer, the glass is twice as big as it needs to be. -- 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] Updating /etc/puppet ?
I have a real-world, best practices, procedural question. How do you manage the he puppet master, under /etc/puppet, where multiple people may be editing files? The /etc/puppet directory is a working copy, and each user has read access to files created by other users. However, if one person adds a module directory to svn, the lock files that are created by svn are owned by that person, and the next person that comes along can't do svn updates etc. Similarly I can't write to files created by a different user. Yes, sure, the 'right way' to do this may be to have all the files owned by the puppet user, and users don't edit files directly in /etc/puppet, and a script is responsible for performing the svn update, but we're not there yet. Ideas? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
I'm currently in the same position, and the solution I've proposed (and am currently working on) involves using a central repository (likely git). The puppet client (running on the master) simply checks the current master branch on the remote repository -- if the revisions are not the same, it just pulls a new copy. While I've not implemented this, yet ... I'm guessing it should work. Anyone have any better ideas -- perhaps a check-in hook to trigger at export? Regards, Russell On Thu, Sep 1, 2011 at 11:47 AM, Douglas Garstang doug.garst...@gmail.comwrote: I have a real-world, best practices, procedural question. How do you manage the he puppet master, under /etc/puppet, where multiple people may be editing files? The /etc/puppet directory is a working copy, and each user has read access to files created by other users. However, if one person adds a module directory to svn, the lock files that are created by svn are owned by that person, and the next person that comes along can't do svn updates etc. Similarly I can't write to files created by a different user. Yes, sure, the 'right way' to do this may be to have all the files owned by the puppet user, and users don't edit files directly in /etc/puppet, and a script is responsible for performing the svn update, but we're not there yet. Ideas? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Multiple template fallbacks
Here's what I've been doing, fwiw: file { 'nsswitch.conf': path = '/etc/nsswitch.conf', content = inline_template( file( /etc/puppet/modules/dist/ldapclient/templates/etc/nsswitch.conf.$hostname.erb, /etc/puppet/modules/dist/ldapclient/templates/etc/nsswitch.conf.$deviceid.erb, /etc/puppet/modules/dist/ldapclient/templates/etc/nsswitch.conf.$clientid.erb, /etc/puppet/modules/dist/ldapclient/templates/etc/nsswitch.conf.erb)), ensure = file, owner = root, group = 0, mode = 0644; } not sure about the elegance or lack thereof, contained within, but it seems to work until there's a better way(™) to do it W On Sep 1, 2011, at 9:09 AM, Nigel Kersten wrote: On Wed, Aug 31, 2011 at 10:48 PM, Sam Morrison sorri...@gmail.commailto:sorri...@gmail.com wrote: Hi, In a file resource I want to be able to specify multiple template contents. If the 1st template doesn't exist use the 2nd listed and so on. Much like how the source attribute works. Basically this: file { /tmp/somefile.txt: ensure = present, content = [ template(somefile-$fqdn.erb), template(somefile.erb), ] mode= 644, owner = root, group = root, } Which doesn't work. Is there a way to do this in puppet? Unfortunately the template and file functions treat multiple values differently. File uses them for fallbacks, Template concats the .erb files together. This is something we'd quite like to fix, and the solution is probably going to involve a separate concatenation function, but changing how template works is somewhat problematic for backwards compatibility. Perhaps an 'erb' function that behaves like 'template' is a better solution... http://projects.puppetlabs.com/issues/5158 Thanks, Sam -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/mVbZoOdhVp8J. To post to this group, send email to puppet-users@googlegroups.commailto:puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.commailto:puppet-users%2bunsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- Nigel Kersten Product Manager, Puppet Labs Join us for PuppetConf http://www.bit.ly/puppetconfsig Sept 22/23 Portland, Oregon, USA. -- 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.commailto:puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.commailto:puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. This message may contain confidential or privileged information. If you are not the intended recipient, please advise us immediately and delete this message. See http://www.datapipe.com/about-us-legal-email-disclaimer.htm for further information on confidentiality and the risks of non-secure electronic communication. If you cannot access these links, please notify us by reply message and we will send the contents to you. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
On Thu, Sep 01, 2011 at 11:58:04AM -0700, Russell Van Tassell wrote: I'm currently in the same position, and the solution I've proposed (and am currently working on) involves using a central repository (likely git). The puppet client (running on the master) simply checks the current master branch on the remote repository -- if the revisions are not the same, it just pulls a new copy. Once your organisation grows you want some release management: in GIT: - everybody has a local Git - all work is done in new branches - all finished branches are pushed back to a central GIT - the releasemanager mergens everything, and does testing (either by looking or running a test suite) - after testing has finished a tag is applied - the tag is checked out on the puppetmaster(s) -- __ Nothing is as subjective as reality Reinoud van Leeuwenreinou...@n.leeuwen.net http://reinoud.van.leeuwen.net kvk 27320762 __ -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
We don't put our manifests under /etc/puppet at all. It's convenient for small installations but as we scaled up I found mixing configs (local, managed by Puppet) and manifests (kept under version control) to be problematic. On Sep 1, 2011 11:58 AM, Russell Van Tassell russel...@gmail.com wrote: I'm currently in the same position, and the solution I've proposed (and am currently working on) involves using a central repository (likely git). The puppet client (running on the master) simply checks the current master branch on the remote repository -- if the revisions are not the same, it just pulls a new copy. While I've not implemented this, yet ... I'm guessing it should work. Anyone have any better ideas -- perhaps a check-in hook to trigger at export? Regards, Russell On Thu, Sep 1, 2011 at 11:47 AM, Douglas Garstang doug.garst...@gmail.comwrote: I have a real-world, best practices, procedural question. How do you manage the he puppet master, under /etc/puppet, where multiple people may be editing files? The /etc/puppet directory is a working copy, and each user has read access to files created by other users. However, if one person adds a module directory to svn, the lock files that are created by svn are owned by that person, and the next person that comes along can't do svn updates etc. Similarly I can't write to files created by a different user. Yes, sure, the 'right way' to do this may be to have all the files owned by the puppet user, and users don't edit files directly in /etc/puppet, and a script is responsible for performing the svn update, but we're not there yet. Ideas? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
A directory is a directory. That a directory has a parent directory in which other files exist is pretty moot. On Thu, Sep 1, 2011 at 12:13 PM, Aaron Grewell aaron.grew...@gmail.comwrote: We don't put our manifests under /etc/puppet at all. It's convenient for small installations but as we scaled up I found mixing configs (local, managed by Puppet) and manifests (kept under version control) to be problematic. On Sep 1, 2011 11:58 AM, Russell Van Tassell russel...@gmail.com wrote: I'm currently in the same position, and the solution I've proposed (and am currently working on) involves using a central repository (likely git). The puppet client (running on the master) simply checks the current master branch on the remote repository -- if the revisions are not the same, it just pulls a new copy. While I've not implemented this, yet ... I'm guessing it should work. Anyone have any better ideas -- perhaps a check-in hook to trigger at export? Regards, Russell On Thu, Sep 1, 2011 at 11:47 AM, Douglas Garstang doug.garst...@gmail.comwrote: I have a real-world, best practices, procedural question. How do you manage the he puppet master, under /etc/puppet, where multiple people may be editing files? The /etc/puppet directory is a working copy, and each user has read access to files created by other users. However, if one person adds a module directory to svn, the lock files that are created by svn are owned by that person, and the next person that comes along can't do svn updates etc. Similarly I can't write to files created by a different user. Yes, sure, the 'right way' to do this may be to have all the files owned by the puppet user, and users don't edit files directly in /etc/puppet, and a script is responsible for performing the svn update, but we're not there yet. Ideas? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
http://projects.puppetlabs.com/projects/1/wiki/Puppet_Version_Control On Thu, Sep 1, 2011 at 11:47 AM, Douglas Garstang doug.garst...@gmail.comwrote: I have a real-world, best practices, procedural question. How do you manage the he puppet master, under /etc/puppet, where multiple people may be editing files? The /etc/puppet directory is a working copy, and each user has read access to files created by other users. However, if one person adds a module directory to svn, the lock files that are created by svn are owned by that person, and the next person that comes along can't do svn updates etc. Similarly I can't write to files created by a different user. Yes, sure, the 'right way' to do this may be to have all the files owned by the puppet user, and users don't edit files directly in /etc/puppet, and a script is responsible for performing the svn update, but we're not there yet. Ideas? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
Technically true, but administratively confusing IMHO. On Thu, Sep 1, 2011 at 1:08 PM, Scott Smith sc...@ohlol.net wrote: A directory is a directory. That a directory has a parent directory in which other files exist is pretty moot. On Thu, Sep 1, 2011 at 12:13 PM, Aaron Grewell aaron.grew...@gmail.comwrote: We don't put our manifests under /etc/puppet at all. It's convenient for small installations but as we scaled up I found mixing configs (local, managed by Puppet) and manifests (kept under version control) to be problematic. On Sep 1, 2011 11:58 AM, Russell Van Tassell russel...@gmail.com wrote: I'm currently in the same position, and the solution I've proposed (and am currently working on) involves using a central repository (likely git). The puppet client (running on the master) simply checks the current master branch on the remote repository -- if the revisions are not the same, it just pulls a new copy. While I've not implemented this, yet ... I'm guessing it should work. Anyone have any better ideas -- perhaps a check-in hook to trigger at export? Regards, Russell On Thu, Sep 1, 2011 at 11:47 AM, Douglas Garstang doug.garst...@gmail.comwrote: I have a real-world, best practices, procedural question. How do you manage the he puppet master, under /etc/puppet, where multiple people may be editing files? The /etc/puppet directory is a working copy, and each user has read access to files created by other users. However, if one person adds a module directory to svn, the lock files that are created by svn are owned by that person, and the next person that comes along can't do svn updates etc. Similarly I can't write to files created by a different user. Yes, sure, the 'right way' to do this may be to have all the files owned by the puppet user, and users don't edit files directly in /etc/puppet, and a script is responsible for performing the svn update, but we're not there yet. Ideas? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
Also, setgid directories with umask 002 can help if you don't want to use a VCS. On Thu, Sep 1, 2011 at 11:47 AM, Douglas Garstang doug.garst...@gmail.comwrote: I have a real-world, best practices, procedural question. How do you manage the he puppet master, under /etc/puppet, where multiple people may be editing files? The /etc/puppet directory is a working copy, and each user has read access to files created by other users. However, if one person adds a module directory to svn, the lock files that are created by svn are owned by that person, and the next person that comes along can't do svn updates etc. Similarly I can't write to files created by a different user. Yes, sure, the 'right way' to do this may be to have all the files owned by the puppet user, and users don't edit files directly in /etc/puppet, and a script is responsible for performing the svn update, but we're not there yet. Ideas? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
I can't say I've ever met someone who had trouble with this. On Thu, Sep 1, 2011 at 1:10 PM, Aaron Grewell aaron.grew...@gmail.comwrote: Technically true, but administratively confusing IMHO. On Thu, Sep 1, 2011 at 1:08 PM, Scott Smith sc...@ohlol.net wrote: A directory is a directory. That a directory has a parent directory in which other files exist is pretty moot. On Thu, Sep 1, 2011 at 12:13 PM, Aaron Grewell aaron.grew...@gmail.comwrote: We don't put our manifests under /etc/puppet at all. It's convenient for small installations but as we scaled up I found mixing configs (local, managed by Puppet) and manifests (kept under version control) to be problematic. On Sep 1, 2011 11:58 AM, Russell Van Tassell russel...@gmail.com wrote: I'm currently in the same position, and the solution I've proposed (and am currently working on) involves using a central repository (likely git). The puppet client (running on the master) simply checks the current master branch on the remote repository -- if the revisions are not the same, it just pulls a new copy. While I've not implemented this, yet ... I'm guessing it should work. Anyone have any better ideas -- perhaps a check-in hook to trigger at export? Regards, Russell On Thu, Sep 1, 2011 at 11:47 AM, Douglas Garstang doug.garst...@gmail.comwrote: I have a real-world, best practices, procedural question. How do you manage the he puppet master, under /etc/puppet, where multiple people may be editing files? The /etc/puppet directory is a working copy, and each user has read access to files created by other users. However, if one person adds a module directory to svn, the lock files that are created by svn are owned by that person, and the next person that comes along can't do svn updates etc. Similarly I can't write to files created by a different user. Yes, sure, the 'right way' to do this may be to have all the files owned by the puppet user, and users don't edit files directly in /etc/puppet, and a script is responsible for performing the svn update, but we're not there yet. Ideas? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
Was that in reply to my original post, or a subsequent reply? You did see where I said /etc/puppet was a working copy, right? Doug. On Thu, Sep 1, 2011 at 1:09 PM, Scott Smith sc...@ohlol.net wrote: http://projects.puppetlabs.com/projects/1/wiki/Puppet_Version_Control On Thu, Sep 1, 2011 at 11:47 AM, Douglas Garstang doug.garst...@gmail.com wrote: I have a real-world, best practices, procedural question. How do you manage the he puppet master, under /etc/puppet, where multiple people may be editing files? The /etc/puppet directory is a working copy, and each user has read access to files created by other users. However, if one person adds a module directory to svn, the lock files that are created by svn are owned by that person, and the next person that comes along can't do svn updates etc. Similarly I can't write to files created by a different user. Yes, sure, the 'right way' to do this may be to have all the files owned by the puppet user, and users don't edit files directly in /etc/puppet, and a script is responsible for performing the svn update, but we're not there yet. Ideas? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- Regards, Douglas Garstang http://www.linkedin.com/in/garstang Email: doug.garst...@gmail.com Cell: +1-805-340-5627 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
Aaron Grewell writes: Technically true, but administratively confusing IMHO. We put our all our Puppet data (but not the puppetmaster config) in a Subversion repository. Everyone does editing in their own working copy checked out from that Subversion repository. Commits to the repository trigger a post-commit hook that checks out the new version on the puppetmaster, updating files only under /etc/puppet/manifests and /etc/puppet/modules (the main puppet config files in /etc/puppet itself are not touched). The puppetmaster then picks up the changes so that clients will pull updated manifests and resources on their next check. No one is ever to edit files directly under /etc/puppet/manifests or /etc/puppet/modules on the puppetmaster hosts; those files are essentially just another working copy from Subversion's point of view, but edits there would just produce checkout conflicts. We also have an /etc/puppet/development subdirectory containing a development branch of the Puppet files that can be applied to hosts in the development environment. This is all quite straightforward and easily allows multiple people to work concurrently on (non-conflicting) Puppet updates. Conflicts are detected and resolved with Subversion checkins rather than when a checkout is made on the puppetmaster. We're doing this with over 200 nodes and 150 modules. On Thu, Sep 1, 2011 at 1:08 PM, Scott Smith sc...@ohlol.net wrote: A directory is a directory. That a directory has a parent directory in which other files exist is pretty moot. On Thu, Sep 1, 2011 at 12:13 PM, Aaron Grewell aaron.grew...@gmail.comwrote: We don't put our manifests under /etc/puppet at all. It's convenient for small installations but as we scaled up I found mixing configs (local, managed by Puppet) and manifests (kept under version control) to be problematic. On Sep 1, 2011 11:58 AM, Russell Van Tassell russel...@gmail.com wrote: I'm currently in the same position, and the solution I've proposed (and am currently working on) involves using a central repository (likely git). The puppet client (running on the master) simply checks the current master branch on the remote repository -- if the revisions are not the same, it just pulls a new copy. While I've not implemented this, yet ... I'm guessing it should work. Anyone have any better ideas -- perhaps a check-in hook to trigger at export? Regards, Russell On Thu, Sep 1, 2011 at 11:47 AM, Douglas Garstang doug.garst...@gmail.comwrote: I have a real-world, best practices, procedural question. How do you manage the he puppet master, under /etc/puppet, where multiple people may be editing files? The /etc/puppet directory is a working copy, and each user has read access to files created by other users. However, if one person adds a module directory to svn, the lock files that are created by svn are owned by that person, and the next person that comes along can't do svn updates etc. Similarly I can't write to files created by a different user. Yes, sure, the 'right way' to do this may be to have all the files owned by the puppet user, and users don't edit files directly in /etc/puppet, and a script is responsible for performing the svn update, but we're not there yet. Ideas? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this
Re: [Puppet Users] Updating /etc/puppet ?
You asked for best practices and that document describes them, essentially. If your process is broken it should be fixed. On Thu, Sep 1, 2011 at 1:28 PM, Douglas Garstang doug.garst...@gmail.comwrote: Was that in reply to my original post, or a subsequent reply? You did see where I said /etc/puppet was a working copy, right? Doug. On Thu, Sep 1, 2011 at 1:09 PM, Scott Smith sc...@ohlol.net wrote: http://projects.puppetlabs.com/projects/1/wiki/Puppet_Version_Control On Thu, Sep 1, 2011 at 11:47 AM, Douglas Garstang doug.garst...@gmail.com wrote: I have a real-world, best practices, procedural question. How do you manage the he puppet master, under /etc/puppet, where multiple people may be editing files? The /etc/puppet directory is a working copy, and each user has read access to files created by other users. However, if one person adds a module directory to svn, the lock files that are created by svn are owned by that person, and the next person that comes along can't do svn updates etc. Similarly I can't write to files created by a different user. Yes, sure, the 'right way' to do this may be to have all the files owned by the puppet user, and users don't edit files directly in /etc/puppet, and a script is responsible for performing the svn update, but we're not there yet. Ideas? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- Regards, Douglas Garstang http://www.linkedin.com/in/garstang Email: doug.garst...@gmail.com Cell: +1-805-340-5627 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
Douglas Garstang writes: Was that in reply to my original post, or a subsequent reply? You did see where I said /etc/puppet was a working copy, right? It sounds like you need to get to the point where no one does their edits under /etc/puppet on the puppetmaster, because you're obviously running into the problems that result when people edit there rather than in local working copies. Once you actually start using the features of a distributed version control system in the way it's intended to work, you won't have those problems. Doug. On Thu, Sep 1, 2011 at 1:09 PM, Scott Smith sc...@ohlol.net wrote: http://projects.puppetlabs.com/projects/1/wiki/Puppet_Version_Control On Thu, Sep 1, 2011 at 11:47 AM, Douglas Garstang doug.garst...@gmail.com wrote: I have a real-world, best practices, procedural question. How do you manage the he puppet master, under /etc/puppet, where multiple people may be editing files? The /etc/puppet directory is a working copy, and each user has read access to files created by other users. However, if one person adds a module directory to svn, the lock files that are created by svn are owned by that person, and the next person that comes along can't do svn updates etc. Similarly I can't write to files created by a different user. Yes, sure, the 'right way' to do this may be to have all the files owned by the puppet user, and users don't edit files directly in /etc/puppet, and a script is responsible for performing the svn update, but we're not there yet. Ideas? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- Regards, Douglas Garstang http://www.linkedin.com/in/garstang Email: doug.garst...@gmail.com Cell: +1-805-340-5627 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: 2.7.3 and 'Could not retrieve operatingsystem'
Yea, so I was wrong. I was one of my custom facts. Added some logic and was able to get rid of the warning/error. Not sure why it only showed up after going to 2.7.3 but I found where it was being caused and fixed it. Funny that it was working fine outside of puppet (facter) and didn't seem to screw up any recipes. Regards, Jake On Aug 31, 10:05 am, Jake - USPS jacob.m.mcc...@usps.gov wrote: Just updated to 2.7.3 from 2.6.9. That's when 'Could not retrieve operatingsystem: undefined method `+' for nil:NilClass' started popping up. It doesn't seem to be causing any real issues, but its there. hostname:/etc/puppet # puppet agent --test info: Retrieving plugin Could not retrieve operatingsystem: undefined method `+' for nil:NilClass info: Loading facts in uspspuppetfacts info: Loading facts in os_version info: Loading facts in network info: Loading facts in buildinfo info: Loading facts in memorysize info: Loading facts in hcs_service info: Loading facts in uspspuppetfacts info: Loading facts in os_version info: Loading facts in network info: Loading facts in buildinfo info: Loading facts in memorysize info: Loading facts in hcs_service info: Caching catalog for hostname.usps.gov info: Applying configuration version '1314734945' notice: Finished catalog run in 4.50 seconds This doesn't seem to come my custom facter plugins as if I call 'facter -p' I don't get the error. Recipes I have that utilize 'operatingsystem' seem to work fine. I'm still running ruby 1.8.7, so not sure if that could be part of the cause? Anyone else encounter this? Should I worry about it? Thanks, Jake -- 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: Module Plugin Documentation
On Sep 1, 11:46 am, Douglas Garstang doug.garst...@gmail.com wrote: For example, the very first sentence on the page starts with: Learn how to distribute custom facts and types How about a definition of what a custom fact and type are? Good documentation generally doesn't assume that the reader knows all the terminology being used without first defining or describing it in some fashion. You started off complaining about missing context, but that only holds up if you divorce the document from the overall documentation site. No, it is not a standalone document. Your point? Granted, if you hit that document without at least a general idea of Puppet's nature and structure then it wouldn't be much use to you. But in that case, briefly defining the terms wouldn't be much help: if you're not in altogether the wrong place then you need a much fuller introduction to the subject than is appropriate for such a narrowly scoped document. You are not (yet) among its target audience. But lo and behold! On that page there are links to Puppetlabs product overviews that introduce Puppet in broad terms, and at least four links to the top Puppet documentation, where can be found documents covering these terms and many others in considerable depth. The document in question is itself accessible from there, right next to the documents on writing the various types of plugins, and well below the Language Guide and resource and function references that provide the needed background. The context is all there, so I can only assume you are complaining about the general organization of the documentation site. I am confident that no one at Puppetlabs would claim it's perfect (nor do I), but it doesn't work for me is not a useful criticism. Do you have a question we can help you with? A suggestion for us to consider? Criticisms veiled as interrogatories need not apply. John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
On Thu, Sep 1, 2011 at 1:35 PM, Steven VanDevender ste...@uoregon.eduwrote: Douglas Garstang writes: Was that in reply to my original post, or a subsequent reply? You did see where I said /etc/puppet was a working copy, right? It sounds like you need to get to the point where no one does their edits under /etc/puppet on the puppetmaster, because you're obviously running into the problems that result when people edit there rather than in local working copies. Once you actually start using the features of a distributed version control system in the way it's intended to work, you won't have those problems. That's exactly what I told them. There's best practices, and then there's current reality. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
On Thu, Sep 1, 2011 at 1:35 PM, Steven VanDevender ste...@uoregon.eduwrote: Douglas Garstang writes: Was that in reply to my original post, or a subsequent reply? You did see where I said /etc/puppet was a working copy, right? It sounds like you need to get to the point where no one does their edits under /etc/puppet on the puppetmaster, because you're obviously running into the problems that result when people edit there rather than in local working copies. Once you actually start using the features of a distributed version control system in the way it's intended to work, you won't have those problems. Editing files locally under /etc/puppet as an individual user is not mutually exclusive with editing files in a distributed working copy owned by the same user. Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Updating /etc/puppet ?
On Sep 1, 2011, at 2:01 PM, Douglas Garstang wrote: Editing files locally under /etc/puppet as an individual user is not mutually exclusive with editing files in a distributed working copy owned by the same user. If it's not, then there's no point in asking for help: your environment is screwed and there is nothing anyone here can do about it other than suggest that we can't help you until you help yourself. The nice thing about current reality is that it's generally easy to point out why it sucks and why it needs to be fixed. If you team can't handle change, then either *you* need to accept that status quo, or else you should find another team to work with. The only solution to your problem is to fix the problem. Pointing in other directions and saying that doesn't work in my current environment is the moral equivalent of asking for help and then immediately sticking your fingers in your ears and yelling LALALALALALALAICAN'THEARYOU. -- 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: File resource owner not found, only during automatic puppet runs
On Sep 1, 9:30 am, treydock treyd...@gmail.com wrote: [...] Thanks for the suggestion. I run puppet manually as you suggested, and still no errors. Even stranger is sometime last night the errors stopped occurring. From the time I activated the samba module, till last night it failed like clockwork, every 30 minutes. Now the automatic puppet runs seem to be working just fine. Yay? My understanding of the internals of how Winbind/Samba store and cache AD account information is a bit lacking, but could this be that it just took time for the groups/users to get cached? Authentication and all other functions relying on these groups worked just fine from the beginnining. Craig may be onto something with respect to nscd. The Samba team's opinion of it notwithstanding, you should be aware that by default it provides both a positive and a negative cache. That is, it remembers lookup *failures* so as to (attempt to) improve performance on failing lookups as well. There may also be specific unfortunate interactions with winbind, but I couldn't tell you what. John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Custom Facts
So, after reading this doc: http://projects.puppetlabs.com/projects/1/wiki/Adding_Facts it's not readily apparent to me how I can create facts that are derived from variables defined at the node level in puppet, rather than at the O/S level on the client. I want to be able to set a variable that defines a server type in the node, and access that. Anyone? Doug. -- 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 manifests
Hi I have a simple site.pp in my manifests folder on puppetmaster it has one line, import x.pp However, in the manifests folder on puppetmaster also includes another file y.pp x.pp is applied just fine to relevant agents, but however y.pp is also applied BUT IS not imported into the site.pp why is this happening, did I miss understand something? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
You can't. The whole purpose of facts is to allow Puppet to make decisions based on client data. Variables=server, facts=client. On Thu, Sep 1, 2011 at 3:41 PM, Douglas Garstang doug.garst...@gmail.comwrote: So, after reading this doc: http://projects.puppetlabs.com/projects/1/wiki/Adding_Facts it's not readily apparent to me how I can create facts that are derived from variables defined at the node level in puppet, rather than at the O/S level on the client. I want to be able to set a variable that defines a server type in the node, and access that. Anyone? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Puppet Newbie
I ended up having to use $hostname not braces, nothing, weird On Fri, Aug 5, 2011 at 12:54 AM, Denmat tu2bg...@gmail.com wrote: Hi, You can use facts supplied by facter to do the following (assuming you want to do this for host with hostname host1). puppet:///files/configuration_files/${hostname}/mystuff/test.sh', You can also assign variables easily like: $host = 'host1' And then use $host in your source statement. Depends on exactly what you want to do. The puppet docs cover all this very well. Cheers, Den On 05/08/2011, at 15:31, octomeow octom...@gmail.com wrote: Hi I have a very simple manifest file { '/mystuff/test.sh': ensure = file, mode = 0755, source = 'puppet:///files/configuration_files/host1/mystuff/ test.sh', } I would like to define the host1 as a variable while fetching from the puppetmaster How can I do that? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
On Thu, Sep 1, 2011 at 4:31 PM, Aaron Grewell aaron.grew...@gmail.comwrote: You can't. The whole purpose of facts is to allow Puppet to make decisions based on client data. Variables=server, facts=client. Yep. However, puppet manifests do allow you to access both and make decisions based on their values. class base { if $operatingsystem == debian and $server_location == botswana { include aptclient::botswana } } On Thu, Sep 1, 2011 at 3:41 PM, Douglas Garstang doug.garst...@gmail.comwrote: So, after reading this doc: http://projects.puppetlabs.com/projects/1/wiki/Adding_Facts it's not readily apparent to me how I can create facts that are derived from variables defined at the node level in puppet, rather than at the O/S level on the client. I want to be able to set a variable that defines a server type in the node, and access that. Anyone? Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- Nigel Kersten Product Manager, Puppet Labs *Join us for **PuppetConf * http://www.bit.ly/puppetconfsig Sept 22/23 Portland, Oregon, USA. * * -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
On Thu, Sep 1, 2011 at 4:31 PM, Aaron Grewell aaron.grew...@gmail.comwrote: You can't. The whole purpose of facts is to allow Puppet to make decisions based on client data. Variables=server, facts=client. Seriously??? I can edit mcollective's server.cfg file and change the factsource from facter to yaml, and then have puppet populate facts.yaml, which I think is actually easier and more manageable, but someone here has already gone and used custom facts, which means I have to use facter as the _only_ fact source. That's pretty lame. So, if I am stuck with this, how would I set a class of server for a particular node? Would I need to have puppet push out a text file containing the server class to the client, and then write a custom fact that reads the file from the client's OS? That seems like a much more complicated approach than setting 'server_class = web_server' in the node on the puppet master, and then having puppet put that in facts.yaml. Doug -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
Create a variable for server_class in your node definition. On Thu, Sep 1, 2011 at 4:48 PM, Douglas Garstang doug.garst...@gmail.comwrote: On Thu, Sep 1, 2011 at 4:31 PM, Aaron Grewell aaron.grew...@gmail.comwrote: You can't. The whole purpose of facts is to allow Puppet to make decisions based on client data. Variables=server, facts=client. Seriously??? I can edit mcollective's server.cfg file and change the factsource from facter to yaml, and then have puppet populate facts.yaml, which I think is actually easier and more manageable, but someone here has already gone and used custom facts, which means I have to use facter as the _only_ fact source. That's pretty lame. So, if I am stuck with this, how would I set a class of server for a particular node? Would I need to have puppet push out a text file containing the server class to the client, and then write a custom fact that reads the file from the client's OS? That seems like a much more complicated approach than setting 'server_class = web_server' in the node on the puppet master, and then having puppet put that in facts.yaml. Doug -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
On Thu, Sep 1, 2011 at 4:56 PM, Aaron Grewell aaron.grew...@gmail.comwrote: Create a variable for server_class in your node definition. And then? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
And then assign classes based on that. Standard if logic or case statement as you prefer. On Thu, Sep 1, 2011 at 4:57 PM, Douglas Garstang doug.garst...@gmail.comwrote: On Thu, Sep 1, 2011 at 4:56 PM, Aaron Grewell aaron.grew...@gmail.comwrote: Create a variable for server_class in your node definition. And then? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
On Thu, Sep 1, 2011 at 4:58 PM, Aaron Grewell aaron.grew...@gmail.comwrote: And then assign classes based on that. Standard if logic or case statement as you prefer. On Thu, Sep 1, 2011 at 4:57 PM, Douglas Garstang doug.garst...@gmail.comwrote: On Thu, Sep 1, 2011 at 4:56 PM, Aaron Grewell aaron.grew...@gmail.comwrote: Create a variable for server_class in your node definition. And then? This isn't for logic within puppet manifests. In this particular scenario, it's for setting a server class on each node so that I can use mcollective against servers matching that class. For example, if I wanted to stop apache on the web servers, I can call mc-service httpd restart -F hostclass=webserver etc. Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
Ah. I don't know how mcollective works so I'm not sure how to address that. If there's a YAML data file involved then you could push it with Puppet... On Thu, Sep 1, 2011 at 5:02 PM, Douglas Garstang doug.garst...@gmail.comwrote: On Thu, Sep 1, 2011 at 4:58 PM, Aaron Grewell aaron.grew...@gmail.comwrote: And then assign classes based on that. Standard if logic or case statement as you prefer. On Thu, Sep 1, 2011 at 4:57 PM, Douglas Garstang doug.garst...@gmail.com wrote: On Thu, Sep 1, 2011 at 4:56 PM, Aaron Grewell aaron.grew...@gmail.comwrote: Create a variable for server_class in your node definition. And then? This isn't for logic within puppet manifests. In this particular scenario, it's for setting a server class on each node so that I can use mcollective against servers matching that class. For example, if I wanted to stop apache on the web servers, I can call mc-service httpd restart -F hostclass=webserver etc. Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Weird passenger problem
I have multiple server (rhel5.3) running puppet server. 2 of these servers are also running passenger. However on the third server I am running into a weird problem: Could not retrieve catalog from remote server: No format match the given format name or mime-type (text/html The puppetmaster itself is working fine, this problem only happens with passenger. Apache version is 2.2.3 and passenger 2.2.11. Anybody has any idea where I should start looking? Thanks!! -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
On Thu, Sep 1, 2011 at 5:05 PM, Aaron Grewell aaron.grew...@gmail.comwrote: Ah. I don't know how mcollective works so I'm not sure how to address that. If there's a YAML data file involved then you could push it with Puppet... Yes, mcollective can read a YAML file, which by default is /etc/mcollective/facts.yaml. However, if I go down that path, it can't read custom facts. If I use custom facts, I can't find a way to set a variable in a node, and then access it in the custom fact. Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
On Thu, Sep 1, 2011 at 5:02 PM, Douglas Garstang doug.garst...@gmail.comwrote: On Thu, Sep 1, 2011 at 4:58 PM, Aaron Grewell aaron.grew...@gmail.comwrote: And then assign classes based on that. Standard if logic or case statement as you prefer. On Thu, Sep 1, 2011 at 4:57 PM, Douglas Garstang doug.garst...@gmail.com wrote: On Thu, Sep 1, 2011 at 4:56 PM, Aaron Grewell aaron.grew...@gmail.comwrote: Create a variable for server_class in your node definition. And then? This isn't for logic within puppet manifests. In this particular scenario, it's for setting a server class on each node so that I can use mcollective against servers matching that class. For example, if I wanted to stop apache on the web servers, I can call mc-service httpd restart -F hostclass=webserver etc. http://docs.puppetlabs.com/mcollective/reference/ui/filters.html $ mco rpc --help . . . Host Filters -W, --with FILTER Combined classes and facts filter -F, --wf, --with-fact fact=val Match hosts with a certain fact -C, --wc, --with-class CLASS Match hosts with a certain config management class -A, --wa, --with-agent AGENT Match hosts with a certain agent -I, --wi, --with-identity IDENT Match hosts with a certain configured identity You want to match a class, not a fact. MCollective can match based on Puppet classes already by reading classes.txt which contains all the classes from the latest catalog. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
This is just me Googling wildly into the air but are you using this approach? http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/FactsFacterYAML If I'm reading the code correctly (somewhat questionable, my Ruby-foo is weak) it should return all top-scope variables and facts. On Thu, Sep 1, 2011 at 5:13 PM, Douglas Garstang doug.garst...@gmail.comwrote: On Thu, Sep 1, 2011 at 5:05 PM, Aaron Grewell aaron.grew...@gmail.comwrote: Ah. I don't know how mcollective works so I'm not sure how to address that. If there's a YAML data file involved then you could push it with Puppet... Yes, mcollective can read a YAML file, which by default is /etc/mcollective/facts.yaml. However, if I go down that path, it can't read custom facts. If I use custom facts, I can't find a way to set a variable in a node, and then access it in the custom fact. Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
Tried that once before... I forget why but it didn't work so well. On Thu, Sep 1, 2011 at 5:17 PM, Aaron Grewell aaron.grew...@gmail.comwrote: This is just me Googling wildly into the air but are you using this approach? http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/FactsFacterYAML If I'm reading the code correctly (somewhat questionable, my Ruby-foo is weak) it should return all top-scope variables and facts. On Thu, Sep 1, 2011 at 5:13 PM, Douglas Garstang doug.garst...@gmail.comwrote: On Thu, Sep 1, 2011 at 5:05 PM, Aaron Grewell aaron.grew...@gmail.comwrote: Ah. I don't know how mcollective works so I'm not sure how to address that. If there's a YAML data file involved then you could push it with Puppet... Yes, mcollective can read a YAML file, which by default is /etc/mcollective/facts.yaml. However, if I go down that path, it can't read custom facts. If I use custom facts, I can't find a way to set a variable in a node, and then access it in the custom fact. Doug. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- Regards, Douglas Garstang http://www.linkedin.com/in/garstang Email: doug.garst...@gmail.com Cell: +1-805-340-5627 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
Thanks Nigel, but there's no mention of classes.txt on that page. On Thu, Sep 1, 2011 at 5:16 PM, Nigel Kersten ni...@puppetlabs.com wrote: On Thu, Sep 1, 2011 at 5:02 PM, Douglas Garstang doug.garst...@gmail.comwrote: On Thu, Sep 1, 2011 at 4:58 PM, Aaron Grewell aaron.grew...@gmail.comwrote: And then assign classes based on that. Standard if logic or case statement as you prefer. On Thu, Sep 1, 2011 at 4:57 PM, Douglas Garstang doug.garst...@gmail.com wrote: On Thu, Sep 1, 2011 at 4:56 PM, Aaron Grewell aaron.grew...@gmail.comwrote: Create a variable for server_class in your node definition. And then? This isn't for logic within puppet manifests. In this particular scenario, it's for setting a server class on each node so that I can use mcollective against servers matching that class. For example, if I wanted to stop apache on the web servers, I can call mc-service httpd restart -F hostclass=webserver etc. http://docs.puppetlabs.com/mcollective/reference/ui/filters.html $ mco rpc --help . . . Host Filters -W, --with FILTER Combined classes and facts filter -F, --wf, --with-fact fact=val Match hosts with a certain fact -C, --wc, --with-class CLASS Match hosts with a certain config management class -A, --wa, --with-agent AGENT Match hosts with a certain agent -I, --wi, --with-identity IDENT Match hosts with a certain configured identity You want to match a class, not a fact. MCollective can match based on Puppet classes already by reading classes.txt which contains all the classes from the latest catalog. -- 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. -- Regards, Douglas Garstang http://www.linkedin.com/in/garstang Email: doug.garst...@gmail.com Cell: +1-805-340-5627 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
Nigel, Are you referring to the 'Class Filters' section on http://docs.puppetlabs.com/mcollective/reference/integration/puppet.html ? If so, that's not really the same thing. Classes.txt lists classes included on a server. That's not what I am looking for. Life isn't always as simple as assuming that all machines within a certain functional group include the same class. You'd think so, but hey, I work for a startup, so not everything is engineered that well. All I want to be able to do is set a variable on a per node basis that defines a functional grouping, ie a class of server, and query that with mcollective. Should not be difficult to do. Doug. On Thu, Sep 1, 2011 at 5:37 PM, Douglas Garstang doug.garst...@gmail.comwrote: Thanks Nigel, but there's no mention of classes.txt on that page. On Thu, Sep 1, 2011 at 5:16 PM, Nigel Kersten ni...@puppetlabs.comwrote: On Thu, Sep 1, 2011 at 5:02 PM, Douglas Garstang doug.garst...@gmail.com wrote: On Thu, Sep 1, 2011 at 4:58 PM, Aaron Grewell aaron.grew...@gmail.comwrote: And then assign classes based on that. Standard if logic or case statement as you prefer. On Thu, Sep 1, 2011 at 4:57 PM, Douglas Garstang doug.garst...@gmail.com wrote: On Thu, Sep 1, 2011 at 4:56 PM, Aaron Grewell aaron.grew...@gmail.com wrote: Create a variable for server_class in your node definition. And then? This isn't for logic within puppet manifests. In this particular scenario, it's for setting a server class on each node so that I can use mcollective against servers matching that class. For example, if I wanted to stop apache on the web servers, I can call mc-service httpd restart -F hostclass=webserver etc. http://docs.puppetlabs.com/mcollective/reference/ui/filters.html $ mco rpc --help . . . Host Filters -W, --with FILTER Combined classes and facts filter -F, --wf, --with-fact fact=val Match hosts with a certain fact -C, --wc, --with-class CLASS Match hosts with a certain config management class -A, --wa, --with-agent AGENT Match hosts with a certain agent -I, --wi, --with-identity IDENT Match hosts with a certain configured identity You want to match a class, not a fact. MCollective can match based on Puppet classes already by reading classes.txt which contains all the classes from the latest catalog. -- 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. -- Regards, Douglas Garstang http://www.linkedin.com/in/garstang Email: doug.garst...@gmail.com Cell: +1-805-340-5627 -- Regards, Douglas Garstang http://www.linkedin.com/in/garstang Email: doug.garst...@gmail.com Cell: +1-805-340-5627 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Weird passenger problem
md5sum your apache configs and compare, then diff if necessary On Thu, Sep 1, 2011 at 5:06 PM, Marek Dohojda chro...@gmail.com wrote: I have multiple server (rhel5.3) running puppet server. 2 of these servers are also running passenger. However on the third server I am running into a weird problem: Could not retrieve catalog from remote server: No format match the given format name or mime-type (text/html The puppetmaster itself is working fine, this problem only happens with passenger. Apache version is 2.2.3 and passenger 2.2.11. Anybody has any idea where I should start looking? Thanks!! -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
On Thu, Sep 1, 2011 at 5:40 PM, Douglas Garstang doug.garst...@gmail.comwrote: Nigel, Are you referring to the 'Class Filters' section on http://docs.puppetlabs.com/mcollective/reference/integration/puppet.html ? If so, that's not really the same thing. Classes.txt lists classes included on a server. That's not what I am looking for. Life isn't always as simple as assuming that all machines within a certain functional group include the same class. You'd think so, but hey, I work for a startup, so not everything is engineered that well. That's not an immense amount of engineering and if your functional groups don't actually map well to classes, that's a sign of a problem that you should be resolving as it's almost certainly causing wasted effort. All I want to be able to do is set a variable on a per node basis that defines a functional grouping, ie a class of server, and query that with mcollective. Should not be difficult to do. There are many hoops you could jump through to achieve this like making a file that your node parameters get pushed to in a template, and then make facts that query that file... but honestly, work with the system and not against it. Make some functional classes that correspond to the node parameters you're talking about, and include them. I can't remember off the top of my head what happens with completely empty classes, they may not actually get written out to classes.txt, but I'd test that first. If that fails, stick some dummy resources in, but your best bet is to start making functional classes mapping to the subset of nodes you want to pick out, and organize your existing classes by function where appropriate. Doug. On Thu, Sep 1, 2011 at 5:37 PM, Douglas Garstang doug.garst...@gmail.comwrote: Thanks Nigel, but there's no mention of classes.txt on that page. On Thu, Sep 1, 2011 at 5:16 PM, Nigel Kersten ni...@puppetlabs.comwrote: On Thu, Sep 1, 2011 at 5:02 PM, Douglas Garstang doug.garst...@gmail.com wrote: On Thu, Sep 1, 2011 at 4:58 PM, Aaron Grewell aaron.grew...@gmail.comwrote: And then assign classes based on that. Standard if logic or case statement as you prefer. On Thu, Sep 1, 2011 at 4:57 PM, Douglas Garstang doug.garst...@gmail.com wrote: On Thu, Sep 1, 2011 at 4:56 PM, Aaron Grewell aaron.grew...@gmail.com wrote: Create a variable for server_class in your node definition. And then? This isn't for logic within puppet manifests. In this particular scenario, it's for setting a server class on each node so that I can use mcollective against servers matching that class. For example, if I wanted to stop apache on the web servers, I can call mc-service httpd restart -F hostclass=webserver etc. http://docs.puppetlabs.com/mcollective/reference/ui/filters.html $ mco rpc --help . . . Host Filters -W, --with FILTER Combined classes and facts filter -F, --wf, --with-fact fact=val Match hosts with a certain fact -C, --wc, --with-class CLASS Match hosts with a certain config management class -A, --wa, --with-agent AGENT Match hosts with a certain agent -I, --wi, --with-identity IDENT Match hosts with a certain configured identity You want to match a class, not a fact. MCollective can match based on Puppet classes already by reading classes.txt which contains all the classes from the latest catalog. -- 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. -- Regards, Douglas Garstang http://www.linkedin.com/in/garstang Email: doug.garst...@gmail.com Cell: +1-805-340-5627 -- Regards, Douglas Garstang http://www.linkedin.com/in/garstang Email: doug.garst...@gmail.com Cell: +1-805-340-5627 -- 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. -- Nigel Kersten Product Manager, Puppet Labs *Join us for **PuppetConf * http://www.bit.ly/puppetconfsig Sept 22/23 Portland, Oregon, USA. * * -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Multiple template fallbacks
Thanks Wolf, This works perfectly. Cheers, Sam -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/oayiKvapyZUJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Custom Facts
I really appreciate your reply, but I've inherited a mess that isn't easy to fix, and the most appropriate solution for right now isn't always the best solution. When the boss says GET IT DONE, you don't have time to refactor someone elses mess and do it the right way. I try and make my questions as specific as possible so that I can get options that are as specific to the problem at hand as possible. On Thu, Sep 1, 2011 at 6:14 PM, Nigel Kersten ni...@puppetlabs.com wrote: On Thu, Sep 1, 2011 at 5:40 PM, Douglas Garstang doug.garst...@gmail.comwrote: Nigel, Are you referring to the 'Class Filters' section on http://docs.puppetlabs.com/mcollective/reference/integration/puppet.html? If so, that's not really the same thing. Classes.txt lists classes included on a server. That's not what I am looking for. Life isn't always as simple as assuming that all machines within a certain functional group include the same class. You'd think so, but hey, I work for a startup, so not everything is engineered that well. That's not an immense amount of engineering and if your functional groups don't actually map well to classes, that's a sign of a problem that you should be resolving as it's almost certainly causing wasted effort. All I want to be able to do is set a variable on a per node basis that defines a functional grouping, ie a class of server, and query that with mcollective. Should not be difficult to do. There are many hoops you could jump through to achieve this like making a file that your node parameters get pushed to in a template, and then make facts that query that file... but honestly, work with the system and not against it. Make some functional classes that correspond to the node parameters you're talking about, and include them. I can't remember off the top of my head what happens with completely empty classes, they may not actually get written out to classes.txt, but I'd test that first. If that fails, stick some dummy resources in, but your best bet is to start making functional classes mapping to the subset of nodes you want to pick out, and organize your existing classes by function where appropriate. Doug. On Thu, Sep 1, 2011 at 5:37 PM, Douglas Garstang doug.garst...@gmail.com wrote: Thanks Nigel, but there's no mention of classes.txt on that page. On Thu, Sep 1, 2011 at 5:16 PM, Nigel Kersten ni...@puppetlabs.comwrote: On Thu, Sep 1, 2011 at 5:02 PM, Douglas Garstang doug.garst...@gmail.com wrote: On Thu, Sep 1, 2011 at 4:58 PM, Aaron Grewell aaron.grew...@gmail.com wrote: And then assign classes based on that. Standard if logic or case statement as you prefer. On Thu, Sep 1, 2011 at 4:57 PM, Douglas Garstang doug.garst...@gmail.com wrote: On Thu, Sep 1, 2011 at 4:56 PM, Aaron Grewell aaron.grew...@gmail.com wrote: Create a variable for server_class in your node definition. And then? This isn't for logic within puppet manifests. In this particular scenario, it's for setting a server class on each node so that I can use mcollective against servers matching that class. For example, if I wanted to stop apache on the web servers, I can call mc-service httpd restart -F hostclass=webserver etc. http://docs.puppetlabs.com/mcollective/reference/ui/filters.html $ mco rpc --help . . . Host Filters -W, --with FILTER Combined classes and facts filter -F, --wf, --with-fact fact=val Match hosts with a certain fact -C, --wc, --with-class CLASS Match hosts with a certain config management class -A, --wa, --with-agent AGENT Match hosts with a certain agent -I, --wi, --with-identity IDENT Match hosts with a certain configured identity You want to match a class, not a fact. MCollective can match based on Puppet classes already by reading classes.txt which contains all the classes from the latest catalog. -- 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. -- Regards, Douglas Garstang http://www.linkedin.com/in/garstang Email: doug.garst...@gmail.com Cell: +1-805-340-5627 -- Regards, Douglas Garstang http://www.linkedin.com/in/garstang Email: doug.garst...@gmail.com Cell: +1-805-340-5627 -- 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. -- Nigel Kersten Product Manager, Puppet Labs *Join us for **PuppetConf * http://www.bit.ly/puppetconfsig Sept 22/23 Portland,