Re: [Puppet Users] Re: merging iptables rules with puppet
Hi, I manage my iptables setup with the concat module and nail together a rules file and then reload it if it's changed I also have a define setup so other classes can define rules and my firewall class pulls them all in. works well for me because when i remove a class the firewall rull associated with it goes away too. I am intending on putting my modules in githib but have been super busy and haven't had a chance yet. On 16 August 2012 07:07, Geoff Galitz ggal...@shutterstock.com wrote: We are executing iptables rule, not editing the backend files, though we could do that if that were the only option. -G On Wed, Aug 15, 2012 at 4:54 PM, Luke Baker bake...@missouri.edu wrote: By dynamically loading rules do you mean executing iptables rule or are you editing your iptables-save file and then reloading? On Wednesday, August 15, 2012 1:48:44 PM UTC-5, Geoff Galitz wrote: I'm still a bit noobish with puppet... In short what I want to do is merge puppet managed iptables with dynamically added rules added by some scripts. We have a basic config setup with a template (iptables.erb) and we can add rules to that in manifests. But of course puppet will wipe any changes made from the OS. Any advice on how to get puppet to respect the dynamically loaded rules? Thanks. -G -- --- Geoff Galitz, gga...@shutterstock.com WebOps Shutterstock Images -- 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/-/VX2Sj8i2-ssJ. 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. -- --- Geoff Galitz, ggal...@shutterstock.com WebOps Shutterstock Images -- 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] Installing puppet-dashboard on ubuntu precise
Thanks Ashish, I was hoping to not have to install any gems, it comes as a debian package so I was expecting that it would work with the packages available. Precise comes with rack 1.3.5 so wondering if I can get it to work with that somehow. How comes it says rdoc though? Is there any way to find out the real requirements for puppet-dashboard? Is there some kind of checking I can disable? I would be nice if these specific dependencies were put in the debian package as I always find it a struggle to install anything that involves ruby. The puppet and puppetmaster packages work great so it would be good to get the puppet-dashboard package up to the same standard. Has anyone got this working without installing gems? Any debs for the required versions around? Cheers, Sam On Wednesday, 15 August 2012 16:45:20 UTC+10, Ashish Jaiswal wrote: Hi, I just ran into the same problem few days back, see whether you have installed rack 1.1.0 you can check by gem list and if possible uninstall the existing rack which ever version it is and then install it with this command gem install rack -v=1.1.0 snip server:/usr/share/puppet-dashboard/script# gem list *** LOCAL GEMS *** daemon_controller (1.0.0) fastthread (1.0.7) passenger (3.0.15) rack (1.1.2, 1.1.0) rake (0.9.2.2) /snip Regards, System Admin Ashish Jaiswal On Wednesday 15 August 2012 10:47:38 AM IST, Sam Morrison wrote: Hi, I'm trying to install dashboard on precise and I get the below error. I'm using the latest version that is available in the puppet apt repository. The package rdoc is installed (it's just a virtual package pointing to ruby) Are there some other missing dependencies that the package doesn't specify? I don't know ruby that well so finding it hard to debug. Also it's well after 2011-11-01 is that a problem too? Thanks, Sam root@admin:/usr/share/puppet-dashboard# rake RAILS_ENV=production db:migrate --trace NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01. Gem.source_index called from /usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21. NOTE: Gem::SourceIndex#initialize is deprecated with no replacement. It will be removed on or after 2011-11-01. Gem::SourceIndex#initialize called from /usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from
[Puppet Users] Re: Automatic cleanup of client certificate ?
Hello, Thanks a lot for your input. Steve's solution is not possible in my environment because I do not have the previous client cert on reinstallation. Nan's solution seems to work fine in my context: On the server: /etc/puppet/autosign.conf: *.mydomain On the client:/etc/puppet/puppet.conf [agent] certname=mydesktop-201208160928.mydomain # rm -rf /var/lib/puppet/ssl # puppet agent --test This is generated at install time of course. The cert is automatically signed. It works fine if you just change the certname again and relaunch the agent. The nice side-effect is that I can have a cleanup script on the server that does a puppet cert clean for all mydesktop-*.mydomain except the most recent one. Thanks, Jerome On Wednesday, August 15, 2012 2:53:59 PM UTC+2, jerome wrote: Hello, I'm new to Puppet and evaluating it against Cfengine and Chef for the management of multiple thousands of Ubuntu desktops. The desktops can be reinstalled at any time by technical site operators and they may or may not change the computer name. This happens fairly often and if the name stays the same, I get: err: Could not request certificate: The certificate retrieved from the master does not match the agent's private key because the desktop's SSL certificate changes when the desktop is rebuilt. To solve this problem I need to go on the server and do a: puppet cert clean fqdn of client But this is not practical in an environment where many computers can be reinstalled at any time. Is there a solution to this ? Can the agent tell the master to clean the key for its hostname ? I do not have this issue with cfengine, because the identifier is simply the MD5 of the certificate, not the hostname. I just need to cleanup the list of unused certificates on the server side every once in a while. Thanks, Jerome -- 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/-/d_BB73QJ0J0J. 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: Automatic cleanup of client certificate ?
On Thu, Aug 16, 2012 at 10:42 AM, jerome jerome.steunenb...@gmail.comwrote: Hello, Thanks a lot for your input. Steve's solution is not possible in my environment because I do not have the previous client cert on reinstallation. Nan's solution seems to work fine in my context: On the server: /etc/puppet/autosign.conf: *.mydomain On the client:/etc/puppet/puppet.conf [agent] certname=mydesktop-201208160928.mydomain # rm -rf /var/lib/puppet/ssl # puppet agent --test This is generated at install time of course. The cert is automatically signed. It works fine if you just change the certname again and relaunch the agent. The nice side-effect is that I can have a cleanup script on the server that does a puppet cert clean for all mydesktop-*.mydomain except the most recent one. If you are interested, you could also use foreman, which would deploy your systems and automatically clean up the certs for you. Ohad Thanks, Jerome On Wednesday, August 15, 2012 2:53:59 PM UTC+2, jerome wrote: Hello, I'm new to Puppet and evaluating it against Cfengine and Chef for the management of multiple thousands of Ubuntu desktops. The desktops can be reinstalled at any time by technical site operators and they may or may not change the computer name. This happens fairly often and if the name stays the same, I get: err: Could not request certificate: The certificate retrieved from the master does not match the agent's private key because the desktop's SSL certificate changes when the desktop is rebuilt. To solve this problem I need to go on the server and do a: puppet cert clean fqdn of client But this is not practical in an environment where many computers can be reinstalled at any time. Is there a solution to this ? Can the agent tell the master to clean the key for its hostname ? I do not have this issue with cfengine, because the identifier is simply the MD5 of the certificate, not the hostname. I just need to cleanup the list of unused certificates on the server side every once in a while. Thanks, Jerome -- 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/-/d_BB73QJ0J0J. 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: Custom types in environments working .... yes/no/maybe ?
Hi, We've ran into the same problem. Our current solution, which we're not happy about, is to also have the custom types on the master/production environment. Doing that at least the custom types are always available. Unfortunately, it makes it impossible to deploy an update of a custom type to a branch/environment for testing. -- Daniele Sluijters On Wednesday, 15 August 2012 19:06:03 UTC+2, Douglas wrote: My issue may be related to this bug: http://projects.puppetlabs.com/issues/13858 Custom types in environments require loading into master's libdir However, now I'm not so sure, This was working previously with a given client. However, after trying on a fresh client, it's failing with: err: Could not run Puppet configuration client: Could not find a default provider for logical_volume The server seems to have the files: /var/lib/puppet/lib/puppet/provider/logical_volume /var/lib/puppet/lib/puppet/type/logical_volume.rb And so does the client: /var/lib/puppet/lib/puppet/type/logical_volume.rb /var/lib/puppet/lib/puppet/provider/logical_volume pluginsync=true in /etc/puppet/puppet.conf. Using multiple environments and puppet 2.7.1. *sigh* Doug. -- 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/-/gf-jmlXC-tcJ. 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] Getting all variable occurrences from Hiera
Hello, We've been using Hiera for a while and one of the things I'd like to do is use the data we have in the YAML backend and generate our BIND zonefiles and DHCPD.conf from it. Every node has a stanza defined with it's 'primary' IP-address and MAC-address like so: hostname.yaml: --- m_interface: - ip: 127.0.0.1 - mac_address: aa:bb:cc:dd:ee:ff Based on that information and the YAML file it was found in (so the node in our case) I'd like to generate a dhcpd.conf like this: host hostname(.yaml) { fixed-address: m_interface[ip] hardware ethernet: m_interface[mac_address] Now, this can be done for a single node, however, I need a way to get that information for every node. As far as I understand both hiera_hash and hiera_array only walk the hierarchy upwards, not outwards (which is usually what you want anyway). I'm looking for something like a hiera_all that would return a hash with the node name as key and value the m_interface stanza for that node. At this point I'm not even sure this can be done so, anyone got any bright ideas? Kind regards, -- Daniele Sluijters -- 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/-/UujM_sYrG7QJ. 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.
Tone on the list (was Re: [Puppet Users] Re: Custom types in environments working .... yes/no/maybe ?)
Douglas Garstang wrote: What a horrible clusterf*ck mess. Douglas Can you please keep your tone polite on the list. Regards James Turnbull -- James Turnbull Puppet Labs 1-503-734-8571 To schedule a meeting with me: http://tungle.me/jamtur01 -- 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] Dual backup solution on puppet manifests
Hi, I've tried differents solutions, but no one worked for me. Is there a way to get dual backups ? For example, one backup locally on each nodes and another on the filebucket. The idea is to have a local backup for different purposes and on the filebucket to get a visual diff on the dashboard. My configuration for local backup : # Backing up all files and ignore vcs files/folders File { backup = '.puppet-bak', ignore = ['.svn', '.git', 'CVS' ] } For the filebucket : # The filebucket option allows for file backups to the server filebucket { main: server = 'puppet' } But now, I would like to combine : File { backup = [main, .puppet-bak } But doesn't work :-(. Any idea ? Thanks -- 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/-/UhONuAXFlg8J. 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: Dual backup solution on puppet manifests
Woops sorry (but still doesn't work : File { backup = [main, .puppet-bak] } Le jeudi 16 août 2012 11:03:10 UTC+2, Deimos Fr a écrit : Hi, I've tried differents solutions, but no one worked for me. Is there a way to get dual backups ? For example, one backup locally on each nodes and another on the filebucket. The idea is to have a local backup for different purposes and on the filebucket to get a visual diff on the dashboard. My configuration for local backup : # Backing up all files and ignore vcs files/folders File { backup = '.puppet-bak', ignore = ['.svn', '.git', 'CVS' ] } For the filebucket : # The filebucket option allows for file backups to the server filebucket { main: server = 'puppet' } But now, I would like to combine : File { backup = [main, .puppet-bak } But doesn't work :-(. Any idea ? Thanks -- 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/-/1AGEsUJ1jgYJ. 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] How to subscribe to an exported resource?
On Wed, Aug 15, 2012 at 08:34:03PM +0200, Marc Haber wrote: On Tue, Aug 14, 2012 at 07:58:21PM +0100, Stephen Gran wrote: The classic is: https://github.com/ripienaar/puppet-concat So that is a module that would need to be compiled and installed (on the puppetmaster, run by a different department)? Sorry, I got confused by the rakefile and didn't scroll down all the way where the docs are. I have now understood ;-) Greetings Marc -- - Marc Haber | I don't trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things.Winona Ryder | Fon: *49 621 31958061 Nordisch by Nature | How to make an American Quilt | Fax: *49 621 31958062 -- 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: Installing puppet-dashboard on ubuntu precise
Hi, The issue is probably that the Puppet package is requiring librack-ruby. In the case of Debian Squeeze this neatly resolves to 1.1.0 and there are no issues. Dashboard should be fixed to work with more recent versions of Rack though as Wheezy ships with 1.4.1 so the issue will be more prominent. What you can try for now is to uninstall the Ubuntu package and grab the Debian librack-ruby and install that through dpkg. It's probably going to want to upgrade librack-ruby the next time you run apt-get upgrade so you might have to hold the package if you go down this road. The issues are caused by endor/rails/railties/lib/rails/gem_depedency.rb and vendor_gem_source_index.rb that use deprecated functions. The fix should be fairly simple but someone actually has to get up and do it. The issue is being tracked in http://projects.puppetlabs.com/issues/9296 so I suggest you update that ticket. -- Daniele Sluijters On Wednesday, 15 August 2012 07:17:38 UTC+2, Sam Morrison wrote: Hi, I'm trying to install dashboard on precise and I get the below error. I'm using the latest version that is available in the puppet apt repository. The package rdoc is installed (it's just a virtual package pointing to ruby) Are there some other missing dependencies that the package doesn't specify? I don't know ruby that well so finding it hard to debug. Also it's well after 2011-11-01 is that a problem too? Thanks, Sam root@admin:/usr/share/puppet-dashboard# rake RAILS_ENV=production db:migrate --trace NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01. Gem.source_index called from /usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21. NOTE: Gem::SourceIndex#initialize is deprecated with no replacement. It will be removed on or after 2011-11-01. Gem::SourceIndex#initialize called from /usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed
[Puppet Users] Managing puppet code
I'm piloting a puppet deployment that may grow to a fair size (~100 nodes, at least two distinct sites, dev/stage/prod environments). I'm struggling a bit with settling on a strategy and processes for managing and deploying puppet code. As seems to be generally accepted best practice and as required by the fact that there will be multiple teams likely to contribute modules for their applications, I'm managing the code for each internally-developed module in separate repositories - some SVN and some git-based, depending on the working practices of the different teams. I also want to make sure we have a way of pushing different modules through the different environments at their own pace (application a's module might be ready to move into production while application b's module should remain in UAT). My issues are around how to pull all these modules together, and how to move them through dev/stage/prod environments in sane a reasonably simple way. There are a number whitepapers and descriptions of process around which mainly seem to rely on having a single git repo with different branches representing the different environments. I've got a kind of process working which links together different internal modules, as well as the git-hub sources of modules that have been published to the forge, making use of azimux's externals project (https://github.com/azimux/externals). This works quite nicely for constructing an unstable trunk/master and could be used to push monolithic tags through uat and prod. My current system for deploying individual tags, though, relies on creating a library of tagged modules and a forest of symlinks under $environment/modules. It works, but it is so complex it confuses me, let alone anyone else. Using forge-style modules seems to be the way to go, but these will need management, too. Does anyone have any suggestions? -- 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/-/rVjji3SQhC8J. 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] Installing from alternat repositories with puppet module
Hi, From the puppet module tool documentation, I note that it is possible to specify an alternate repository to install modules from (http://docs.puppetlabs.com/puppet/2.7/reference/modules_installing.html#installing-from-another-module-repository). Other than some unresolved newsgroup questions and http://projects.puppetlabs.com/issues/5033, I can't find any information on how to set up an alternative repository. Am I missing something, or is this option just for future use? -- 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/-/m49cZNm_zTkJ. 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] facter: setting up module-specific custom facts?
On Wednesday, August 15, 2012 11:38:47 AM UTC-5, Nan Liu wrote: Pluginsync distributes all modules lib dir in modulepath to the client. It's not based on whether a class in a module is assigned to the client. So yes custom facts get shipped to every system in that environment. And it has to work that way, because Puppet cannot know which classes are assigned to a node until after it examines the node's facts. You can write facts to be no-ops on nodes where you do not want them to run, and you can use the 'confine' function inside custom fact implementations to make Facter use facts only on certain nodes. You cannot prevent all defined facts from being synced to every node, however, nor Facter executing the fact definition (but perhaps not evaluating it). John -- 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/-/dR10VLVOYRQJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Managing puppet code
Although it doesn't seem to do svn yet (You could extend it), I'm fairly certain you could accomplish this with librarian-puppet. It's on github. Your Puppetfile would be in your main repo which could have dev/stage/prod branches. Jason On 08/16/2012 07:22 AM, Benjamin Priestman wrote: I'm piloting a puppet deployment that may grow to a fair size (~100 nodes, at least two distinct sites, dev/stage/prod environments). I'm struggling a bit with settling on a strategy and processes for managing and deploying puppet code. As seems to be generally accepted best practice and as required by the fact that there will be multiple teams likely to contribute modules for their applications, I'm managing the code for each internally-developed module in separate repositories - some SVN and some git-based, depending on the working practices of the different teams. I also want to make sure we have a way of pushing different modules through the different environments at their own pace (application a's module might be ready to move into production while application b's module should remain in UAT). My issues are around how to pull all these modules together, and how to move them through dev/stage/prod environments in sane a reasonably simple way. There are a number whitepapers and descriptions of process around which mainly seem to rely on having a single git repo with different branches representing the different environments. I've got a kind of process working which links together different internal modules, as well as the git-hub sources of modules that have been published to the forge, making use of azimux's externals project (https://github.com/azimux/externals). This works quite nicely for constructing an unstable trunk/master and could be used to push monolithic tags through uat and prod. My current system for deploying individual tags, though, relies on creating a library of tagged modules and a forest of symlinks under $environment/modules. It works, but it is so complex it confuses me, let alone anyone else. Using forge-style modules seems to be the way to go, but these will need management, too. Does anyone have any suggestions? -- 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/-/rVjji3SQhC8J. 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: Facter scripts and shell environment variables
On Wednesday, August 15, 2012 4:12:52 AM UTC-5, André Fernandes wrote: I'm currently running a puppet master-client setup and using facter to gather information on the client hosts. However, I've run into a problem when trying to get the deployed apache version for some of the hosts. My custom fact script is as follows: Facter.add(apache_version) do setcode do if File.exist? '/bin/httpd' Facter::Util::Resolution.exec('/bin/httpd -v | /usr/local/bin/grep version | /usr/bin/cut -d: -f2 | /usr/bin/tr -d ') end end end For some of the hosts, the /bin/httpd invocation will give the following error: ld.so.1: httpd: fatal: libssl.so.0.9.8: open failed: No such file or directory This same command runs without issues on a regular (bash) shell. This is usually indicative of a bad/missing LD_LIBRARY_PATH environment variable. That makes sense if you in fact rely on LD_LIBRARY_PATH. I would not expect the system's httpd to do so. In any case, that premise should be easy to test. It seems that the Facter::Util::Resolution.exec invocation will spawn a new /usr/bin/sh shell session, with very few environment variables set (LD_LIBRARY_PATH is not one of them). Cross-checking with working hosts shows no differences, I inclusively have a different facter script that reports the output of 'env' and it's similar for both working and non-working hosts. So it sounds like you're saying the LD_LIBRARY_PATH was a red herring. Good. Nobody ought to be relying on LD_LIBRARY_PATH anyway, at least not in production. Has anyone had a similar issue, or has any idea of how to investigate further/work around the problem. Is there a way to explicitly set environment variables on Facter::Util::Resolution.exec invocations? If the problem is not in fact (no pun intended) LD_LIBRARY_PATH, as you seem to have shown, then I don't see the point. Nevertheless, since Facter::Util::Resolution.exec is running the given command via the shell (as is evident because pipes are recognized) you should be able to use the standard mechanism of defining variables before the command: Facter::Util::Resolution.exec('myvar=needed_value do_something --switch1') I suspect that the cause for the different behaviours may not be caused by puppet/facter, but by some environmental (OS, shell, apache) issue. I concur. For example, it could be a security issue. The puppet agent must run as a privileged user, but facter may drop privilege. Odd permissions on the directory containing libssl might then cause httpd to be unable to find it. Alternatively, you might get a similar effect if SELinux (in enforcing mode) prevented facter from reading the needed directory or file, whether or not facter drops privilege. John -- 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/-/8-ZkAxB8wcoJ. 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: Getting all variable occurrences from Hiera
On Thursday, August 16, 2012 3:37:23 AM UTC-5, Daniele Sluijters wrote: Hello, We've been using Hiera for a while and one of the things I'd like to do is use the data we have in the YAML backend and generate our BIND zonefiles and DHCPD.conf from it. Every node has a stanza defined with it's 'primary' IP-address and MAC-address like so: hostname.yaml: --- m_interface: - ip: 127.0.0.1 - mac_address: aa:bb:cc:dd:ee:ff Based on that information and the YAML file it was found in (so the node in our case) I'd like to generate a dhcpd.conf like this: host hostname(.yaml) { fixed-address: m_interface[ip] hardware ethernet: m_interface[mac_address] Now, this can be done for a single node, however, I need a way to get that information for every node. As far as I understand both hiera_hash and hiera_array only walk the hierarchy upwards, not outwards (which is usually what you want anyway). I'm looking for something like a hiera_all that would return a hash with the node name as key and value the m_interface stanza for that node. At this point I'm not even sure this can be done so, anyone got any bright ideas? At first glance this looks like a good use case for exported resources and the Concat module. Each node would export a file fragment containing its stanza of dhcpd.conf. The DHCP server would collect all the fragments and use them to define the target file. If you're not already using [thin] storeconfigs, however, then you will need to set that up to use exported resources. That is not entirely trivial to set up or to run. Also, this solution requires that nodes be able sync with the master before their information is added to the DHCP server, and given the nature of DHCP, that might not be possible. On the other hand, if all the hiera data is for the DHCP server's benefit in the first place, instead of for the nodes themselves, then it may be easier simply to restructure the data. Instead of putting all your node information into separate files, you could put it all into one hash in one file: interfaces.yaml: --- interfaces: { host1: { ip: 127.0.0.1 mac_address: aa:bb:cc:dd:ee:ff } host2: { ip: 127.0.0.2 mac_address: aa:bb:cc:dd:ee:fe } } You would then load the hash via a single hiera() call, and use a template to unpack and format the results. That sort of arrangement of your data could even be made to work if the individual nodes and the DHCP server need to share. The nodes would have to extract the data differently (get the hash via hiera(), then select their own entry, and within it the particular values they want), but it should be doable. John -- 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/-/1q9B2CURtBoJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: Custom types in environments working .... yes/no/maybe ?
On Thursday, August 16, 2012 3:26:23 AM UTC-5, Daniele Sluijters wrote: Hi, We've ran into the same problem. Our current solution, which we're not happy about, is to also have the custom types on the master/production environment. Doing that at least the custom types are always available. Unfortunately, it makes it impossible to deploy an update of a custom type to a branch/environment for testing. For what it's worth, I would recommend using an entirely separate Puppet process for testing. If you like, it can run on the same server, but a different port. That would have several advantages for you, among them - you would be able to test modifications to your Puppet extensions without putting them into production - you would be able to test how changes apply to and affect your various environments (or if you use environments only for this purpose, then you could drop them altogether) - your production master would not be exposed to any unproven code - it would fit in more intuitively (to me) with source control, branches, etc. John -- 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/-/-fzqCwR2PNAJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Managing puppet code
May I politely disagree ? I feel that using subversion branches for the different environments is defeating the fact that Puppet separates the environments thru the use of the environment setting. Does that make any sense to you all ? “Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.” Bill Waterson (Calvin Hobbes) - Original Message - From: Jason Slagle raist...@tacorp.net To: puppet-users@googlegroups.com Sent: Thursday, August 16, 2012 9:28:29 AM Subject: Re: [Puppet Users] Managing puppet code Although it doesn't seem to do svn yet (You could extend it), I'm fairly certain you could accomplish this with librarian-puppet. It's on github. Your Puppetfile would be in your main repo which could have dev/stage/prod branches. Jason On 08/16/2012 07:22 AM, Benjamin Priestman wrote: I'm piloting a puppet deployment that may grow to a fair size (~100 nodes, at least two distinct sites, dev/stage/prod environments). I'm struggling a bit with settling on a strategy and processes for managing and deploying puppet code. As seems to be generally accepted best practice and as required by the fact that there will be multiple teams likely to contribute modules for their applications, I'm managing the code for each internally-developed module in separate repositories - some SVN and some git-based, depending on the working practices of the different teams. I also want to make sure we have a way of pushing different modules through the different environments at their own pace (application a's module might be ready to move into production while application b's module should remain in UAT). My issues are around how to pull all these modules together, and how to move them through dev/stage/prod environments in sane a reasonably simple way. There are a number whitepapers and descriptions of process around which mainly seem to rely on having a single git repo with different branches representing the different environments. I've got a kind of process working which links together different internal modules, as well as the git-hub sources of modules that have been published to the forge, making use of azimux's externals project (https://github.com/azimux/externals). This works quite nicely for constructing an unstable trunk/master and could be used to push monolithic tags through uat and prod. My current system for deploying individual tags, though, relies on creating a library of tagged modules and a forest of symlinks under $environment/modules. It works, but it is so complex it confuses me, let alone anyone else. Using forge-style modules seems to be the way to go, but these will need management, too. Does anyone have any suggestions? -- 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 client environment is being ignored from foreman settings
Hi experts . i am runnig foreman 1 puppetmaster 2.7.18 i have setup a test client machine . on foreman i have configured the new client to be part of the development environment . on the client i have setup that it will run the following from site.pp to debug information . notify { environment: message = $environment when i run on the client . puppet agent--test --debug --verbose i get Notify[environment]/message: defined 'message' as 'production' allthought on foreman this client is setup as development when i add the environment = development on the client /etc/puppet.puppet.conf the client get Notify[environment]/message: defined 'message' as 'development' which is ok . BTW in foreman = settings i have default_puppet_environment = testing which is beeing ignored via the client . is this normal that i need to override the foreman client setting . with a environment = development on the client /etc/puppet.puppet.conf thank you -- 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/-/JF3PZ63IdjAJ. 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] Can I re-use a Exec resource from multiple un-related classes?
The idea is that let say I have a Class define as helperFunctions where I put in a bunch of shell script exec resources, along with some file resources as requirement. Can I then have other classes' resource to Subscribe and/or Notify to specific Exec resource within that helperFunction class? The only interClass dependency I've done based on puppet's example are all per class, not per resource… So is this possible and what's the proper syntax for it? Thanks in advance. --KL This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited. -- 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: Hiera unable to retrieve the value
Typo error location=frankfurt is actually location=london. On Thursday, August 16, 2012 5:25:17 PM UTC+2, linuxbsdfreak wrote: Hi All, I am using hiera for storing configuration values. I have setup puppet to use facter following the article from http://nuknad.com/2011/02/11/self-classifying-puppet-nodes/ I have custom facts company_role company_platform company_location I have defined the following in hiera.yaml --- :backends: - yaml :logger: console :hierarchy: - '%{operatingsystem}' - '%{platform}/%{location}/%{role}' - common :yaml: :datadir: '/etc/puppet/hieradata' and i create the directories /etc/puppet/hieradata/production/london/dev_tst.yaml I have something like this in the above file --- hsflowd_port: 8080 company_role: dev_tst company_platform: production company_location: london Given a system with the above facts connecting to puppetmaster. When i run the client i get the following error Err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find data item hsflowd_port in any Hiera data file and no default supplied at /etc/puppet/modules/hsflowd/manifests/config.pp. For some reason its not getting the value. However when i do the following from the command line hiera -c /etc/puppet/hiera.yaml hsflowd_port platform=production location=frankfurt role=dev_tst I get the value. Following is my manifest: class hsflowd::config( $hsflowd_user = hiera('hsflowd_user'), $hsflowd_group = hiera('hsflowd_group'), $hsflowd_config_dir = hiera('hsflowd_config_dir'), $hsflowd_port = hiera('hsflowd_port'), ) { file { ${hsflowd_config_dir}/hsflowd.conf: ensure = present, content = template(${module_name}/hsflowd.conf.erb), owner = $hsflowd_user, group = $hsflowd_group, mode= '0644'; } Is something wrong that i am doing? Regards, Kevin -- 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/-/L2PKd1u1QAgJ. 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] Declare the same resource with different parameters
Short version: use a define. http://docs.puppetlabs.com/guides/language_guide.html#defined-resource-types But did you mean to have unbalanced quotes here? There's an extra single quote. file { /myappbase/applis/conf': Regardless of whether you use a define or a class, you can't define the same file resource twice. In the first resource, this: /myappbase/applis/conf Will end up with the contents of: puppet:///modules/srhjboss/communs And in the second one, it will end up with these contents: puppet://puppet/srnrepo/myappname You'll have to pick one per node. On Thu, Aug 16, 2012 at 08:41:12AM -0700, Rost wrote: Hi all, I'm developing my own module, and i want to declare same resources in different class like this : This resource is used to configure my Jboss server by copying conf files in /myappbase/applis/conf class srhjboss::config::applis { file { /myappbase/applis/conf: ensure = directory, notify = Class['srhjboss::service'], recurse = true, source = 'puppet:///modules/srhjboss/communs', } } The second class and resource is used to deploy the conf file of my war application like this : class srhdeployit::war { file { /myappbase/applis/conf': ensure = present, source = puppet://puppet/srnrepo/myappname, recurse = true, } } then i include the class in the node node default { include srhjboss::config::applis include srhdeployit::war I got the exact failure : err: Failed to apply catalog: Cannot alias File[ ' ' ] to [/sirhen/applis/conf] at /etc/puppet/modules/srhjboss/manifests/config/applis.pp:47; resource [File, /sirhen/applis/conf] already declared at /etc/puppet/modules/srhdeployit/manifests/war.pp:44 Do you have suggestions on how to do it? Thanks -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit [1]https://groups.google.com/d/msg/puppet-users/-/70voc_9UPecJ. 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. References Visible links 1. https://groups.google.com/d/msg/puppet-users/-/70voc_9UPecJ -- 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: Declare the same resource with different parameters
Yes I want to fill /myappbase/applis/conf with the content of twice sources, but in different class. Le jeudi 16 août 2012 17:41:12 UTC+2, Rost a écrit : Hi all, I'm developing my own module, and i want to declare same resources in different class like this : This resource is used to configure my Jboss server by copying conf files in /myappbase/applis/conf class srhjboss::config::applis { file { /myappbase/applis/conf: ensure = directory, notify = Class['srhjboss::service'], recurse = true, source = 'puppet:///modules/srhjboss/communs', } } The second class and resource is used to deploy the conf file of my war application like this : class srhdeployit::war { file { /myappbase/applis/conf': ensure = present, source = puppet://puppet/srnrepo/myappname, recurse = true, } } then i include the class in the node node default { include srhjboss::config::applis include srhdeployit::war I got the exact failure : err: Failed to apply catalog: Cannot alias File[ ' ' ] to [/sirhen/applis/conf] at /etc/puppet/modules/srhjboss/manifests/config/applis.pp:47; resource [File, /sirhen/applis/conf] already declared at /etc/puppet/modules/srhdeployit/manifests/war.pp:44 Do you have suggestions on how to do it? Thanks -- 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/-/aHhdmLUA6hUJ. 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] Installing from alternat repositories with puppet module
On Thu, Aug 16, 2012 at 4:04 AM, Benjamin Priestman benja...@miniverse.me.uk wrote: From the puppet module tool documentation, I note that it is possible to specify an alternate repository to install modules from (http://docs.puppetlabs.com/puppet/2.7/reference/modules_installing.html#installing-from-another-module-repository). Other than some unresolved newsgroup questions and http://projects.puppetlabs.com/issues/5033, I can't find any information on how to set up an alternative repository. Am I missing something, or is this option just for future use? Ryan provided a response a while back, and the ticket is probably the best place to comment on it. https://groups.google.com/forum/#!msg/puppet-users/ryfka7Ju8x4/QRFpMvXKkdcJ%5B1-25%5D Thanks, Nan -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] puppet client environment is being ignored from foreman settings
Hi Yaniv, Do you have the environment defined in puppet.conf on the agent and use Foreman as an ENC? If so, you're probably seeing http://projects.puppetlabs.com/issues/3910. Some users are getting around this bug by adding functionality to the ENC script that validates the environment defined in Foreman against the one in the host's puppet.conf. Someone who has done this might be able to help you on the foreman-users list. -Sam On Thu, Aug 16, 2012 at 11:05 AM, Yaniv Fine yanivf...@gmail.com wrote: Hi experts . i am runnig foreman 1 puppetmaster 2.7.18 i have setup a test client machine . on foreman i have configured the new client to be part of the development environment . on the client i have setup that it will run the following from site.pp to debug information . notify { environment: message = $environment when i run on the client . puppet agent--test --debug --verbose i get Notify[environment]/message: defined 'message' as 'production' allthought on foreman this client is setup as development when i add the environment = development on the client /etc/puppet.puppet.conf the client get Notify[environment]/message: defined 'message' as 'development' which is ok . BTW in foreman = settings i have default_puppet_environment = testing which is beeing ignored via the client . is this normal that i need to override the foreman client setting . with a environment = development on the client /etc/puppet.puppet.conf thank you -- 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/-/JF3PZ63IdjAJ. 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] how to override provider binary choice?
Question: How do I override binary selection in providers? I'd like to use /opt/jre(someversion)/bin/keytool, not /usr/bin/keytool. Details (long): In this nifty thing: http://forge.puppetlabs.com/puppetlabs/java_ks The provider uses keytool in the $PATH: require 'puppet/util/filetype' Puppet::Type.type(:java_ks).provide(:keytool) do desc 'Uses a combination of openssl and keytool to manage Java keystores' commands :openssl = 'openssl' commands :keytool = 'keytool' But keytool can be java-version-specific, one of the dubious gifts of the java world: http://osdir.com/ml/java.jspwiki.user/2006-09/msg00160.html http://stackoverflow.com/questions/11963852 http://stackoverflow.com/questions/4262773 The keytool I want to use right now is /opt/jre1.6.0_31/bin/keytool (as installed by puppet), but that may change depending on the server and which daemon's keystores I'm managing. -- 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] packaging puppet modules
Is this level of namespacing enough? What happens when a module (mymodule) depends on the mysql module but you chose a mysql module that isn't quite the same as the one mymodule expects? Thanks Mark On Monday, July 2, 2012 11:33:42 PM UTC-4, Ryan Coleman wrote: On Sun, Jul 1, 2012 at 12:58 PM, Ken Dreyer ktdr...@ktdreyer.comjavascript: wrote: Like you mentioned, I too would like to hear more from Puppet Labs' staff on where they see the Module culture going. Hi everyone, sorry for the tardy reply. I wanted to see what everyone had to say before 'weighing in'. My answer to this is a bit complicated but I'll try to be succinct. As you deduced Ken, modules on the Puppet Forge are name-spaced as author-module_name. A module installed into ones modulepath strips away author and leaves module_name. So if you were going to package them (and please feel free to!), you'd be looking at something like puppetmodule-puppetlabs-mysql for our MySQL module. Yep, it looks a bit silly but becomes less so when you look at non-PL modules. For instance, puppetmodule-rcoleman-mysql makes a lot more sense. Doing something like Debian alternatives is an interesting idea but isn't something feasible today. If Puppet Labs produces puppetlabs-mysql and I produce rcoleman-mysql, you as the consumer have zero assurance that they provide the same functionality. The Puppet Labs variant could manage the full stack while mine could just install the package. If we were in a situation where we could describe a modules functionality in factual terms to automatically make claims about whether two MySQL modules are equivalent, perhaps this could work but that's not something we can do nor do I see being possible in the platform anytime soon. On the other hand, once you get to a point where you can say the Puppet Labs MySQL module and the rcoleman MySQL module provide the same functionality, why bother having two? I'd much rather see the module community coalesce around modules that claim to do similar things, combine ideas from different groups and offer everyone one or two modules that do a thing very well. In that scenario, everyone gets the functionality they want and packaging becomes a less complicated chore. Namespace is still important so that core authors can be credited and everyone has an opportunity to put their module ideas out there. The core set of high-quality modules don't even have to be in the Puppet Labs namespace. Remember, we know Puppet, not all the various applications you use and expertly manage. Realistically, I intend to make an effort to encourage module consolidation and collaboration and perhaps we can have some sort of community ratings and review process to let the cream rise to the top, identify the tasty, creamy modules and make those the ones that get packaged by persons such as yourself. As always, we welcome your input and just want to enable those crafting modules and those consuming them to manage infrastructure and solve problems. --Ryan -- 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/-/VN72ADYnUP0J. 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] Announcing stdlib 3.0.0
Hello, We're pleased to announce the release of the stdlib module at version 3.0.0 [1]. This major release drops compatibility with Puppet 2.6 and preserves compatibility with Puppet 2.7. The 2.x series will persist for compatibility and bugfix releases for Puppet 2.6. New features intended to work with Puppet 2.6 may be included into a future stdlib 2.5 release, as there are still quite a few pull requests I'd like to work through. [1] http://forge.puppetlabs.com/puppetlabs/stdlib/3.0.0 The module may be installed from the Forge using the puppet-module tool: puppet module install puppetlabs-stdlib This feature release contains the following new features since version 2.4.0 2012-08-16 - Jeff McCune j...@puppetlabs.com - 3.0.0 * stdlib 3.0 drops support with Puppet 2.6 * stdlib 3.0 preserves support with Puppet 2.7 2012-08-07 - Dan Bode d...@puppetlabs.com - 3.0.0 * Add function ensure_resource and defined_with_params (ba789de) 2012-07-10 - Hailee Kenney hai...@puppetlabs.com - 3.0.0 * (#2157) Remove facter_dot_d for compatibility with external facts (f92574f) 2012-04-10 - Chris Price ch...@puppetlabs.com - 3.0.0 * (#13693) moving logic from local spec_helper to puppetlabs_spec_helper (85f96df) Cheers, -Jeff McCune -- 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] packaging puppet modules
On Thu, Aug 16, 2012 at 11:05 AM, Mark Roggenkamp mark.roggenk...@gmail.com wrote: What happens when a module (mymodule) depends on the mysql module but you chose a mysql module that isn't quite the same as the one mymodule expects? Your module would depend on a specific mysql module though, right? mymodule depends on someuser-mysql for example. When you're authoring your own content, you'll have to make a decision about which users mysql module meets your needs and aligns with how you view the world. We don't have great tooling on the Forge to help you make that decision but we'll be rectifying 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.
Re: [Puppet Users] Re: parameterized classes broken in 3.0.0rc2?
On Thu, Aug 16, 2012 at 6:53 AM, jcbollinger john.bollin...@stjude.org wrote: It sounds like you have a broken or incomplete puppet installation. You are correct, installing hiera fixed it. Thanks, Jason -- Life was better when sun4m mattered. -Thom -- 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] packaging puppet modules
Yeah, I'm saying you probably have a specific mysql module in mind and it seems the only way that dependency is specific enough is through the Modulefile. In my manifest I'd just say include mysql. There's no mechanism in the language itself for deciphering between someuser-mysql and someuser2-mysql, right? It seems the only thing that specifies the difference is the Modulefile and thus the puppet module tool. What if I choose someuser1-mysql for mymodule and then I later want another module on the forge that chose someuser2-mysql as it's dependency? Now if they don't have similar interfaces (not to mention implementations) I'm stuck, right? Thanks Mark On Thursday, August 16, 2012 2:35:57 PM UTC-4, Ryan Coleman wrote: On Thu, Aug 16, 2012 at 11:05 AM, Mark Roggenkamp mark.ro...@gmail.com javascript: wrote: What happens when a module (mymodule) depends on the mysql module but you chose a mysql module that isn't quite the same as the one mymodule expects? Your module would depend on a specific mysql module though, right? mymodule depends on someuser-mysql for example. When you're authoring your own content, you'll have to make a decision about which users mysql module meets your needs and aligns with how you view the world. We don't have great tooling on the Forge to help you make that decision but we'll be rectifying that. -- 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/-/tnJ4P-GWIgEJ. 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 client environment is being ignored from foreman settings
Yaniv, I was asking if you happen to have an environment defined on your agent in puppet.conf. Anyhow, we can handle this over on foreman-users :) -Sam On Thu, Aug 16, 2012 at 1:01 PM, Yaniv Fine yanivf...@gmail.com wrote: Why do i have to define environment in puppet.conf on the agent . Isnt defining the host in a group on foreman good enugh ? .in general there could be a conflict . Btw when i configure env in puppet.conf it does work like expected but it ignored the setting related to env .in foreman On Aug 16, 2012 7:19 PM, Sam Kottler s...@kottlerdevelopment.com wrote: Hi Yaniv, Do you have the environment defined in puppet.conf on the agent and use Foreman as an ENC? If so, you're probably seeing http://projects.puppetlabs.com/issues/3910. Some users are getting around this bug by adding functionality to the ENC script that validates the environment defined in Foreman against the one in the host's puppet.conf. Someone who has done this might be able to help you on the foreman-users list. -Sam On Thu, Aug 16, 2012 at 11:05 AM, Yaniv Fine yanivf...@gmail.com wrote: Hi experts . i am runnig foreman 1 puppetmaster 2.7.18 i have setup a test client machine . on foreman i have configured the new client to be part of the development environment . on the client i have setup that it will run the following from site.pp to debug information . notify { environment: message = $environment when i run on the client . puppet agent--test --debug --verbose i get Notify[environment]/message: defined 'message' as 'production' allthought on foreman this client is setup as development when i add the environment = development on the client /etc/puppet.puppet.conf the client get Notify[environment]/message: defined 'message' as 'development' which is ok . BTW in foreman = settings i have default_puppet_environment = testing which is beeing ignored via the client . is this normal that i need to override the foreman client setting . with a environment = development on the client /etc/puppet.puppet.conf thank you -- 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/-/JF3PZ63IdjAJ. 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] Re: merging iptables rules with puppet
I can't say enough good about the puppetlabs-firewall module. They've put a lot of work into it, and it works perfectly. https://github.com/puppetlabs/puppetlabs-firewall No need for concat here. Justin On Thursday, August 16, 2012 1:01:01 AM UTC-5, Pete wrote: Hi, I manage my iptables setup with the concat module and nail together a rules file and then reload it if it's changed I also have a define setup so other classes can define rules and my firewall class pulls them all in. works well for me because when i remove a class the firewall rull associated with it goes away too. I am intending on putting my modules in githib but have been super busy and haven't had a chance yet. On 16 August 2012 07:07, Geoff Galitz gga...@shutterstock.comjavascript: wrote: We are executing iptables rule, not editing the backend files, though we could do that if that were the only option. -G On Wed, Aug 15, 2012 at 4:54 PM, Luke Baker bak...@missouri.edujavascript: wrote: By dynamically loading rules do you mean executing iptables rule or are you editing your iptables-save file and then reloading? On Wednesday, August 15, 2012 1:48:44 PM UTC-5, Geoff Galitz wrote: I'm still a bit noobish with puppet... In short what I want to do is merge puppet managed iptables with dynamically added rules added by some scripts. We have a basic config setup with a template (iptables.erb) and we can add rules to that in manifests. But of course puppet will wipe any changes made from the OS. Any advice on how to get puppet to respect the dynamically loaded rules? Thanks. -G -- --- Geoff Galitz, gga...@shutterstock.com WebOps Shutterstock Images -- 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/-/VX2Sj8i2-ssJ. To post to this group, send email to puppet...@googlegroups.comjavascript:. To unsubscribe from this group, send email to puppet-users...@googlegroups.com javascript:. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- --- Geoff Galitz, gga...@shutterstock.com javascript: WebOps Shutterstock Images -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet...@googlegroups.comjavascript:. To unsubscribe from this group, send email to puppet-users...@googlegroups.com javascript:. 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 view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/2RiSuyvxkAwJ. 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] Installing puppet agent on Windows XP
OK, I tried again with the latest MSI (http://downloads.puppetlabs.com/windows/puppet-2.7.12.msi) and puppet and facter both work just fine. Very cool! I should note that I'm running puppet in standalone mode, and not trying to connect to a master. On Monday, November 21, 2011 7:31:53 PM UTC-6, Jacob Helwig wrote: On 2011-11-21 12:50 , Jeff Sussna wrote: Trying to get Puppet 2.7.6/Facter 1.6.2 running on Windows XP SP3. Followed the install instructions carefully, got no errors. facter and puppet both hang no matter what I try. The only things that don't hang are: facter operatingsystem (or any other individual facter query) facter --version facter --debug hangs, as does puppet --version or any other puppet command, including 'puppet config print all'. Anyone have success getting puppet running on XP? Right now, Puppet Facter are only supported on Server 2003 Server 2008, since those are the only platforms we tested against when working on the Windows support. If come up with patches to get past the hangs on XP we'd love to see them. Which install instructions were you following? If it didn't clearly call out which platforms are currently supported, we'll need to update the instructions. -- Jacob Helwig http://about.me/jhelwig -- 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/-/r8nCZFu-qU0J. 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] Installing Java software on Windows using Puppet
I want to use Puppet to manage Groovy and Gradle on Windows machines. The install process for each looks like: 1. Download zip file from a URL 2. Unzip 3. Create a Windows environment variable to point to the location where you unzipped 4. Add that environment variable/bin to the global PATH environment variable. As far as I can Puppet for Windows supports none of these actions. I'm guessing I have to write a .bat script to call from Puppet? Any plans on adding support for these seemingly common actions? -- 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/-/TzJfNmkSMlkJ. 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] Can I re-use a Exec resource from multiple un-related classes?
Looks like with some testing I answered my own question. :) As soon as the 'helpFunction' class is included in a node, I can simply notify the resource there from other classes as well. If I re-define the Exec resource in other classes I would ended up getting multi-define error. --KL From: KENNETH LO k...@paydiant.commailto:k...@paydiant.com Reply-To: puppet-users@googlegroups.commailto:puppet-users@googlegroups.com puppet-users@googlegroups.commailto:puppet-users@googlegroups.com Date: Thu, 16 Aug 2012 15:32:01 + To: puppet-users@googlegroups.commailto:puppet-users@googlegroups.com puppet-users@googlegroups.commailto:puppet-users@googlegroups.com Subject: [Puppet Users] Can I re-use a Exec resource from multiple un-related classes? The idea is that let say I have a Class define as helperFunctions where I put in a bunch of shell script exec resources, along with some file resources as requirement. Can I then have other classes' resource to Subscribe and/or Notify to specific Exec resource within that helperFunction class? The only interClass dependency I've done based on puppet's example are all per class, not per resource… So is this possible and what's the proper syntax for it? Thanks in advance. --KL This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited. -- 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 is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited. This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Re: merging iptables rules with puppet
I have an open issue against it, but otherwise I agree. http://projects.puppetlabs.com/issues/14413 If I could come up with a workaround for this, I would be a very happy camper. “Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.” Bill Waterson (Calvin Hobbes) - Original Message - From: Justin Ellison jus...@techadvise.com To: puppet-users@googlegroups.com Sent: Thursday, August 16, 2012 3:27:52 PM Subject: Re: [Puppet Users] Re: merging iptables rules with puppet I can't say enough good about the puppetlabs-firewall module. They've put a lot of work into it, and it works perfectly. https://github.com/puppetlabs/puppetlabs-firewall No need for concat here. Justin On Thursday, August 16, 2012 1:01:01 AM UTC-5, Pete wrote: Hi, I manage my iptables setup with the concat module and nail together a rules file and then reload it if it's changed I also have a define setup so other classes can define rules and my firewall class pulls them all in. works well for me because when i remove a class the firewall rull associated with it goes away too. I am intending on putting my modules in githib but have been super busy and haven't had a chance yet. On 16 August 2012 07:07, Geoff Galitz gga...@shutterstock.com wrote: We are executing iptables rule, not editing the backend files, though we could do that if that were the only option. -G On Wed, Aug 15, 2012 at 4:54 PM, Luke Baker bak...@missouri.edu wrote: By dynamically loading rules do you mean executing iptables rule or are you editing your iptables-save file and then reloading? On Wednesday, August 15, 2012 1:48:44 PM UTC-5, Geoff Galitz wrote: I'm still a bit noobish with puppet... In short what I want to do is merge puppet managed iptables with dynamically added rules added by some scripts. We have a basic config setup with a template (iptables.erb) and we can add rules to that in manifests. But of course puppet will wipe any changes made from the OS. Any advice on how to get puppet to respect the dynamically loaded rules? Thanks. -G -- --- Geoff Galitz, gga...@shutterstock.com WebOps Shutterstock Images -- 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/-/VX2Sj8i2-ssJ . To post to this group, send email to puppet...@googlegroups.com . To unsubscribe from this group, send email to puppet-users...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en . -- --- Geoff Galitz, gga...@shutterstock.com WebOps Shutterstock Images -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet...@googlegroups.com . To unsubscribe from this group, send email to puppet-users...@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 view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/2RiSuyvxkAwJ . 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: how to override provider binary choice?
You would need to manipulate $PATH in the environment before puppet-agent starts, probably by changing the init script On Thursday, August 16, 2012 10:05:06 AM UTC-7, Christopher Wood wrote: Question: How do I override binary selection in providers? I'd like to use /opt/jre(someversion)/bin/keytool, not /usr/bin/keytool. Details (long): In this nifty thing: http://forge.puppetlabs.com/puppetlabs/java_ks The provider uses keytool in the $PATH: require 'puppet/util/filetype' Puppet::Type.type(:java_ks).provide(:keytool) do desc 'Uses a combination of openssl and keytool to manage Java keystores' commands :openssl = 'openssl' commands :keytool = 'keytool' But keytool can be java-version-specific, one of the dubious gifts of the java world: http://osdir.com/ml/java.jspwiki.user/2006-09/msg00160.html http://stackoverflow.com/questions/11963852 http://stackoverflow.com/questions/4262773 The keytool I want to use right now is /opt/jre1.6.0_31/bin/keytool (as installed by puppet), but that may change depending on the server and which daemon's keystores I'm managing. -- 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/-/Id9Bl42M9hEJ. 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] Installing Java software on Windows using Puppet
On Thu, Aug 16, 2012 at 12:44 PM, Jeff Sussna j...@ingineering.it wrote: I want to use Puppet to manage Groovy and Gradle on Windows machines. The install process for each looks like: 1. Download zip file from a URL 2. Unzip The nanliu/staging module on the Puppet Forge will at least get you the first two points. http://forge.puppetlabs.com/nanliu/staging With a couple of Puppet resources, it will retrieve the zip file from a url, store it somewhere and unzip it wherever you want. He lists some examples on the Forge page. They're for tar.gz files but the resources automatically handle zipped files should they have the proper .zip extension. 3. Create a Windows environment variable to point to the location where you unzipped 4. Add that environment variable/bin to the global PATH environment variable. I'm sorry I can't help you with these two. Hopefully someone else on the list can. :-) -- 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] Installing puppet agent on Windows XP
Hi Jeff, The latest stable msi is actually Puppet 2.7.18 - http://downloads.puppetlabs.com/windows/puppet-2.7.18.msi It includes many Windows improvements since 2.7.12. Cheers, Moses On Thu, Aug 16, 2012 at 12:34 PM, Jeff Sussna j...@ingineering.it wrote: OK, I tried again with the latest MSI (http://downloads.puppetlabs.com/windows/puppet-2.7.12.msi) and puppet and facter both work just fine. Very cool! I should note that I'm running puppet in standalone mode, and not trying to connect to a master. On Monday, November 21, 2011 7:31:53 PM UTC-6, Jacob Helwig wrote: On 2011-11-21 12:50 , Jeff Sussna wrote: Trying to get Puppet 2.7.6/Facter 1.6.2 running on Windows XP SP3. Followed the install instructions carefully, got no errors. facter and puppet both hang no matter what I try. The only things that don't hang are: facter operatingsystem (or any other individual facter query) facter --version facter --debug hangs, as does puppet --version or any other puppet command, including 'puppet config print all'. Anyone have success getting puppet running on XP? Right now, Puppet Facter are only supported on Server 2003 Server 2008, since those are the only platforms we tested against when working on the Windows support. If come up with patches to get past the hangs on XP we'd love to see them. Which install instructions were you following? If it didn't clearly call out which platforms are currently supported, we'll need to update the instructions. -- Jacob Helwig http://about.me/jhelwig -- 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/-/r8nCZFu-qU0J. 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: Custom types in environments working .... yes/no/maybe ?
I'm afraid I don't completely agree there. One of the benefits of environments is that it allows you to completely separate a change for a module/extension into a separate environment, without needing a separate master, SSL CA and so forth. As far as the point to not exposing the production master to untested code, fair enough. I guess there's a chance that untested Ruby code in a different environment could crash the master. Then again, I'll probably notice that about 10 seconds after deploying the actual code and if an agent can't check in for a few minutes that's not necessarily a problem. The point that we would be able to test Puppet extensions without putting them into production is moot really if Puppet would actually bother to load extensions from a environment specific libdir. There's plenty of ways to work around the fact that extensions in environments don't really work as one would expect them to but, that really ought be fixed in the first place, or environments removed all together. In it's current state the behaviour is slightly unspecified. The patch suggested in the ticket seems reasonable enough though I'm guessing one would have to tell Puppet its libdir now looks like /var/lib/puppet/master/lib/%= environment % for it to work. On Thursday, 16 August 2012 16:37:10 UTC+2, jcbollinger wrote: On Thursday, August 16, 2012 3:26:23 AM UTC-5, Daniele Sluijters wrote: Hi, We've ran into the same problem. Our current solution, which we're not happy about, is to also have the custom types on the master/production environment. Doing that at least the custom types are always available. Unfortunately, it makes it impossible to deploy an update of a custom type to a branch/environment for testing. For what it's worth, I would recommend using an entirely separate Puppet process for testing. If you like, it can run on the same server, but a different port. That would have several advantages for you, among them - you would be able to test modifications to your Puppet extensions without putting them into production - you would be able to test how changes apply to and affect your various environments (or if you use environments only for this purpose, then you could drop them altogether) - your production master would not be exposed to any unproven code - it would fit in more intuitively (to me) with source control, branches, etc. John -- 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/-/XGgPIjhbWKQJ. 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: Getting all variable occurrences from Hiera
Hi, We already used stored configs but we can't use it for DHCP and DNS because those records need to be created before the node actually syncs for the first time, even before it's installed with an OS to begin with. I hadn't thought of just separating that information into its own YAML file, that's an interesting solution and one I'll definitely be looking into to. -- Daniele Sluijters On Thursday, 16 August 2012 10:37:23 UTC+2, Daniele Sluijters wrote: Hello, We've been using Hiera for a while and one of the things I'd like to do is use the data we have in the YAML backend and generate our BIND zonefiles and DHCPD.conf from it. Every node has a stanza defined with it's 'primary' IP-address and MAC-address like so: hostname.yaml: --- m_interface: - ip: 127.0.0.1 - mac_address: aa:bb:cc:dd:ee:ff Based on that information and the YAML file it was found in (so the node in our case) I'd like to generate a dhcpd.conf like this: host hostname(.yaml) { fixed-address: m_interface[ip] hardware ethernet: m_interface[mac_address] Now, this can be done for a single node, however, I need a way to get that information for every node. As far as I understand both hiera_hash and hiera_array only walk the hierarchy upwards, not outwards (which is usually what you want anyway). I'm looking for something like a hiera_all that would return a hash with the node name as key and value the m_interface stanza for that node. At this point I'm not even sure this can be done so, anyone got any bright ideas? Kind regards, -- Daniele Sluijters -- 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/-/oujPthWMq6wJ. 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] Installing Java software on Windows using Puppet
Thanks for the pointer to nanliu/staging. Though from the forge page it sounds like it requires a master and hiera. I'm running standalone. Re env vars, I managed to figure that out. The following resource sets the global system var FOO_BAR to the current value of PATH, with ;baz appended to the end of it: exec { cmd.exe /c reg add \HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\ /v FOO_BAR /t REG_SZ /d \$::path;baz\ /f: path = $::path } Note the escaped quotes. On Windows 7 you could use the builtin 'setx' command instead, but I'm being wacky and using Puppet on XP, which doesn't have setx. On Thursday, August 16, 2012 3:20:11 PM UTC-5, Ryan Coleman wrote: On Thu, Aug 16, 2012 at 12:44 PM, Jeff Sussna j...@ingineering.itjavascript: wrote: I want to use Puppet to manage Groovy and Gradle on Windows machines. The install process for each looks like: 1. Download zip file from a URL 2. Unzip The nanliu/staging module on the Puppet Forge will at least get you the first two points. http://forge.puppetlabs.com/nanliu/staging With a couple of Puppet resources, it will retrieve the zip file from a url, store it somewhere and unzip it wherever you want. He lists some examples on the Forge page. They're for tar.gz files but the resources automatically handle zipped files should they have the proper .zip extension. 3. Create a Windows environment variable to point to the location where you unzipped 4. Add that environment variable/bin to the global PATH environment variable. I'm sorry I can't help you with these two. Hopefully someone else on the list can. :-) -- 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/-/T6nV_YJoptkJ. 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] the git provider within puppetlabs-vcsrepo
I've been working through the git provider within puppetlabs-vcsrepo and I think I have the problems narrowed down. However I don't understand the code well enough to fix it. What works: Fresh installs of a repo on the client regardless of branch, revision, master, latest, whatever specified. Pulling latest from the current checked out branch. Pulling latest from any branch that exists in the version of the repo that is already on the client. What doesn't work: Any update to the repo that the current version of the repo on the clinet would be unaware. Basically any condition that would require a git fetch and/or git pull --tags first, fails. Tags without branches don't seem to work at all when updating a repo, but I'm going to skip over this for now because I think it's a very different problem. I'm guessing that certain functions that exist within lib/puppet/provider/vcsrepo/git.rb aren't getting called when the repo exists or that the current functions aren't doing everything that needs to be done. Likely suspects look like update_references, revision=(desired) or revision, or get_revision(rev). I've littered fetches liberally over the code to no effect, but I'm betting I'm not initializing something correctly. at_path do git_with_identity('fetch', @resource.value(:remote)) git_with_identity('fetch', '--tags', @resource.value(:remote)) end I can easily test code changes if someone with more Ruby chops that I wants to take a crack at it. Ramin -- 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: Getting all variable occurrences from Hiera
I hadn't thought of just separating that information into its own YAML file, that's an interesting solution and one I'll definitely be looking into to. But then, information about one host is kept in multiple files and it would be my aim to wrap all specific info for one host into one yaml. so that once you remove the host, you only have to remove that file. That yaml file should keep alle the specific params of that host. and every other module should be able to take advantage of that information. This is not only the case for dhcp, but for dns as well. and of course the /etc/network/interfaces file of the host itself. And to avoid needless redundancy of information, certain values should be written into that file maximum once. so, the ipaddress for example must not be written in some dns config yaml file as well. and in the hostname.yaml. Should you decide to change the ipaddress, you definitely forget either the bind or the dhcp config. I realize that this might lead into a feature req for Hiera. There must simply be a way to tell the dhcp and bind modules to have a look in all hostname.yaml files to collect all ipaddresses and macaddresses and hostnames. Best regards, Alex -- 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/-/u-KBZGO95uoJ. 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] Installing Java software on Windows using Puppet
Hi Jeff, I've recently added support for MSI and executable packages on Windows[1], which will be out in Puppet 3. That way you can just download the java exe installer (step 1) and manage it via a `package` resource, thereby avoiding the zip issue. Obviously, it doesn't help you out now. In 2.7.x, I'd recommend using one of the later puppet versions as the MSI support is much better[2] On Thu, Aug 16, 2012 at 1:45 PM, Jeff Sussna j...@ingineering.it wrote: Thanks for the pointer to nanliu/staging. Though from the forge page it sounds like it requires a master and hiera. I'm running standalone. You can install and run modules locally, e.g. puppet apply manifest --modulepath path In 2.7.x, make sure to use forward slashes for the module path[3] Re env vars, I managed to figure that out. The following resource sets the global system var FOO_BAR to the current value of PATH, with ;baz appended to the end of it: exec { cmd.exe /c reg add \HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\ /v FOO_BAR /t REG_SZ /d \$::path;baz\ /f: path = $::path } You'll need to add an `unless` otherwise puppet will append baz each time it runs. Note the escaped quotes. On Windows 7 you could use the builtin 'setx' command instead, but I'm being wacky and using Puppet on XP, which doesn't have setx. Didn't know about setx, cool! On Thursday, August 16, 2012 3:20:11 PM UTC-5, Ryan Coleman wrote: On Thu, Aug 16, 2012 at 12:44 PM, Jeff Sussna j...@ingineering.it wrote: I want to use Puppet to manage Groovy and Gradle on Windows machines. The install process for each looks like: 1. Download zip file from a URL If you can host the package on a puppet fileserver, then you can just use a 'puppet' URI scheme. If not, then you'll have to use nan's module (which requires curl) to download. 2. Unzip The nanliu/staging module on the Puppet Forge will at least get you the first two points. http://forge.puppetlabs.com/nanliu/staging With a couple of Puppet resources, it will retrieve the zip file from a url, store it somewhere and unzip it wherever you want. He lists some examples on the Forge page. They're for tar.gz files but the resources automatically handle zipped files should they have the proper .zip extension. Nan's module requires unzip, which isn't present by default. You'd probably want to install 7zip. They have an MSI installer, so you can manage as a package resource. 3. Create a Windows environment variable to point to the location where you unzipped You can exec reg.exe or use the registry module[4][5]: So to create an environment variable JAVA_HOME=C:\java7, you'd do: registry_value { 'HKLM\System\CurrentControlSet\Control\Session Manager\Environment\JAVA_HOME': ensure = present, type = string, value = 'C:\java7' } The `registry_value` type supports all common registry types, such as REG_EXPAND_SZ, so you can do `value = '%SYSTEMDRIVE%\java7'` 4. Add that environment variable/bin to the global PATH environment variable. I'm sorry I can't help you with these two. Hopefully someone else on the list can. :-) This would best be handled by an environment type provider (to account for the inclusive/exclusive behavior of the multi-valued PATH environment variable). In the meantime, probably best to use the exec resource. Josh [1] http://projects.puppetlabs.com/issues/11870 [2] http://projects.puppetlabs.com/issues/11868 [3] http://projects.puppetlabs.com/issues/13055 [4] http://forge.puppetlabs.com/puppetlabs/registry [5] http://puppetlabs.com/blog/module-of-the-week-puppetlabs-registry-windows/ -- Josh Cooper Developer, Puppet Labs -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Re: how to override provider binary choice?
On Thu, Aug 16, 2012 at 1:18 PM, Eric Sorenson eric.soren...@puppetlabs.com wrote: You would need to manipulate $PATH in the environment before puppet-agent starts, probably by changing the init script Or specify the path setting[1] Josh [1] http://docs.puppetlabs.com/references/stable/configuration.html#path On Thursday, August 16, 2012 10:05:06 AM UTC-7, Christopher Wood wrote: Question: How do I override binary selection in providers? I'd like to use /opt/jre(someversion)/bin/keytool, not /usr/bin/keytool. Details (long): In this nifty thing: http://forge.puppetlabs.com/puppetlabs/java_ks The provider uses keytool in the $PATH: require 'puppet/util/filetype' Puppet::Type.type(:java_ks).provide(:keytool) do desc 'Uses a combination of openssl and keytool to manage Java keystores' commands :openssl = 'openssl' commands :keytool = 'keytool' But keytool can be java-version-specific, one of the dubious gifts of the java world: http://osdir.com/ml/java.jspwiki.user/2006-09/msg00160.html http://stackoverflow.com/questions/11963852 http://stackoverflow.com/questions/4262773 The keytool I want to use right now is /opt/jre1.6.0_31/bin/keytool (as installed by puppet), but that may change depending on the server and which daemon's keystores I'm managing. -- 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/-/Id9Bl42M9hEJ. 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. -- Josh Cooper Developer, Puppet Labs -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Installing Java software on Windows using Puppet
Thanks! Very helpful. Though I don't follow your discussion of MSI's, since Groovy/Gradle don't have MSI installers. My understanding is MSI development is non-trivial. On Thursday, August 16, 2012 4:19:31 PM UTC-5, Josh Cooper wrote: Hi Jeff, I've recently added support for MSI and executable packages on Windows[1], which will be out in Puppet 3. That way you can just download the java exe installer (step 1) and manage it via a `package` resource, thereby avoiding the zip issue. Obviously, it doesn't help you out now. In 2.7.x, I'd recommend using one of the later puppet versions as the MSI support is much better[2] On Thu, Aug 16, 2012 at 1:45 PM, Jeff Sussna j...@ingineering.itjavascript: wrote: Thanks for the pointer to nanliu/staging. Though from the forge page it sounds like it requires a master and hiera. I'm running standalone. You can install and run modules locally, e.g. puppet apply manifest --modulepath path In 2.7.x, make sure to use forward slashes for the module path[3] Re env vars, I managed to figure that out. The following resource sets the global system var FOO_BAR to the current value of PATH, with ;baz appended to the end of it: exec { cmd.exe /c reg add \HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\ /v FOO_BAR /t REG_SZ /d \$::path;baz\ /f: path = $::path } You'll need to add an `unless` otherwise puppet will append baz each time it runs. Note the escaped quotes. On Windows 7 you could use the builtin 'setx' command instead, but I'm being wacky and using Puppet on XP, which doesn't have setx. Didn't know about setx, cool! On Thursday, August 16, 2012 3:20:11 PM UTC-5, Ryan Coleman wrote: On Thu, Aug 16, 2012 at 12:44 PM, Jeff Sussna j...@ingineering.it wrote: I want to use Puppet to manage Groovy and Gradle on Windows machines. The install process for each looks like: 1. Download zip file from a URL If you can host the package on a puppet fileserver, then you can just use a 'puppet' URI scheme. If not, then you'll have to use nan's module (which requires curl) to download. 2. Unzip The nanliu/staging module on the Puppet Forge will at least get you the first two points. http://forge.puppetlabs.com/nanliu/staging With a couple of Puppet resources, it will retrieve the zip file from a url, store it somewhere and unzip it wherever you want. He lists some examples on the Forge page. They're for tar.gz files but the resources automatically handle zipped files should they have the proper .zip extension. Nan's module requires unzip, which isn't present by default. You'd probably want to install 7zip. They have an MSI installer, so you can manage as a package resource. 3. Create a Windows environment variable to point to the location where you unzipped You can exec reg.exe or use the registry module[4][5]: So to create an environment variable JAVA_HOME=C:\java7, you'd do: registry_value { 'HKLM\System\CurrentControlSet\Control\Session Manager\Environment\JAVA_HOME': ensure = present, type = string, value = 'C:\java7' } The `registry_value` type supports all common registry types, such as REG_EXPAND_SZ, so you can do `value = '%SYSTEMDRIVE%\java7'` 4. Add that environment variable/bin to the global PATH environment variable. I'm sorry I can't help you with these two. Hopefully someone else on the list can. :-) This would best be handled by an environment type provider (to account for the inclusive/exclusive behavior of the multi-valued PATH environment variable). In the meantime, probably best to use the exec resource. Josh [1] http://projects.puppetlabs.com/issues/11870 [2] http://projects.puppetlabs.com/issues/11868 [3] http://projects.puppetlabs.com/issues/13055 [4] http://forge.puppetlabs.com/puppetlabs/registry [5] http://puppetlabs.com/blog/module-of-the-week-puppetlabs-registry-windows/ -- Josh Cooper Developer, Puppet Labs -- 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/-/yvWfykSJSloJ. 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] Installing puppet agent on Windows XP
Grr...it would help if I were paying attention and didn't just assume the list was sorted in most-recent order :-(. Since I don't seem to be able to find my way around unchaperoned, are there release notes for the improvements you mention? On Thursday, August 16, 2012 3:25:06 PM UTC-5, Moses Mendoza wrote: Hi Jeff, The latest stable msi is actually Puppet 2.7.18 - http://downloads.puppetlabs.com/windows/puppet-2.7.18.msi It includes many Windows improvements since 2.7.12. Cheers, Moses On Thu, Aug 16, 2012 at 12:34 PM, Jeff Sussna j...@ingineering.itjavascript: wrote: OK, I tried again with the latest MSI (http://downloads.puppetlabs.com/windows/puppet-2.7.12.msi) and puppet and facter both work just fine. Very cool! I should note that I'm running puppet in standalone mode, and not trying to connect to a master. On Monday, November 21, 2011 7:31:53 PM UTC-6, Jacob Helwig wrote: On 2011-11-21 12:50 , Jeff Sussna wrote: Trying to get Puppet 2.7.6/Facter 1.6.2 running on Windows XP SP3. Followed the install instructions carefully, got no errors. facter and puppet both hang no matter what I try. The only things that don't hang are: facter operatingsystem (or any other individual facter query) facter --version facter --debug hangs, as does puppet --version or any other puppet command, including 'puppet config print all'. Anyone have success getting puppet running on XP? Right now, Puppet Facter are only supported on Server 2003 Server 2008, since those are the only platforms we tested against when working on the Windows support. If come up with patches to get past the hangs on XP we'd love to see them. Which install instructions were you following? If it didn't clearly call out which platforms are currently supported, we'll need to update the instructions. -- Jacob Helwig http://about.me/jhelwig -- 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/-/r8nCZFu-qU0J. To post to this group, send email to puppet...@googlegroups.comjavascript:. To unsubscribe from this group, send email to puppet-users...@googlegroups.com javascript:. 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 view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/DFtfU0zxdRQJ. 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: Installing Java software on Windows using Puppet
Jeff, Just to give you more ideas, and as someone who tends to reinvint wheels, what I do for this sort of thing on Windows is make custom types and use Ruby to handle download, unzip, md5, etc. Here's how a couple custom types I use look in a Puppet manifest: media_player_msi { 'ensure_msi_version': ensure = present, version = $version, download_dir= $download_dir, schedule= 'msi_upgrades', require = Media_Player_Stage_Msi['ensure_msi_download'], notify = Exec['reboot'], } I have a standardlib type module with generic functions for things like download, md5, etc. that are used in other custom types. Lacking a robust shell, tools, and package management on Windows, I find this approach cleaner than trying to ship binaries and use cmd.exe. Also, check out Ruby's win32 stuff, or even just wmic. You may find working with MSI's easier this way than using the 2.7x type in Puppet. Working with the registry is pretty easy too. Of course you can also use the registry module in the Forge. To give you another example, here's a winfacts module I made that uses wmi (note: I am still new to Ruby, this isn't the prettiest, but it works :) https://github.com/adenning/winfacts Regards, Adam On Thursday, August 16, 2012 2:44:16 PM UTC-5, Jeff Sussna wrote: I want to use Puppet to manage Groovy and Gradle on Windows machines. The install process for each looks like: 1. Download zip file from a URL 2. Unzip 3. Create a Windows environment variable to point to the location where you unzipped 4. Add that environment variable/bin to the global PATH environment variable. As far as I can Puppet for Windows supports none of these actions. I'm guessing I have to write a .bat script to call from Puppet? Any plans on adding support for these seemingly common actions? -- 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/-/_wty_3aor-oJ. 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: Installing puppet agent on Windows XP
Windows support better in newer versions of Puppet. I run 2.7.18 on XP nodes with no issues. It's not officially supported though. hth, Adam On Monday, November 21, 2011 2:50:37 PM UTC-6, Jeff Sussna wrote: Trying to get Puppet 2.7.6/Facter 1.6.2 running on Windows XP SP3. Followed the install instructions carefully, got no errors. facter and puppet both hang no matter what I try. The only things that don't hang are: facter operatingsystem (or any other individual facter query) facter --version facter --debug hangs, as does puppet --version or any other puppet command, including 'puppet config print all'. Anyone have success getting puppet running on XP? -- 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/-/UX5GOLswLU8J. 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 hanging when listen turned on
Hi James, there's a couple of related bugs on this that would be great to have help tracking down. - Bug #10418 seemed to implicate kernel version but I think you're outside the early Centos/RHEL5.x affected list -- what does 'uname -a' show on your systems? - Recent activity on #10418 seems (confusingly, to me) to implicate recent Facter upgrades -- what facter version are you running? Has it updated recently? - Some folks on the bug you referenced (#12185) said they had leap-second bug fallout; does the 'date fix' here help a problematic system? http://projects.puppetlabs.com/issues/12185#note-27 - Does setting listen=false consistently fix your systems? Feel free to hop on #puppet and ping me (eric0) for faster turnaround. Eric Sorenson - eric.soren...@puppetlabs.com PuppetConf'12 - 27-28 Sep in SF - http://bit.ly/pcsig12 On Wednesday, August 15, 2012 8:46:40 PM UTC-7, James Peltier wrote: I guess there's no answer on this one? - Original Message - | Hi All, | | Recently Puppet (2.7.18 / RHEL 6.3) has started to hang when the | listen parameter is turned on. I've tried rolling back several | versions of Puppet as well as rolling back Ruby so as to try and | figure out if it was a recent update that did it, but to no avail. | | | strace on the puppet pid shows the following | | | rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 | select(7, [5 6], [], [], {1, 99}) = 0 (Timeout) | select(7, [5 6], [], [], {0, 0})= 0 (Timeout) | select(7, [6], [], [], {0, 0}) = 0 (Timeout) | rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 | rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 | select(7, [5 6], [], [], {1, 99} unfinished ... | | | This sounds an awful lot like | http://projects.puppetlabs.com/issues/12185 but it doesn't chew up | any CPU time, it just sits there and loops the above strace over and | over again. Telnet to 8139 doesn't work either. Ideas? | | | -- | James A. Peltier | Manager, IT Services - Research Computing Group | Simon Fraser University - Burnaby Campus | Phone : 778-782-6573 | Fax : 778-782-3045 | E-Mail : jpel...@sfu.ca javascript: | Website : http://www.sfu.ca/itservices | http://blogs.sfu.ca/people/jpeltier | | Success is to be measured not so much by the position that one has | reached | in life but as by the obstacles they have overcome. - Booker T. | Washington | | -- | You received this message because you are subscribed to the Google | Groups Puppet Users group. | To post to this group, send email to puppet...@googlegroups.comjavascript:. | To unsubscribe from this group, send email to | puppet-users...@googlegroups.com javascript:. | For more options, visit this group at | http://groups.google.com/group/puppet-users?hl=en. | | -- James A. Peltier Manager, IT Services - Research Computing Group Simon Fraser University - Burnaby Campus Phone : 778-782-6573 Fax : 778-782-3045 E-Mail : jpel...@sfu.ca javascript: Website : http://www.sfu.ca/itservices http://blogs.sfu.ca/people/jpeltier Success is to be measured not so much by the position that one has reached in life but as by the obstacles they have overcome. - Booker T. Washington -- 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/-/F6mo7yeaKgwJ. 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] Installing puppet agent on Windows XP
Hey Jeff, You can check out the release notes here: http://projects.puppetlabs.com/projects/puppet/wiki/Release_Notes . They're not split out by platform but rather Puppet version. Some of the Windows improvements I was thinking of, particularly around the package provider, are actually in the 2.7.19 RC, which, with any luck, will go final next week. However, as Adam points out, Windows XP isn't a supported platform, so your results may vary... On Thu, Aug 16, 2012 at 3:05 PM, Jeff Sussna j...@ingineering.it wrote: Grr...it would help if I were paying attention and didn't just assume the list was sorted in most-recent order :-(. Since I don't seem to be able to find my way around unchaperoned, are there release notes for the improvements you mention? On Thursday, August 16, 2012 3:25:06 PM UTC-5, Moses Mendoza wrote: Hi Jeff, The latest stable msi is actually Puppet 2.7.18 - http://downloads.puppetlabs.com/windows/puppet-2.7.18.msi It includes many Windows improvements since 2.7.12. Cheers, Moses On Thu, Aug 16, 2012 at 12:34 PM, Jeff Sussna j...@ingineering.it wrote: OK, I tried again with the latest MSI (http://downloads.puppetlabs.com/windows/puppet-2.7.12.msi) and puppet and facter both work just fine. Very cool! I should note that I'm running puppet in standalone mode, and not trying to connect to a master. On Monday, November 21, 2011 7:31:53 PM UTC-6, Jacob Helwig wrote: On 2011-11-21 12:50 , Jeff Sussna wrote: Trying to get Puppet 2.7.6/Facter 1.6.2 running on Windows XP SP3. Followed the install instructions carefully, got no errors. facter and puppet both hang no matter what I try. The only things that don't hang are: facter operatingsystem (or any other individual facter query) facter --version facter --debug hangs, as does puppet --version or any other puppet command, including 'puppet config print all'. Anyone have success getting puppet running on XP? Right now, Puppet Facter are only supported on Server 2003 Server 2008, since those are the only platforms we tested against when working on the Windows support. If come up with patches to get past the hangs on XP we'd love to see them. Which install instructions were you following? If it didn't clearly call out which platforms are currently supported, we'll need to update the instructions. -- Jacob Helwig http://about.me/jhelwig -- 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/-/r8nCZFu-qU0J. To post to this group, send email to puppet...@googlegroups.com. To unsubscribe from this group, send email to puppet-users...@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 view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/DFtfU0zxdRQJ. 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: Installing puppet-dashboard on ubuntu precise
Hi Daniele, Thanks a lot for the info, I'll follow the bug and give your workaround a go. Cheers, Sam On Thursday, 16 August 2012 23:09:20 UTC+10, Daniele Sluijters wrote: Hi, The issue is probably that the Puppet package is requiring librack-ruby. In the case of Debian Squeeze this neatly resolves to 1.1.0 and there are no issues. Dashboard should be fixed to work with more recent versions of Rack though as Wheezy ships with 1.4.1 so the issue will be more prominent. What you can try for now is to uninstall the Ubuntu package and grab the Debian librack-ruby and install that through dpkg. It's probably going to want to upgrade librack-ruby the next time you run apt-get upgrade so you might have to hold the package if you go down this road. The issues are caused by endor/rails/railties/lib/rails/gem_depedency.rb and vendor_gem_source_index.rb that use deprecated functions. The fix should be fairly simple but someone actually has to get up and do it. The issue is being tracked in http://projects.puppetlabs.com/issues/9296so I suggest you update that ticket. -- Daniele Sluijters On Wednesday, 15 August 2012 07:17:38 UTC+2, Sam Morrison wrote: Hi, I'm trying to install dashboard on precise and I get the below error. I'm using the latest version that is available in the puppet apt repository. The package rdoc is installed (it's just a virtual package pointing to ruby) Are there some other missing dependencies that the package doesn't specify? I don't know ruby that well so finding it hard to debug. Also it's well after 2011-11-01 is that a problem too? Thanks, Sam root@admin:/usr/share/puppet-dashboard# rake RAILS_ENV=production db:migrate --trace NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01. Gem.source_index called from /usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21. NOTE: Gem::SourceIndex#initialize is deprecated with no replacement. It will be removed on or after 2011-11-01. Gem::SourceIndex#initialize called from /usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after
Re: [Puppet Users] Re: Hiera unable to retrieve the value
Hi, Can't see anything that stands out in the quick glance, but here's how you can dig further: Use --debug on your puppet run and you'll get an output of what hiera is going through. Second, use notify to print out the variables you are trying to access, making sure they match with what hiera is looking for and what you expect. You can also try setting the default for the hsflowd_port and see if that solves your problems or there are others (not saying you should only use the default, just to further your own investigations). $hsflowd_port = hiera('hsflowd_port', '8080'), HTH, Den On 17/08/2012, at 1:38, linuxbsdfreak linuxbsdfr...@gmail.com wrote: Typo error location=frankfurt is actually location=london. On Thursday, August 16, 2012 5:25:17 PM UTC+2, linuxbsdfreak wrote: Hi All, I am using hiera for storing configuration values. I have setup puppet to use facter following the article from http://nuknad.com/2011/02/11/**self-classifying-puppet-nodes/http://nuknad.com/2011/02/11/self-classifying-puppet-nodes/ I have custom facts company_role company_platform company_location I have defined the following in hiera.yaml --- :backends: - yaml :logger: console :hierarchy: - '%{operatingsystem}' - '%{platform}/%{location}/%{**role}' - common :yaml: :datadir: '/etc/puppet/hieradata' and i create the directories /etc/puppet/hieradata/** production/london/dev_tst.yaml I have something like this in the above file --- hsflowd_port: 8080 company_role: dev_tst company_platform: production company_location: london Given a system with the above facts connecting to puppetmaster. When i run the client i get the following error Err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find data item hsflowd_port in any Hiera data file and no default supplied at /etc/puppet/modules/hsflowd/**manifests/config.pp. For some reason its not getting the value. However when i do the following from the command line hiera -c /etc/puppet/hiera.yaml hsflowd_port platform=production location=frankfurt role=dev_tst I get the value. Following is my manifest: class hsflowd::config( $hsflowd_user = hiera('hsflowd_user'), $hsflowd_group = hiera('hsflowd_group'), $hsflowd_config_dir = hiera('hsflowd_config_dir'), $hsflowd_port = hiera('hsflowd_port'), ) { file { ${hsflowd_config_dir}/**hsflowd.conf: ensure = present, content = template(${module_name}/**hsflowd.conf.erb), owner = $hsflowd_user, group = $hsflowd_group, mode= '0644'; } Is something wrong that i am doing? Regards, Kevin -- 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/-/L2PKd1u1QAgJ. 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: Installing puppet-dashboard on ubuntu precise
OK so I tried the debian package way but that got too hard with package conflicts. There is librack-ruby which seems to be the same as ruby-rack but not sure, ruby-rack depends on passenger so I don't want to go down that path. So next step was to try via installing the gem, I did: gem install rack -v=1.1.0 But I still get exactly the same error: root@admin:/usr/share/puppet-dashboard# gem list *** LOCAL GEMS *** rack (1.1.0) Something else I'm missing? Thanks, Sam On Friday, 17 August 2012 09:58:06 UTC+10, Sam Morrison wrote: Hi Daniele, Thanks a lot for the info, I'll follow the bug and give your workaround a go. Cheers, Sam On Thursday, 16 August 2012 23:09:20 UTC+10, Daniele Sluijters wrote: Hi, The issue is probably that the Puppet package is requiring librack-ruby. In the case of Debian Squeeze this neatly resolves to 1.1.0 and there are no issues. Dashboard should be fixed to work with more recent versions of Rack though as Wheezy ships with 1.4.1 so the issue will be more prominent. What you can try for now is to uninstall the Ubuntu package and grab the Debian librack-ruby and install that through dpkg. It's probably going to want to upgrade librack-ruby the next time you run apt-get upgrade so you might have to hold the package if you go down this road. The issues are caused by endor/rails/railties/lib/rails/gem_depedency.rb and vendor_gem_source_index.rb that use deprecated functions. The fix should be fairly simple but someone actually has to get up and do it. The issue is being tracked in http://projects.puppetlabs.com/issues/9296so I suggest you update that ticket. -- Daniele Sluijters On Wednesday, 15 August 2012 07:17:38 UTC+2, Sam Morrison wrote: Hi, I'm trying to install dashboard on precise and I get the below error. I'm using the latest version that is available in the puppet apt repository. The package rdoc is installed (it's just a virtual package pointing to ruby) Are there some other missing dependencies that the package doesn't specify? I don't know ruby that well so finding it hard to debug. Also it's well after 2011-11-01 is that a problem too? Thanks, Sam root@admin:/usr/share/puppet-dashboard# rake RAILS_ENV=production db:migrate --trace NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01. Gem.source_index called from /usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21. NOTE: Gem::SourceIndex#initialize is deprecated with no replacement. It will be removed on or after 2011-11-01. Gem::SourceIndex#initialize called from /usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91. NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91.
Re: [Puppet Users] Installing from alternat repositories with puppet module
Hi, The link doesn't work for me but I see some posts from Ryan about hosting local forges. I'll focus on the ticket for that. My question was more: if there is no current support for local forges, what is the --module_repository switch for?. Can you point it at something less than a fully functional forge? Does a simple directory structure, which mimcs the layout of the forge's archives, behind a web server do the trick? Ben On Thursday, 16 August 2012 17:12:38 UTC+1, Nan Liu wrote: On Thu, Aug 16, 2012 at 4:04 AM, Benjamin Priestman benj...@miniverse.me.uk javascript: wrote: From the puppet module tool documentation, I note that it is possible to specify an alternate repository to install modules from ( http://docs.puppetlabs.com/puppet/2.7/reference/modules_installing.html#installing-from-another-module-repository). Other than some unresolved newsgroup questions and http://projects.puppetlabs.com/issues/5033, I can't find any information on how to set up an alternative repository. Am I missing something, or is this option just for future use? Ryan provided a response a while back, and the ticket is probably the best place to comment on it. https://groups.google.com/forum/#!msg/puppet-users/ryfka7Ju8x4/QRFpMvXKkdcJ%5B1-25%5D Thanks, Nan -- 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/-/BiUHaQwBhAoJ. 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] Class Naming Convention
So, this has always puzzled me a bit. By convention, init.pp contains one class, named the same as the module. However, what is the convention when the module may have multiple external access points? Say you have a module called 'syslog' which provides both a client and a server class. I typically have used syslog::server and syslog::client. I've ended up using this convention more than init.pp because I don't know when I first put the class together exactly what it's going to do. In module mymodule, rather than create init.pp with class mymodule, I'll call it mymodule::base or something and stick it in base.pp. Confused... 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.