Re: [Puppet Users] Re: puppet instllation error
My problem is similar, the RC is I accidentally deleted the localhost 127.0.0.1 entity in /etc/hosts file, but the puppet.conf relay heavily on this(i.e. The configuration used localhost a lot), after I appended that entity, everything works fine, just appended here for your reference. On Tuesday, October 23, 2012 2:08:13 PM UTC+8, Saravanan Veeran wrote: This webpage has a redirect loop I also had the same problem. The RC is with the hostname in hosts file. Change your host name in /etc/hosts with fqdn. That's it. Now, the redirection won't happen. Regards, VSARA90 On Tuesday, 2 October 2012 01:25:08 UTC+5:30, skrishna12 wrote: Can you any one let me know what could be the issue on this? On Friday, September 28, 2012 3:56:53 PM UTC-7, skrishna12 wrote: I tried the credential (mail id and password) stored in answer.lastun.xxx and got the following error. Even after clearing the cookies and caches .. no luck with the mail id and password This webpage has a redirect loop The webpage at * https://puppet-master.etouch.net:3000/?ticket=ST-1348829403r7DD1A83EF03491318C * has resulted in too many redirects. Clearing your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer. Here are some suggestions: - Reloadhttps://puppet-master.etouch.net:3000/?ticket=ST-1348829403r7DD1A83EF03491318C this webpage later. - Learn morehttps://www.google.com/support/chrome/bin/answer.py?answer=95626hl=en-US about this problem. Error 310 (net::ERR_TOO_MANY_REDIRECTS): There were too many redirects. On Friday, September 28, 2012 2:37:39 PM UTC-7, Matthaus Litteken wrote: Glad that helped you get through the installation. The installer should have asked you those questions during the interview, and they are saved in the answers file as well. The console admin user and password will be in the puppet-enterprise-2.6.0-el5-x86_64 directory (wherever you have the installer located) in a file named answers.lastrun.fqdn of machine (which for you will be 'answers.lastrun.puppet-master.etouch.net') The answers you need to look for in that file are: q_puppet_enterpriseconsole_auth_password= q_puppet_enterpriseconsole_auth_user_email= HTH On Fri, Sep 28, 2012 at 2:16 PM, skrishna12 shiva...@gmail.com wrote: The auto generated user name password is here # cat etc/puppetlabs/installer/database_info.install q_puppet_enterpriseconsole_auth_database_name=console_auth q_puppet_enterpriseconsole_auth_database_password=c8ZwU6TVlgcdvTA5ysv6 q_puppet_enterpriseconsole_auth_database_user=console_auth q_puppet_enterpriseconsole_database_install=n q_puppet_enterpriseconsole_database_name=console q_puppet_enterpriseconsole_database_password=2kjrLEVGna95KXQPHac3 q_puppet_enterpriseconsole_database_remote=n q_puppet_enterpriseconsole_database_root_password=eTouch6789 q_puppet_enterpriseconsole_database_user=console thanks On Friday, September 28, 2012 2:13:32 PM UTC-7, skrishna12 wrote: Thanks!! I removed all mysql pkg and reinstall PE . I got the following messages. I can see admin console but not sure about the username and passwd. This time when i installed . the installer didnot ask any console username and password. Pls help me this out Puppet Enterprise has been installed to /opt/puppet, and its configuration files are located in /etc/puppetlabs. ## Answers from this session saved to './answers.lastrun.puppet-master.etouch.net' ## In addition, auto-generated database users and passwords, including the ROOT MySQL password, have been saved to /etc/puppetlabs/installer/database_info.install !!! WARNING: Do not discard these files! All auto-generated database users and passwords, including the ROOT Mysql password, have been saved in them. = The console can be reached at the following URI: * https://puppet-master.etouch.net:3000 If you have a firewall running, please ensure the following TCP ports are open: 8140, 61613, 3000 NOTICE: This system has 1.96 GB of memory, which is below the 4 GB we recommend for the puppet master role. Although this node will be a fully functional puppet master, you may experience poor performance with large numbers of nodes. You can improve the puppet master's performance by increasing its memory. Thanks On Friday, September 28, 2012 11:26:26 AM UTC-7, skrishna12 wrote: Hi I downloaded puppet master puppet-enterprise-2.6.0-el-5-x86_64 on centos 5.2 server. When I tried to install , I got the following error messages. ! ERROR:
[Puppet Users] Re: Apply multiple defines in sequence
Thanks again for you reply, but it seems like you don't fully understand what I'm having problems with. So I'll try to clarify it a little more: 1. The current way of using two defines is working flawlessly. So I (at least partly) understand the concepts surrounding those. 2. Because I have two types of machines: some with just sugar and some with sugar and wordpress, I now use two defines that overlap in part (define1 contains all kinds of info about creating sugar db + unpacking tar, etc, while define2 contains all the sugar info of define1 + stuff about creating a wordpress db + unpacking wp tar, etc), this means editing two files when I change something in the sugar define. As this can lead to differing configurations because of editing errors (and always twice the work), I would like to be able to split the defines up, so I can call define1 (sugar) on all machines and define1 (sugar) and sefine 2 (wordpress) on the other machines. 3. Some of the variables are shared, for example the mysqld_pwd is used twice, and I add a different suffix for sugar and wordpress to get two databases. For the httpd-configuration, I specify a different template, which is easy to to with defines. So all instances have unique resources, hence the choice for defines, not classes. Does this help you help me? On Thursday, November 1, 2012 3:27:10 PM UTC+1, Erwin Bogaard wrote: I'm having trouble getting the following scenario to work: - I have two defines, for example 'sugar' and 'wordpress'. - Some nodes need to have both applied, others only sugar. - Because you can't use the same resource twice (not that I want to), I can't figure out how to apply two separate defines to one resource At the moment I use the following workaround: I have two defines, one with only sugar and one with both sugar and wordpress. As I have to change both files if I change something for Sugar, this really isn't optimal. Anyone a suggestion? -- 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/-/rPV6a-6SduwJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] puppetdb postgresql Connection refused
Greetings, we are trying to setup puppetdb, nut our clients get the following error: Warning: Unable to fetch my node definition, but the agent run will continue: Warning: Error 400 on SERVER: Could not retrieve facts for lxa7t.unix.lan: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Info: Retrieving plugin Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryhugepages.rb Info: Loading facts in /var/lib/puppet/lib/facter/bstoragemanufacturer.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmmax.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmall.rb Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run The puppetdb is remote for the puppetmaster and is using postgresql. Direct connect from puppetmaster to the postgresql puppetdb is vaild. We don't see any hint in the logfiles. R/ Daniel -- 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/-/wOXZdv8QliQJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] Defining dynamic cron jobs
Hi all, I have a application that I schedule via cron. This is a application that runs once a week, either on Tuesday or Thursday. The scheduling is now done via Puppet. I now see that I need to redefine this, on some nodes the application should for example only run the 3. Tuesday each month, not each Tuesday. I want to do the scheduling using puppet and parameterized classes. For example I want to be able to define: foo {'Tuesday': week = '3', hour = '18', minute = '00', } This should generate a cron job ( that changes every month). For November it should look like this: 00 18 20 11 * /usr/bin/foo Next month the crontab entry should be changed to: 00 18 18 20 * /usr/bin/foo Has anyone done anything similar and are willing to give me some input on how to solve this? / Alexander -- 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 NetApp Network device management...
Hi all Following on from my previous post Puppet Network Devices..https://groups.google.com/forum/?fromgroups=#!topic/puppet-users/fuXshtYmhhkI've now started work on creating a NetApp network device provider for Puppet... I'm trying to start simply by just gathering some facts from our filers. The code soo far is available here: https://github.com/fatmcgav/shrug-netapp/ Credit to the original author shrug for setting out the framework... Anyhow, onto my first challenge. I've downloaded and added the relevant NetApp SDK files into * modules/shrug-netapp/lib/puppet/util/network_device/netapp/* as shown below: $ ls -l modules/shrug-netapp/lib/puppet/util/network_device/netapp/ total 88 -rw-r--r--. 1 puppet puppet 924 Nov 2 17:13 device.rb -rw-r--r--. 1 puppet puppet 8229 Nov 2 17:16 DfmErrno.rb -rw-r--r--. 1 puppet puppet 228 Nov 2 17:00 facts.rb -rw-r--r--. 1 puppet puppet 9451 Nov 2 17:16 NaElement.rb -rw-r--r--. 1 puppet puppet 36089 Nov 2 17:15 NaErrno.rb -rw-r--r--. 1 puppet puppet 19036 Nov 2 17:15 NaServer.rb The NaServer class is then included within the device.rb file above. However Puppet is currently failing with: Info: starting applying configuration to actint-star-nactl01 at actint-star-nactl01 Error: Could not run: no such file to load -- NaElement This NaElement file is require'd by the NaServer class. However it seems to be failing due to the include path not including the NaElement.rb file... Therefore I'm guessing that Puppet/Ruby is looking for the NaElement file in some default location, rather than the same location as the NaServer class... I've generated the same error on some tests scripts by moving the NetApp SDK files into a sdk sub folder, and then just *require sdk/NaServer* in my script, which generates a very similar error: ruby hello_ontapi.rb 192.168.35.118 root xxx ./sdk/NaServer.rb:21:in `require': no such file to load -- NaElement (LoadError) from ./sdk/NaServer.rb:21 from hello_ontapi.rb:24:in `require' from hello_ontapi.rb:24 Any ideas how I could work around this? Cheers Gavin -- 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/-/m2-tzSNj7QwJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] puppetdb postgresql Connection refused
On Mon, Nov 05, 2012 at 01:40:18AM -0800, linux@bami wrote: Greetings, we are trying to setup puppetdb, nut our clients get the following error: Warning: Unable to fetch my node definition, but the agent run will continue: Warning: Error 400 on SERVER: Could not retrieve facts for lxa7t.unix.lan: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Info: Retrieving plugin Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryhugepages.rb Info: Loading facts in /var/lib/puppet/lib/facter/bstoragemanufacturer.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmmax.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmall.rb Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run The puppetdb is remote for the puppetmaster and is using postgresql. Can you post your puppet.conf master section and puppetdb.conf please? Direct connect from puppetmaster to the postgresql puppetdb is vaild. By direct you mean that you can run puppet agent -t on the master and it's working? Did you try to connect to the database only with telnet as described here - http://docs.puppetlabs.com/puppetdb/0.9/install.html#troubleshooting-installation-problems We don't see any hint in the logfiles. R/ Daniel Best, Nikola -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: Puppet NetApp Network device management...
Ok, after a bit more googling, have solved the NaElement load error... Tweaked the NaServer.rb file as follows: #require 'NaElement' require File.dirname(__FILE__) + /NaElement I've now successfully loaded the require Netapp SDK files, and started working through the connection process... Though it looks like it's hit another error: Debug: Puppet::Device::Netapp: connecting to Netapp device actint-star-nactl01. Debug: Puppet::Device::Netapp: configdir is . Error: Can't load netapp for actint-star-nactl01: undefined method `+' for nil:NilClass Tracked the above back to *device.rb*, where it's attempting to use * 'Puppet[:configdir]'* but is failing to find the value... So now to work out what's going on there :) Cheers Gav On Monday, 5 November 2012 10:47:56 UTC, Gavin Williams wrote: Hi all Following on from my previous post Puppet Network Devices..https://groups.google.com/forum/?fromgroups=#!topic/puppet-users/fuXshtYmhhkI've now started work on creating a NetApp network device provider for Puppet... I'm trying to start simply by just gathering some facts from our filers. The code soo far is available here: https://github.com/fatmcgav/shrug-netapp/ Credit to the original author shrug for setting out the framework... Anyhow, onto my first challenge. I've downloaded and added the relevant NetApp SDK files into * modules/shrug-netapp/lib/puppet/util/network_device/netapp/* as shown below: $ ls -l modules/shrug-netapp/lib/puppet/util/network_device/netapp/ total 88 -rw-r--r--. 1 puppet puppet 924 Nov 2 17:13 device.rb -rw-r--r--. 1 puppet puppet 8229 Nov 2 17:16 DfmErrno.rb -rw-r--r--. 1 puppet puppet 228 Nov 2 17:00 facts.rb -rw-r--r--. 1 puppet puppet 9451 Nov 2 17:16 NaElement.rb -rw-r--r--. 1 puppet puppet 36089 Nov 2 17:15 NaErrno.rb -rw-r--r--. 1 puppet puppet 19036 Nov 2 17:15 NaServer.rb The NaServer class is then included within the device.rb file above. However Puppet is currently failing with: Info: starting applying configuration to actint-star-nactl01 at actint-star-nactl01 Error: Could not run: no such file to load -- NaElement This NaElement file is require'd by the NaServer class. However it seems to be failing due to the include path not including the NaElement.rb file... Therefore I'm guessing that Puppet/Ruby is looking for the NaElement file in some default location, rather than the same location as the NaServer class... I've generated the same error on some tests scripts by moving the NetApp SDK files into a sdk sub folder, and then just *require sdk/NaServer*in my script, which generates a very similar error: ruby hello_ontapi.rb 192.168.35.118 root xxx ./sdk/NaServer.rb:21:in `require': no such file to load -- NaElement (LoadError) from ./sdk/NaServer.rb:21 from hello_ontapi.rb:24:in `require' from hello_ontapi.rb:24 Any ideas how I could work around this? Cheers Gavin -- 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/-/PFZpeJZd03sJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: puppetdb postgresql Connection refused
Hi Nikola, thanks for the response! here are our configs: cat /etc/puppet/puppet.conf [main] server = lx1ml.unix.lan logdir = /var/log/puppet rundir = /var/run/puppet confdir = /app/puppet/etc vardir = /app/puppet/var ssldir = $vardir/ssl modulepath = $confdir/modules manifest = $confdir/manifests/site.pp pluginsync = true [master] certname = lx1ml.unix.lan dns_alt_names = lx1ml.unix.lan ssl_client_header = SSL_CLIENT_S_DN ssl_client_verify_header = SSL_CLIENT_VERIFY reports = tagmail,http reportfrom = linux-supp...@xx.de #reporturl = http://lx1ml.unix.lan:3000/reports/upload storeconfigs = true storeconfigs_backend = puppetdb #facts_terminus = yaml #facts_terminus = inventory_active_record #dbadapter = mysql #dbname = dashboard #dbuser = dashboard #dbpassword = x #dbserver = puppetdb.unix.lan #dbport = [production] modulepath = /app/puppet/env/production/modules manifest = /app/puppet/env/production/manifests/site.pp [development] modulepath = /app/puppet/env/development/modules manifest = /app/puppet/env/development/manifests/site.pp cat /etc/puppet/puppetdb.conf [main] server = lxj2j.unix.lan port = 8081 Direkt connect from the puppetmaster to the puppetdb postgresql via psql [lx1ml ~]# psql -h lxj2j -U puppetdb -d puppetdb Telnet Connect is working: [root@lx1ml ~]# telnet lxj2j 8081 Trying 172.20.250.153... Connected to lxj2j. Escape character is '^]'. ^CConnection closed by foreign host. Puppetdb config from lxj2j: cat /etc/puppetdb/conf.d/jetty.ini [jetty] # Hostname to list for clear-text HTTP. Default is localhost #host = localhost # Port to listen on for clear-text HTTP. port = 8080 ssl-host = lxj2j.unix.lan ssl-port = 8081 keystore = /etc/puppetdb/ssl/keystore.jks truststore = /etc/puppetdb/ssl/truststore.jks removed passwords from output [root@lxj2j data]# cat /etc/puppetdb/conf.d/database.ini |grep -v ^# [database] classname = org.postgresql.Driver subprotocol = postgresql subname = //localhost:5432/puppetdb log-slow-statements = 10 syntax_pgs = true gc-interval = 60 username = puppetdb password = puppetdb Greetings Daniel Am Montag, 5. November 2012 10:40:18 UTC+1 schrieb linux@bami: Greetings, we are trying to setup puppetdb, nut our clients get the following error: Warning: Unable to fetch my node definition, but the agent run will continue: Warning: Error 400 on SERVER: Could not retrieve facts for lxa7t.unix.lan: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Info: Retrieving plugin Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryhugepages.rb Info: Loading facts in /var/lib/puppet/lib/facter/bstoragemanufacturer.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmmax.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmall.rb Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run The puppetdb is remote for the puppetmaster and is using postgresql. Direct connect from puppetmaster to the postgresql puppetdb is vaild. We don't see any hint in the logfiles. R/ Daniel -- 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/-/VI1kAWjPLPEJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: Puppet NetApp Network device management...
Ok, have fixed that error aswell... Replaced *':configdir' *with *':confdir'*. However it's now failing due to the netapp.yml file not being present... What's confused me is the path it's come up with for *':confdir'*. According to the debug output, it's trying to use ESC[0;36mDebugESC[0m: Puppet::Device::Netapp: connecting to Netapp device actint-star-nactl01. ESC[0;36mDebugESC[0m: Puppet::Device::Netapp: configdir is /var/lib/puppet/devices/actint-star-nactl01. However I would prefer it to use */etc/puppet* on the master... Any way I could do this, other than hard-coding? Cheers Gavin On Monday, 5 November 2012 11:24:16 UTC, Gavin Williams wrote: Ok, after a bit more googling, have solved the NaElement load error... Tweaked the NaServer.rb file as follows: #require 'NaElement' require File.dirname(__FILE__) + /NaElement I've now successfully loaded the require Netapp SDK files, and started working through the connection process... Though it looks like it's hit another error: Debug: Puppet::Device::Netapp: connecting to Netapp device actint-star-nactl01. Debug: Puppet::Device::Netapp: configdir is . Error: Can't load netapp for actint-star-nactl01: undefined method `+' for nil:NilClass Tracked the above back to *device.rb*, where it's attempting to use * 'Puppet[:configdir]'* but is failing to find the value... So now to work out what's going on there :) Cheers Gav On Monday, 5 November 2012 10:47:56 UTC, Gavin Williams wrote: Hi all Following on from my previous post Puppet Network Devices..https://groups.google.com/forum/?fromgroups=#!topic/puppet-users/fuXshtYmhhkI've now started work on creating a NetApp network device provider for Puppet... I'm trying to start simply by just gathering some facts from our filers. The code soo far is available here: https://github.com/fatmcgav/shrug-netapp/ Credit to the original author shrug for setting out the framework... Anyhow, onto my first challenge. I've downloaded and added the relevant NetApp SDK files into * modules/shrug-netapp/lib/puppet/util/network_device/netapp/* as shown below: $ ls -l modules/shrug-netapp/lib/puppet/util/network_device/netapp/ total 88 -rw-r--r--. 1 puppet puppet 924 Nov 2 17:13 device.rb -rw-r--r--. 1 puppet puppet 8229 Nov 2 17:16 DfmErrno.rb -rw-r--r--. 1 puppet puppet 228 Nov 2 17:00 facts.rb -rw-r--r--. 1 puppet puppet 9451 Nov 2 17:16 NaElement.rb -rw-r--r--. 1 puppet puppet 36089 Nov 2 17:15 NaErrno.rb -rw-r--r--. 1 puppet puppet 19036 Nov 2 17:15 NaServer.rb The NaServer class is then included within the device.rb file above. However Puppet is currently failing with: Info: starting applying configuration to actint-star-nactl01 at actint-star-nactl01 Error: Could not run: no such file to load -- NaElement This NaElement file is require'd by the NaServer class. However it seems to be failing due to the include path not including the NaElement.rb file... Therefore I'm guessing that Puppet/Ruby is looking for the NaElement file in some default location, rather than the same location as the NaServer class... I've generated the same error on some tests scripts by moving the NetApp SDK files into a sdk sub folder, and then just *require sdk/NaServer*in my script, which generates a very similar error: ruby hello_ontapi.rb 192.168.35.118 root xxx ./sdk/NaServer.rb:21:in `require': no such file to load -- NaElement (LoadError) from ./sdk/NaServer.rb:21 from hello_ontapi.rb:24:in `require' from hello_ontapi.rb:24 Any ideas how I could work around this? Cheers Gavin -- 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/-/UCHkWT5GWG0J. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] compiling ruby on HP-UX / PA-RISC
On Monday, November 5, 2012 4:27:54 PM UTC+11, Michael Stanhke wrote: 1. You may need to file a bug with ruby-lang.org 2. Would static linking help at all with being maintainable? Thanks Michael. Actually static linking should be fine - I didn't think of it. I also raised a bug as you suggested, https://bugs.ruby-lang.org/issues/7279. I'll see how it goes. -- 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/-/bIVrG6etHBMJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: Call for Speakers for PuppetCamp Singapore dec 3rd
Anyone, noone? The PC has been confirmed now, you can sign up here: https://www.flickevents.com/puppetcamp-sea-blk-71 Looking forward to seeing you there! Walter On Wednesday, 31 October 2012 23:26:52 UTC+1, Walter Heck - OlinData.com wrote: Hello, after doing a successful PuppetCamp in Kuala Lumpur last June, we are now in the works of organising a PC in Singapore. This will be the first PC in Singapore and the 2nd in Southeast Asia. The date is December 3rd and the location will be the amongst startups famous Blk 71. PuppetLabs is sending a speaker (currently 90% confirmed), and we're looking into doing a second session over a Live Hangout. Besides that we're looking for other speakers interested to come and talk about Puppet. If you have any questions or want to propose a session, feel free to respond here publicly or to me privately. Keep an eye out for the opening of the registrations, we expect quite a busy day! regards, -- Walter Heck Founder // OlinData -- Puppet training and consulting @ http://www.olindata.com Follow @olindata on Twitter and/or 'Like' our Facebook page at http://www.facebook.com/olindata -- 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/-/VT4hVIpf9g0J. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: puppetdb postgresql Connection refused
On Mon, Nov 05, 2012 at 03:32:21AM -0800, linux@bami wrote: Hi Nikola, thanks for the response! here are our configs: cat /etc/puppet/puppet.conf [main] server = lx1ml.unix.lan logdir = /var/log/puppet rundir = /var/run/puppet confdir = /app/puppet/etc vardir = /app/puppet/var ssldir = $vardir/ssl modulepath = $confdir/modules manifest = $confdir/manifests/site.pp pluginsync = true [master] certname = lx1ml.unix.lan dns_alt_names = lx1ml.unix.lan ssl_client_header = SSL_CLIENT_S_DN ssl_client_verify_header = SSL_CLIENT_VERIFY reports = tagmail,http reportfrom = linux-supp...@xx.de #reporturl = http://lx1ml.unix.lan:3000/reports/upload storeconfigs = true storeconfigs_backend = puppetdb #facts_terminus = yaml #facts_terminus = inventory_active_record #dbadapter = mysql #dbname = dashboard #dbuser = dashboard #dbpassword = x #dbserver = puppetdb.unix.lan #dbport = [production] modulepath = /app/puppet/env/production/modules manifest = /app/puppet/env/production/manifests/site.pp [development] modulepath = /app/puppet/env/development/modules manifest = /app/puppet/env/development/manifests/site.pp cat /etc/puppet/puppetdb.conf [main] server = lxj2j.unix.lan port = 8081 Direkt connect from the puppetmaster to the puppetdb postgresql via psql [lx1ml ~]# psql -h lxj2j -U puppetdb -d puppetdb Telnet Connect is working: [root@lx1ml ~]# telnet lxj2j 8081 Trying 172.20.250.153... Connected to lxj2j. Escape character is '^]'. ^CConnection closed by foreign host. Puppetdb config from lxj2j: cat /etc/puppetdb/conf.d/jetty.ini [jetty] # Hostname to list for clear-text HTTP. Default is localhost #host = localhost # Port to listen on for clear-text HTTP. port = 8080 ssl-host = lxj2j.unix.lan ssl-port = 8081 keystore = /etc/puppetdb/ssl/keystore.jks truststore = /etc/puppetdb/ssl/truststore.jks removed passwords from output [root@lxj2j data]# cat /etc/puppetdb/conf.d/database.ini |grep -v ^# [database] classname = org.postgresql.Driver subprotocol = postgresql subname = //localhost:5432/puppetdb log-slow-statements = 10 syntax_pgs = true gc-interval = 60 username = puppetdb password = puppetdb Greetings Daniel Am Montag, 5. November 2012 10:40:18 UTC+1 schrieb linux@bami: Greetings, we are trying to setup puppetdb, nut our clients get the following error: Warning: Unable to fetch my node definition, but the agent run will continue: Warning: Error 400 on SERVER: Could not retrieve facts for lxa7t.unix.lan: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Info: Retrieving plugin Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryhugepages.rb Info: Loading facts in /var/lib/puppet/lib/facter/bstoragemanufacturer.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmmax.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmall.rb Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run The puppetdb is remote for the puppetmaster and is using postgresql. Direct connect from puppetmaster to the postgresql puppetdb is vaild. We don't see any hint in the logfiles. R/ Daniel Strange ;; everything seems fine to me. Recheck the logs of the master, the agent and the db please. Can you also make sure that you have a signed certificate on the puppetdb host as described here - http://docs.puppetlabs.com/puppetdb/0.9/install.html#step-1-install-and-configure-puppet. i.e make sure that puppet agent -t runs properly there. P.S. Also did you add a routes.yaml file? Best, Nikola -- 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] Defining dynamic cron jobs
On Mon, Nov 5, 2012 at 4:23 AM, Alexander Holte-Davidsen alexander.david...@gmail.com wrote: Hi all, I have a application that I schedule via cron. This is a application that runs once a week, either on Tuesday or Thursday. The scheduling is now done via Puppet. I now see that I need to redefine this, on some nodes the application should for example only run the 3. Tuesday each month, not each Tuesday. I want to do the scheduling using puppet and parameterized classes. For example I want to be able to define: foo {'Tuesday': week = '3', hour = '18', minute = '00', } This should generate a cron job ( that changes every month). For November it should look like this: 00 18 20 11 * /usr/bin/foo Next month the crontab entry should be changed to: 00 18 18 20 * /usr/bin/foo Hmmm. Should that be: 00 18 18 12 * ? 20 is an invalid month. Has anyone done anything similar and are willing to give me some input on how to solve this? Instead of using the wildcard ('*') month, could you (simply) specify the months? 0 18 20 1 * 0 18 18 2 * 0 18 20 3 * 0 18 18 4 * 0 18 20 5 * 0 18 18 6 * 0 18 20 7 * 0 18 18 8 * 0 18 20 9 * 0 18 18 10 * 0 18 20 11 * 0 18 18 12 * -mz -- 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: puppetdb postgresql Connection refused
Hi Nikola, yes on the puppet master there ist a routes.yaml [root@lx1ml puppet]# cat routes.yaml --- master: facts: terminus: puppetdb cache: yaml And the puppet agent -t runs fine on the puppetdb if we remove the storeconfig settings from our master puppet.conf Is it possible to increase the jetty log, because we don't the any connection attempts or Connection refused. greetings daniel Am Montag, 5. November 2012 10:40:18 UTC+1 schrieb linux@bami: Greetings, we are trying to setup puppetdb, nut our clients get the following error: Warning: Unable to fetch my node definition, but the agent run will continue: Warning: Error 400 on SERVER: Could not retrieve facts for lxa7t.unix.lan: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Info: Retrieving plugin Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryhugepages.rb Info: Loading facts in /var/lib/puppet/lib/facter/bstoragemanufacturer.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmmax.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmall.rb Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run The puppetdb is remote for the puppetmaster and is using postgresql. Direct connect from puppetmaster to the postgresql puppetdb is vaild. We don't see any hint in the logfiles. R/ Daniel -- 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/-/OxMm0hZvrTcJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] Defining dynamic cron jobs
You cannot directly set up a cron job to run on the N-th (day-of-the-week). From the manpage crontab(5): Note: The day of a command’s execution can be specified by two fields — day of month, and day of week. If both fields are restricted (ie, aren’t *), the command will be run when either field matches the current time. For example, 30 4 1,15 * 5 would cause a command to be run at 4:30 am on the 1st and 15th of each month, plus every Friday. -- To get a script that runs on the N-th Tuesday, I did this: today=`date +%u` if [ $today -eq $1 ] then fi Then, I call the script from cron like this: # Run patch script on second Tuesday of every month 05 02 8-14 * * root /usr/local/scripts/cronScript.sh 2 - So, the script will run once a day from the 8th thru the 14th and only execute the guts of the conditional on Tuesday Adjust the day-of-the-month field accordingly to get the week you want. “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: Alexander Holte-Davidsen alexander.david...@gmail.com To: puppet-users@googlegroups.com Sent: Monday, November 5, 2012 5:23:24 AM Subject: [Puppet Users] Defining dynamic cron jobs Hi all, I have a application that I schedule via cron. This is a application that runs once a week, either on Tuesday or Thursday. The scheduling is now done via Puppet. I now see that I need to redefine this, on some nodes the application should for example only run the 3. Tuesday each month, not each Tuesday. I want to do the scheduling using puppet and parameterized classes. For example I want to be able to define: foo {'Tuesday': week = '3', hour = '18', minute = '00', } This should generate a cron job ( that changes every month). For November it should look like this: 00 18 20 11 * /usr/bin/foo Next month the crontab entry should be changed to: 00 18 18 20 * /usr/bin/foo Has anyone done anything similar and are willing to give me some input on how to solve this? / Alexander -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: puppetdb postgresql Connection refused
Hi, so we figured out the first problem. We had an alias puppetdb.fqdn which was pointing to out puppet dashboard db. It seems that despite from the entry in the puppetdb.conf, puppet uses puppetdb as database server. we changed the alias and now we are getting an ssl error: Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [unable to get local issuer certificate for /CN=lxj2j.unix.lan] Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run any idea ?! thanks and greetings. Daniel Am Montag, 5. November 2012 14:36:39 UTC+1 schrieb linux@bami: Hi Nikola, yes on the puppet master there ist a routes.yaml [root@lx1ml puppet]# cat routes.yaml --- master: facts: terminus: puppetdb cache: yaml And the puppet agent -t runs fine on the puppetdb if we remove the storeconfig settings from our master puppet.conf Is it possible to increase the jetty log, because we don't the any connection attempts or Connection refused. greetings daniel Am Montag, 5. November 2012 10:40:18 UTC+1 schrieb linux@bami: Greetings, we are trying to setup puppetdb, nut our clients get the following error: Warning: Unable to fetch my node definition, but the agent run will continue: Warning: Error 400 on SERVER: Could not retrieve facts for lxa7t.unix.lan: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Info: Retrieving plugin Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryhugepages.rb Info: Loading facts in /var/lib/puppet/lib/facter/bstoragemanufacturer.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmmax.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmall.rb Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run The puppetdb is remote for the puppetmaster and is using postgresql. Direct connect from puppetmaster to the postgresql puppetdb is vaild. We don't see any hint in the logfiles. R/ Daniel -- 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/-/atH0EqHpJrUJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] Bug when using array in file resource?
On Monday, November 5, 2012 12:37:45 AM UTC-6, pdurkin wrote: I'm not convinced that Justin wasn't correct about this being a bug. I'm having a similar issue How many people do you need to tell you that the behavior you observe is intended? File a ticket against the documentation if you like, but the behavior is as designed, well-entrenched, broadly relied-upon, and useful. class myclass (...) { # some extra stuff here $file_list = [ 'a', 'b' ..., 'n' ] file { $file_list : ensure = 'file', source = puppet://modules/myclass/$title, path = /tmp/$title } results in the cannot alias file [a] to [/tmp/myclass]. For some reason the resource title in my file is resolving to the class name rather than the file name. Yes. That's as it should be. Variables are always resolved in the innermost scope in which they appear. Other than the top-level scope, scopes are established only by node bocks, definition bodies, and class bodies. In particular, they are *not* established by resource declarations such as your example file declaration. Nor is there a functionality gap -- Nan already explained how to get the behavior you want. The solution provided above seems to change the semantics. myclass becomes a defined type instead and the list of files is moved outside and passed in as multiple instances are created. That's a work around. You are hypothesizing an implementation to criticize, instead of considering how to model your problem in a way that harmonizes with Puppet. Consider this: define mymodule::modulefile() { file { $name : ensure = 'file', source = puppet:///mymodule/$name, path = /tmp/$name } } class mymodule::myclass { $file_list = [ 'a', 'b' ..., 'n' ] mymodule::modulefile { $file_list : } } Your class remains a class, and continues to define the file list itself. The definition 'mymodule::modulefile' represents a type of file that has the particular relationship you want between its 'path' and 'source'. Another would be to not use a list and simply define each file separately in the class, that avoids having to use the $title to abstract the definition into a single resource definition. I can do that quite easily but in my case I have about 100 files so it makes this much less readable. Found someone had already explained the issue here: http://www.nico.schottelius.org/blog/puppet-name-is-not-as-expected-but-classname/ . Does anyone have an answer as to why $title in this case is resolving to the class title rather than the resource title? Is that expected and is there a variable I could use instead that would resolve to the name of the resource I'm declaring rather than the class or defined type I'm declaring it in? I also tested this and it's not to do with the list, if I use put in each file individually and use $title or $name it still resolves to the class name Look at it another way: if you were invoking a function, would you expect variable references among the parameters to be resolved by the caller or by the function? They are resolved by the caller, of course. Resource declarations are not function calls, but they work analogously in this regard. 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/-/OmwBZ88LvzIJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: Apply multiple defines in sequence
On Monday, November 5, 2012 3:48:58 AM UTC-6, Erwin Bogaard wrote: Thanks again for you reply, but it seems like you don't fully understand what I'm having problems with. So I'll try to clarify it a little more: 1. The current way of using two defines is working flawlessly. So I (at least partly) understand the concepts surrounding those. 2. Because I have two types of machines: some with just sugar and some with sugar and wordpress, I now use two defines that overlap in part (define1 contains all kinds of info about creating sugar db + unpacking tar, etc, while define2 contains all the sugar info of define1 + stuff about creating a wordpress db + unpacking wp tar, etc), this means editing two files when I change something in the sugar define. As this can lead to differing configurations because of editing errors (and always twice the work), I would like to be able to split the defines up, so I can call define1 (sugar) on all machines and define1 (sugar) and sefine 2 (wordpress) on the other machines. 3. Some of the variables are shared, for example the mysqld_pwd is used twice, and I add a different suffix for sugar and wordpress to get two databases. For the httpd-configuration, I specify a different template, which is easy to to with defines. So all instances have unique resources, hence the choice for defines, not classes. Does this help you help me? No, not really. You have been relatively clear about what you are trying to accomplish, but I don't understand what is preventing you from accomplishing it. Perhaps that means you're stumbling over something that seems trivial to me. For example, if the real question is how to share data between two or more defined types, then you have at least three choices: 1. Define the data in a class, and have each definition reference the class variables instead of taking that data in the form of parameters. 2. Externalize the data (e.g. into an Hiera data store), and have each definition reference the needed values by the same fixed key. 3. Record the data in global variables, and have each definition reference the global values. (I wouldn't recommend this one except as a temporary hack.) If that doesn't help then perhaps you should try reducing the problem to the simplest possible example that captures the issue. Often such an exercise will itself help you work out the problem, but if it doesn't then we can be a lot more helpful to you with actual (simple) manifests to critique. 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/-/X60w8VUoFjIJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: puppetdb postgresql Connection refused
On Mon, Nov 05, 2012 at 05:36:39AM -0800, linux@bami wrote: Hi Nikola, yes on the puppet master there ist a routes.yaml [root@lx1ml puppet]# cat routes.yaml --- master: facts: terminus: puppetdb cache: yaml And the puppet agent -t runs fine on the puppetdb if we remove the storeconfig settings from our master puppet.conf Is it possible to increase the jetty log, because we don't the any connection attempts or Connection refused. Well on my machine the file is at /etc/puppetdb/log4j.properties. There you can configure the logging level which in my case is INFO and this should be more than enough. Did you check the system log for your environment for problems. For example on my ubuntu machine most of the messages from the master go to /var/log/syslog. Where are you looking for the puppetdb and puppet logs greetings daniel Best, Nikola Am Montag, 5. November 2012 10:40:18 UTC+1 schrieb linux@bami: Greetings, we are trying to setup puppetdb, nut our clients get the following error: Warning: Unable to fetch my node definition, but the agent run will continue: Warning: Error 400 on SERVER: Could not retrieve facts for lxa7t.unix.lan: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Info: Retrieving plugin Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryhugepages.rb Info: Loading facts in /var/lib/puppet/lib/facter/bstoragemanufacturer.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmmax.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmall.rb Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run The puppetdb is remote for the puppetmaster and is using postgresql. Direct connect from puppetmaster to the postgresql puppetdb is vaild. We don't see any hint in the logfiles. R/ Daniel -- 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/-/OxMm0hZvrTcJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: puppetdb postgresql Connection refused
On Mon, Nov 05, 2012 at 06:26:35AM -0800, linux@bami wrote: Hi, so we figured out the first problem. We had an alias puppetdb.fqdn which was pointing to out puppet dashboard db. It seems that despite from the entry in the puppetdb.conf, puppet uses puppetdb as database server. we changed the alias and now we are getting an ssl error: Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [unable to get local issuer certificate for /CN=lxj2j.unix.lan] Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run This looks like an SSL error to me. Try to remove the storeconfigs and make a clean puppet agent -t from puppetdb host before you enable it again. any idea ?! thanks and greetings. Daniel Am Montag, 5. November 2012 14:36:39 UTC+1 schrieb linux@bami: Hi Nikola, yes on the puppet master there ist a routes.yaml [root@lx1ml puppet]# cat routes.yaml --- master: facts: terminus: puppetdb cache: yaml And the puppet agent -t runs fine on the puppetdb if we remove the storeconfig settings from our master puppet.conf Is it possible to increase the jetty log, because we don't the any connection attempts or Connection refused. greetings daniel Am Montag, 5. November 2012 10:40:18 UTC+1 schrieb linux@bami: Greetings, we are trying to setup puppetdb, nut our clients get the following error: Warning: Unable to fetch my node definition, but the agent run will continue: Warning: Error 400 on SERVER: Could not retrieve facts for lxa7t.unix.lan: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Info: Retrieving plugin Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryhugepages.rb Info: Loading facts in /var/lib/puppet/lib/facter/bstoragemanufacturer.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmmax.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmall.rb Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run The puppetdb is remote for the puppetmaster and is using postgresql. Direct connect from puppetmaster to the postgresql puppetdb is vaild. We don't see any hint in the logfiles. R/ Daniel -- 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/-/atH0EqHpJrUJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: Puppet NetApp Network device management...
Me again... I pressed on using the /var/lib/puppet... configdir for the time-being, and with a bit more jiggery pokery, I've managed to successfully register a NetApp device, and extract some facts from it... And here's the photographic proof :) :D http://ow.ly/i/15SLN Now to start looking at how to handle the next steps, such as volume creation, quota creation, export creation... :D Latest code has been pushed to Githubhttps://github.com/fatmcgav/fatmcgav-netapp ... Still need to work out how to use a central confdir rather than agent specific ones, but can come back to that :) Cheers Gavin On Monday, 5 November 2012 11:35:26 UTC, Gavin Williams wrote: Ok, have fixed that error aswell... Replaced *':configdir' *with *':confdir'*. However it's now failing due to the netapp.yml file not being present... What's confused me is the path it's come up with for *':confdir'*. According to the debug output, it's trying to use ESC[0;36mDebugESC[0m: Puppet::Device::Netapp: connecting to Netapp device actint-star-nactl01. ESC[0;36mDebugESC[0m: Puppet::Device::Netapp: configdir is /var/lib/puppet/devices/actint-star-nactl01. However I would prefer it to use */etc/puppet* on the master... Any way I could do this, other than hard-coding? Cheers Gavin On Monday, 5 November 2012 11:24:16 UTC, Gavin Williams wrote: Ok, after a bit more googling, have solved the NaElement load error... Tweaked the NaServer.rb file as follows: #require 'NaElement' require File.dirname(__FILE__) + /NaElement I've now successfully loaded the require Netapp SDK files, and started working through the connection process... Though it looks like it's hit another error: Debug: Puppet::Device::Netapp: connecting to Netapp device actint-star-nactl01. Debug: Puppet::Device::Netapp: configdir is . Error: Can't load netapp for actint-star-nactl01: undefined method `+' for nil:NilClass Tracked the above back to *device.rb*, where it's attempting to use * 'Puppet[:configdir]'* but is failing to find the value... So now to work out what's going on there :) Cheers Gav On Monday, 5 November 2012 10:47:56 UTC, Gavin Williams wrote: Hi all Following on from my previous post Puppet Network Devices..https://groups.google.com/forum/?fromgroups=#!topic/puppet-users/fuXshtYmhhkI've now started work on creating a NetApp network device provider for Puppet... I'm trying to start simply by just gathering some facts from our filers. The code soo far is available here: https://github.com/fatmcgav/shrug-netapp/ Credit to the original author shrug for setting out the framework... Anyhow, onto my first challenge. I've downloaded and added the relevant NetApp SDK files into * modules/shrug-netapp/lib/puppet/util/network_device/netapp/* as shown below: $ ls -l modules/shrug-netapp/lib/puppet/util/network_device/netapp/ total 88 -rw-r--r--. 1 puppet puppet 924 Nov 2 17:13 device.rb -rw-r--r--. 1 puppet puppet 8229 Nov 2 17:16 DfmErrno.rb -rw-r--r--. 1 puppet puppet 228 Nov 2 17:00 facts.rb -rw-r--r--. 1 puppet puppet 9451 Nov 2 17:16 NaElement.rb -rw-r--r--. 1 puppet puppet 36089 Nov 2 17:15 NaErrno.rb -rw-r--r--. 1 puppet puppet 19036 Nov 2 17:15 NaServer.rb The NaServer class is then included within the device.rb file above. However Puppet is currently failing with: Info: starting applying configuration to actint-star-nactl01 at actint-star-nactl01 Error: Could not run: no such file to load -- NaElement This NaElement file is require'd by the NaServer class. However it seems to be failing due to the include path not including the NaElement.rb file... Therefore I'm guessing that Puppet/Ruby is looking for the NaElement file in some default location, rather than the same location as the NaServer class... I've generated the same error on some tests scripts by moving the NetApp SDK files into a sdk sub folder, and then just *require sdk/NaServer*in my script, which generates a very similar error: ruby hello_ontapi.rb 192.168.35.118 root xxx ./sdk/NaServer.rb:21:in `require': no such file to load -- NaElement (LoadError) from ./sdk/NaServer.rb:21 from hello_ontapi.rb:24:in `require' from hello_ontapi.rb:24 Any ideas how I could work around this? Cheers Gavin -- 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/-/tYRDCDwxjlsJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: puppetdb postgresql Connection refused
Hi, we solved the problem. removed all files from /etc/puppetdb/ssl and ran /usr/sbin/puppetdb-ssl-setup. Thanks for the support!! greetings Daniel Am Montag, 5. November 2012 16:07:43 UTC+1 schrieb nikolavp: On Mon, Nov 05, 2012 at 05:36:39AM -0800, linux@bami wrote: Hi Nikola, yes on the puppet master there ist a routes.yaml [root@lx1ml puppet]# cat routes.yaml --- master: facts: terminus: puppetdb cache: yaml And the puppet agent -t runs fine on the puppetdb if we remove the storeconfig settings from our master puppet.conf Is it possible to increase the jetty log, because we don't the any connection attempts or Connection refused. Well on my machine the file is at /etc/puppetdb/log4j.properties. There you can configure the logging level which in my case is INFO and this should be more than enough. Did you check the system log for your environment for problems. For example on my ubuntu machine most of the messages from the master go to /var/log/syslog. Where are you looking for the puppetdb and puppet logs greetings daniel Best, Nikola Am Montag, 5. November 2012 10:40:18 UTC+1 schrieb linux@bami: Greetings, we are trying to setup puppetdb, nut our clients get the following error: Warning: Unable to fetch my node definition, but the agent run will continue: Warning: Error 400 on SERVER: Could not retrieve facts for lxa7t.unix.lan: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Info: Retrieving plugin Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryhugepages.rb Info: Loading facts in /var/lib/puppet/lib/facter/bstoragemanufacturer.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmmax.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmall.rb Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run The puppetdb is remote for the puppetmaster and is using postgresql. Direct connect from puppetmaster to the postgresql puppetdb is vaild. We don't see any hint in the logfiles. R/ Daniel -- 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/-/OxMm0hZvrTcJ. 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/-/QuC4XBMIDjoJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] tags and template
I'm trying to use tags in templates. I have a resource declared as : define apache::instance($instance_name=$title,$mpm='worker') { tag(declared-apache-$instance_name) ... } this resource is called in the class apache : class apache{ ... apache::instance{$instances: } } and then a class declared is called after the apache class : class{'declared::log': require = Class['apache'] } this class create a file : class declared::log { file {'/var/lib/puppet/declared.txt': content = template('declared/declared.txt.erb'), mode= '0640', owner = 'root', group = '0', } } And then in declared.txt.erb, I enumerated every tags : % all_tags.sort.each do |tag| -% The tag %= tag % is defined % end -% % tags.sort.each do |tag| -% The tag %= tag % is part of the current scope % end -% So the file /var/lib/puppet/declared.txt is created after the tag declared-apache-$instance_name has been created. But in the file /var/lib/puppet/declared.txt, I can't see this tag. I see all the implicite tags, for example : ... The tag apache is defined ... So I'm sure it have been created in the right order, after the class apache. But my manually declared tag is nowhere to be seen. Does someone have any idea what am i doing wrong ? -- 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 3.0 rspec and custom resources
So I dug into this a little more. It has something to do with how puppet is loading the type definitions. There appears to be some kind of cache that gets loaded with type definitions when the first manifest gets processed. If the first test that gets run is for a class that contains all the types necessary for classes that get tested later everything runs fine. If on the other hand if the first test run is for a class that doesn't contain all the types used in later classes the later test fails. Given the example I posted This works correctly. rspec spec/classes/test_spec.rb spec/classes/test__c_spec.rb This doesn't rspec spec/classes/test__c_spec.rb spec/classes/test_spec.rb Running them both separately works too. On Monday, October 29, 2012 2:48:25 PM UTC-5, Nathan Huff wrote: Looks like the subnamespace thing isn't important either. Just having two classes triggers this as well. On Monday, October 29, 2012 1:13:05 PM UTC-5, Nathan Huff wrote: OK so I have what I think is a minimal test case here: https://github.com/nhuff/spec-failure The readme has a list of gems I have installed in it. You seem to need spec tests for two classes, one of which is in a sub namespace of the other. In this case 'test' and 'test::c'. With both spec files in place the system complains about anchor not being defined. If you remove the test file for test::c the test for class test will pass. -- 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/-/6MSfkla3fzMJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] err: Could not request certificate when I run puppet device
1. I get the following error when I run “puppet device’ err: Could not request certificate: Could not write /var/opt/lib/pe-puppet/devices/certname/ssl/private_keys/certname.pem to privatekeydir: Permission denied - /var/opt/lib/pe-puppet/devices/certname/ssl/private_keys/certname.pem Any thought? 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/-/rcg_UPtqyEsJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: err: Could not request certificate when I run puppet device
Looks like a file permissions error - I had similar when I started playing with puppet device... Check if the user you're running puppet as has permissions to write to '/var/opt/lib/pe-puppet/devices'. HTH Gav On Monday, 5 November 2012 16:18:03 UTC, meiji wang wrote: 1. I get the following error when I run “puppet device’ err: Could not request certificate: Could not write /var/opt/lib/pe-puppet/devices/certname/ssl/private_keys/certname.pem to privatekeydir: Permission denied - /var/opt/lib/pe-puppet/devices/certname/ssl/private_keys/certname.pem Any thought? 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/-/BOdba0ATai4J. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: Puppet NetApp Network device management...
Ok, moving on then... I've created a 'netapp_volume' type and provider, and am trying to test it against one of the existing NetApp device nodes: *manifests/site.pp* contains: node 'actint-star-nactl01' { # Test NetApp volume provider netapp_volume { 'v_puppet_test': ensure = present, } } When running *'puppet device -v'*, I get: $ sudo puppet device -v Info: starting applying configuration to actint-star-nactl01 at actint-star-nactl01 Warning: Local environment: production doesn't match server specified node environment development, switching agent to development. Info: Retrieving plugin /File[/var/lib/puppet/devices/actint-star-nactl01/lib/puppet/type/netapp_volume.rb]/content: content changed '{md5}2f3e20a3878f9ed94a5fffc4a9811ef7' to '{md5}ebe14c73783c97063d9b6ae0bc791896' Error: Could not autoload puppet/provider/netapp_volume/netapp_volume: uninitialized constant Puppet::Provider::Netapp Error: Could not autoload puppet/type/netapp_volume: Could not autoload puppet/provider/netapp_volume/netapp_volume: uninitialized constant Puppet::Provider::Netapp Error: Could not retrieve catalog from remote server: Could not intern from pson: Could not autoload puppet/type/netapp_volume: Could not autoload puppet/provider/netapp_volume/netapp_volume: uninitialized constant Puppet::Provider::Netapp Using cached catalog Info: Applying configuration version '1352132516' Error: /Stage[main]//Node[actint-star-nactl01]/Netapp_volume[v_puppet_test]: Could not evaluate: No ability to determine if netapp_volume exists Finished catalog run in 0.21 seconds So it's failing to autoload my new provider, however I'm not sure what 'uninitialised constant' means :s The class *Puppet::Provider::Netapp* is defined in * lib/puppet/provider/netapp.rb*. I've pushed the latest edits into Githubhttps://github.com/fatmcgav/fatmcgav-netapp. Ideas welcome. Cheers Gavin On Monday, 5 November 2012 15:26:08 UTC, Gavin Williams wrote: Me again... I pressed on using the /var/lib/puppet... configdir for the time-being, and with a bit more jiggery pokery, I've managed to successfully register a NetApp device, and extract some facts from it... And here's the photographic proof :) :D http://ow.ly/i/15SLN Now to start looking at how to handle the next steps, such as volume creation, quota creation, export creation... :D Latest code has been pushed to Githubhttps://github.com/fatmcgav/fatmcgav-netapp ... Still need to work out how to use a central confdir rather than agent specific ones, but can come back to that :) Cheers Gavin On Monday, 5 November 2012 11:35:26 UTC, Gavin Williams wrote: Ok, have fixed that error aswell... Replaced *':configdir' *with *':confdir'*. However it's now failing due to the netapp.yml file not being present... What's confused me is the path it's come up with for *':confdir'*. According to the debug output, it's trying to use ESC[0;36mDebugESC[0m: Puppet::Device::Netapp: connecting to Netapp device actint-star-nactl01. ESC[0;36mDebugESC[0m: Puppet::Device::Netapp: configdir is /var/lib/puppet/devices/actint-star-nactl01. However I would prefer it to use */etc/puppet* on the master... Any way I could do this, other than hard-coding? Cheers Gavin On Monday, 5 November 2012 11:24:16 UTC, Gavin Williams wrote: Ok, after a bit more googling, have solved the NaElement load error... Tweaked the NaServer.rb file as follows: #require 'NaElement' require File.dirname(__FILE__) + /NaElement I've now successfully loaded the require Netapp SDK files, and started working through the connection process... Though it looks like it's hit another error: Debug: Puppet::Device::Netapp: connecting to Netapp device actint-star-nactl01. Debug: Puppet::Device::Netapp: configdir is . Error: Can't load netapp for actint-star-nactl01: undefined method `+' for nil:NilClass Tracked the above back to *device.rb*, where it's attempting to use * 'Puppet[:configdir]'* but is failing to find the value... So now to work out what's going on there :) Cheers Gav On Monday, 5 November 2012 10:47:56 UTC, Gavin Williams wrote: Hi all Following on from my previous post Puppet Network Devices..https://groups.google.com/forum/?fromgroups=#!topic/puppet-users/fuXshtYmhhkI've now started work on creating a NetApp network device provider for Puppet... I'm trying to start simply by just gathering some facts from our filers. The code soo far is available here: https://github.com/fatmcgav/shrug-netapp/ Credit to the original author shrug for setting out the framework... Anyhow, onto my first challenge. I've downloaded and added the relevant NetApp SDK files into * modules/shrug-netapp/lib/puppet/util/network_device/netapp/* as shown below: $ ls -l modules/shrug-netapp/lib/puppet/util/network_device/netapp/ total 88 -rw-r--r--. 1 puppet
Re: [Puppet Users] intercept/pre-process cert request?
On Mon, Oct 29, 2012 at 04:36:44PM -0700, Lou wrote: Hi Lou, I'm assuming this is possible, but I can't find a good starting point anywhere, so I'm hoping someone here can help. What I want to do is, somewhere in the cert approval process, run an extra check before saying yes. Is this even possible, and if so, how do I accomplish it? Even pointers to the code that gets executed would help, but I'd really like to avoid mucking with the ca code itself and just add something in the chain. Filtering on domain in autosign.conf is not sufficient. I've got some sample code to do this (in puppet 2.6) that might be helpful https://groups.google.com/forum/?fromgroups=#!topic/puppet-dev/FR0KCOCIrrE It's an intrusive change to the code base so it might not be a good fit but it might give you some hints. Dean -- Dean Wilson http://www.unixdaemon.net @unixdaemon http://www.puppetcookbook.com @puppetcookbook -- 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: puppetdb postgresql Connection refused
On Mon, Nov 05, 2012 at 07:52:02AM -0800, linux@bami wrote: Hi, we solved the problem. removed all files from /etc/puppetdb/ssl and ran /usr/sbin/puppetdb-ssl-setup. Thanks for the support!! greetings Daniel I am glad that you managed to solve it. Best, Nikola Am Montag, 5. November 2012 16:07:43 UTC+1 schrieb nikolavp: On Mon, Nov 05, 2012 at 05:36:39AM -0800, linux@bami wrote: Hi Nikola, yes on the puppet master there ist a routes.yaml [root@lx1ml puppet]# cat routes.yaml --- master: facts: terminus: puppetdb cache: yaml And the puppet agent -t runs fine on the puppetdb if we remove the storeconfig settings from our master puppet.conf Is it possible to increase the jetty log, because we don't the any connection attempts or Connection refused. Well on my machine the file is at /etc/puppetdb/log4j.properties. There you can configure the logging level which in my case is INFO and this should be more than enough. Did you check the system log for your environment for problems. For example on my ubuntu machine most of the messages from the master go to /var/log/syslog. Where are you looking for the puppetdb and puppet logs greetings daniel Best, Nikola Am Montag, 5. November 2012 10:40:18 UTC+1 schrieb linux@bami: Greetings, we are trying to setup puppetdb, nut our clients get the following error: Warning: Unable to fetch my node definition, but the agent run will continue: Warning: Error 400 on SERVER: Could not retrieve facts for lxa7t.unix.lan: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Info: Retrieving plugin Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryhugepages.rb Info: Loading facts in /var/lib/puppet/lib/facter/bstoragemanufacturer.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmmax.rb Info: Loading facts in /var/lib/puppet/lib/facter/bmemoryshmall.rb Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for lxa7t.unix.lan to PuppetDB at puppetdb:8081: Connection refused - connect(2) Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run The puppetdb is remote for the puppetmaster and is using postgresql. Direct connect from puppetmaster to the postgresql puppetdb is vaild. We don't see any hint in the logfiles. R/ Daniel -- 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/-/OxMm0hZvrTcJ. 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/-/QuC4XBMIDjoJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: Puppet NetApp Network device management...
Looks like the below error was caused by some locally cached code that hadn't been updated by my Git pull :s Resolved that, and now am getting the following: $ sudo puppet device -v Info: starting applying configuration to actint-star-nactl01 at actint-star-nactl01 Warning: Local environment: production doesn't match server specified node environment development, switching agent to development. Info: Retrieving plugin /File[/var/lib/puppet/devices/actint-star-nactl01/lib/puppet]/mode: mode changed '0775' to '0755' /File[/var/lib/puppet/devices/actint-star-nactl01/lib/puppet/provider]/mode: mode changed '0775' to '0755' /File[/var/lib/puppet/devices/actint-star-nactl01/lib/puppet/provider/netapp.rb]/content: content changed '{md5}399796914d8aeb68387455de5b24f735' to '{md5}3be2121ab99116c4bc89db21d5d4b54b' /File[/var/lib/puppet/devices/actint-star-nactl01/lib/puppet/provider/netapp_volume/netapp_volume.rb]/content: content changed '{md5}46b2a0004e0245c577974e7a645e08f7' to '{md5}1b06628868826a8ea64744a7ae8ec8da' /File[/var/lib/puppet/devices/actint-star-nactl01/lib/puppet/type]/mode: mode changed '0775' to '0755' /File[/var/lib/puppet/devices/actint-star-nactl01/lib/puppet/type/netapp_volume.rb]/content: content changed '{md5}ebe14c73783c97063d9b6ae0bc791896' to '{md5}2fb244482c7d760e6cc132f104be619d' /File[/var/lib/puppet/devices/actint-star-nactl01/lib/puppet/util/network_device/netapp/facts.rb]/content: content changed '{md5}c7e59e79e19486cba9ae7e5314b2a061' to '{md5}b0c912dc663d5251219bbad895455834' /File[/var/lib/puppet/devices/actint-star-nactl01/lib/puppet/util/network_device/netapp/device.rb]/content: content changed '{md5}7354a748bd41582fcf76bf2643098fcd' to '{md5}9d2e26f97c7ea6ea16177acb8df85714' /File[/var/lib/puppet/devices/actint-star-nactl01/lib/puppet/util/network_device/netapp/NaServer.rb]/content: content changed '{md5}cd815964f9a2dfe757f5365a848b80d5' to '{md5}63f12abed9d1145b6d326c9fc06eb0c0' Info: Caching catalog for actint-star-nactl01 Info: Applying configuration version '1352132516' Error: /Stage[main]//Node[actint-star-nactl01]/Netapp_volume[v_puppet_test]: Could not evaluate: undefined method `transport' for #Puppet::Util::NetworkDevice::Netapp::Device:0x7ff3142c80f8 Finished catalog run in 0.11 seconds If I change *provider/netapp_volume/netapp_volume.rb *as follows*:* /File[/var/lib/puppet/lib/puppet/provider/netapp_volume/netapp_volume.rb]/content: --- /var/lib/puppet/lib/puppet/provider/netapp_volume/netapp_volume.rb 2012-11-05 17:26:56.257616498 + +++ /tmp/puppet-file20121105-8521-10tepn6-0 2012-11-05 17:40:16.440612301 + @@ -19,7 +19,7 @@ def exists? Puppet.debug(Puppet::Provider::Netapp_volume: checking existance of Netapp Volume #{resource[:name]}) -transport.invoke(volume-list-info).include?(resource[:name]) +@transport.invoke(volume-list-info).include?(resource[:name]) end I get: Info: starting applying configuration to actint-star-nactl01 at actint-star-nactl01 Warning: Local environment: production doesn't match server specified node environment development, switching agent to development. Info: Retrieving plugin /File[/var/lib/puppet/devices/actint-star-nactl01/lib/puppet/provider/netapp_volume/netapp_volume.rb]/content: content changed '{md5}1b06628868826a8ea64744a7ae8ec8da' to '{md5}feb535835cefd0921c8be5d0af6e11f2' Info: Caching catalog for actint-star-nactl01 Info: Applying configuration version '1352132516' Error: /Stage[main]//Node[actint-star-nactl01]/Netapp_volume[v_puppet_test]: Could not evaluate: undefined method `invoke' for nil:NilClass Finished catalog run in 0.20 seconds So not sure why it's not working either way... Any ideas??? Cheers Gavin On Monday, 5 November 2012 16:44:15 UTC, Gavin Williams wrote: Ok, moving on then... I've created a 'netapp_volume' type and provider, and am trying to test it against one of the existing NetApp device nodes: *manifests/site.pp* contains: node 'actint-star-nactl01' { # Test NetApp volume provider netapp_volume { 'v_puppet_test': ensure = present, } } When running *'puppet device -v'*, I get: $ sudo puppet device -v Info: starting applying configuration to actint-star-nactl01 at actint-star-nactl01 Warning: Local environment: production doesn't match server specified node environment development, switching agent to development. Info: Retrieving plugin /File[/var/lib/puppet/devices/actint-star-nactl01/lib/puppet/type/netapp_volume.rb]/content: content changed '{md5}2f3e20a3878f9ed94a5fffc4a9811ef7' to '{md5}ebe14c73783c97063d9b6ae0bc791896' Error: Could not autoload puppet/provider/netapp_volume/netapp_volume: uninitialized constant Puppet::Provider::Netapp Error: Could not autoload puppet/type/netapp_volume: Could not autoload puppet/provider/netapp_volume/netapp_volume:
Re: [Puppet Users] mco status returns different number of hosts each time I run it
posted reply in mcollective-users group. Sorry for duplicate posts. On Friday, November 2, 2012 11:34:39 AM UTC-7, R.I. Pienaar wrote: - Original Message - From: Bill James billj...@gmail.com javascript: To: puppet...@googlegroups.com javascript: Sent: Friday, November 2, 2012 6:07:00 PM Subject: [Puppet Users] mco status returns different number of hosts each time I run it trying to use mco to run commands on hosts I don't get the full list of hosts. Doing a command like mco puppetd --with-fact domain= test.j2noc.com status returns a different number of hosts each time. How do I get it to use the full list? Will need to see some debug logs, when you run this command and you have a node that does not respond in debug logging mode what do you see in the logs. Do you see the same behaviour with 'mco ping' when using the same filter? -- 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/-/3MVFv1Z4nxQJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] shouldn't this be considered a bug?
So I thought puppet didn't care about the order of things unless specifically told. However I've come across one case where it apparently does care. This works as expected: node /^univ\d+\.foo\.edu$/ { $myvar = foo include module_that_uses_myvar } This one doesn't work as expected node /^univ\d+\.foo\.edu$/ { include module_that_uses_myvar $myvar = foo } In the 2nd one, module_that_uses_myvar seems to think $myvar is undef or null or something that is most certainly not foo If it matters any, $myvar is actually used in an erb template that the module has. Our puppet master is 2.7.12 and the client is 2.6.17. I didn't see any bug reports about this. Is this a known problem or just not considered a bug? -- 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/-/Q_pDE14z0CYJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] shouldn't this be considered a bug?
To the best of my knowledge, it is resources that can be applied in any order, not scoped variables. Your puppet agent will create these files in any order, given that the file resources have no require/before dependencies: node myserver { file { '/tmp/1': content = 123\n, } file { '/tmp/2': content = 456\n, } } But here, no file will contain the string what: node myserver { file { '/tmp/1': content = ${what}123\n, } file { '/tmp/2': content = ${what}456\n, } $var = 'what' } On Mon, Nov 05, 2012 at 12:06:08PM -0800, Jist Anidiot wrote: So I thought puppet didn't care about the order of things unless specifically told. However I've come across one case where it apparently does care. This works as expected: node /^univ\d+\.foo\.edu$/ { $myvar = foo include module_that_uses_myvar } This one doesn't work as expected node /^univ\d+\.foo\.edu$/ { include module_that_uses_myvar $myvar = foo } In the 2nd one, module_that_uses_myvar seems to think $myvar is undef or null or something that is most certainly not foo If it matters any, $myvar is actually used in an erb template that the module has. Our puppet master is 2.7.12 and the client is 2.6.17. I didn't see any bug reports about this. Is this a known problem or just not considered a bug? -- 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/-/Q_pDE14z0CYJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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/-/Q_pDE14z0CYJ -- 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: Apply multiple defines in sequence
As I'm in over my head, let's supply you with (part of) the manifests in question: The define: define sugar::definitions_sug_wp ( $template = 'sugar/etc/httpd/conf.d/sugar6x.conf.erb', $client_domain = $title, $mysql_rootpwd = $mysql_password, $mysql_dbname, $mysql_pwd, $sugar_admin, $sugar_pwd, ) { # This is for example to create the httpd.conf and the sugar-folder. So this has to be in both. As you can see, I parametrized the httpd-conf, so I can specify it in my class. Also, the ${client_domain}-variable is used throughout this define. file { /etc/httpd/conf.d/sug-${client_domain}.conf: content = template($template), owner = 'root', group = 'root', mode= '0644', notify = Service['httpd']; /var/log/sugar/${client_domain}: ensure = 'directory'; } # The following is specific to the WordPress-installation and doesn't need to be applied to every machine. So this part isn't in the define 'define sugar::definitions_sug'. file { # Configuratie van publieke html /var/www/html/${client_domain}: owner = 'apache', group = 'apache', mode= '0744', ensure = 'directory'; # Configuratiefile WordPress /var/www/html/${client_domain}/wp-config.php: owner = 'apache', group = 'apache', mode= '0744', require = File[/var/www/html/${client_domain}], content = template('sugar/wordpress/wp-config.php.erb'); I call both defines ('sugar::definitions_sug_wp' and 'define sugar::definitions_sug') in the following class: class sugar::instances { sugar::definitions_sug { # SugarCRM - ECM2 'node1': mysql_dbname = 'dbname1', mysql_pwd= 'password1'; sugar::definitions_sug_wp { 'node2': sugar_admin = 'text1', sugar_pwd= 'password2', mysql_dbname = 'dbname2', mysql_pwd= 'password3'; I include this class on one node to get several sugar-only vhosts and several sugar+wordpress-nodes on that node. Hope this helps you explain things to me! On Monday, November 5, 2012 3:41:37 PM UTC+1, jcbollinger wrote: On Monday, November 5, 2012 3:48:58 AM UTC-6, Erwin Bogaard wrote: Thanks again for you reply, but it seems like you don't fully understand what I'm having problems with. So I'll try to clarify it a little more: 1. The current way of using two defines is working flawlessly. So I (at least partly) understand the concepts surrounding those. 2. Because I have two types of machines: some with just sugar and some with sugar and wordpress, I now use two defines that overlap in part (define1 contains all kinds of info about creating sugar db + unpacking tar, etc, while define2 contains all the sugar info of define1 + stuff about creating a wordpress db + unpacking wp tar, etc), this means editing two files when I change something in the sugar define. As this can lead to differing configurations because of editing errors (and always twice the work), I would like to be able to split the defines up, so I can call define1 (sugar) on all machines and define1 (sugar) and sefine 2 (wordpress) on the other machines. 3. Some of the variables are shared, for example the mysqld_pwd is used twice, and I add a different suffix for sugar and wordpress to get two databases. For the httpd-configuration, I specify a different template, which is easy to to with defines. So all instances have unique resources, hence the choice for defines, not classes. Does this help you help me? No, not really. You have been relatively clear about what you are trying to accomplish, but I don't understand what is preventing you from accomplishing it. Perhaps that means you're stumbling over something that seems trivial to me. For example, if the real question is how to share data between two or more defined types, then you have at least three choices: 1. Define the data in a class, and have each definition reference the class variables instead of taking that data in the form of parameters. 2. Externalize the data (e.g. into an Hiera data store), and have each definition reference the needed values by the same fixed key. 3. Record the data in global variables, and have each definition reference the global values. (I wouldn't recommend this one except as a temporary hack.) If that doesn't help then perhaps you should try reducing the problem to the simplest possible example that captures the issue. Often such an exercise will itself help you work out the problem, but if it doesn't then we can be a lot more helpful to you with actual (simple) manifests to critique. 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/-/OtbcKBd0GgIJ. To post to this group,
[Puppet Users] Re: Apply multiple defines in sequence
After my previous post, I did some more thinking and reasearch. What do you think about: - using an if/else-conditional. Would that work? - using virtual resources? would that work? On Monday, November 5, 2012 9:17:11 PM UTC+1, Erwin Bogaard wrote: As I'm in over my head, let's supply you with (part of) the manifests in question: The define: define sugar::definitions_sug_wp ( $template = 'sugar/etc/httpd/conf.d/sugar6x.conf.erb', $client_domain = $title, $mysql_rootpwd = $mysql_password, $mysql_dbname, $mysql_pwd, $sugar_admin, $sugar_pwd, ) { # This is for example to create the httpd.conf and the sugar-folder. So this has to be in both. As you can see, I parametrized the httpd-conf, so I can specify it in my class. Also, the ${client_domain}-variable is used throughout this define. file { /etc/httpd/conf.d/sug-${client_domain}.conf: content = template($template), owner = 'root', group = 'root', mode= '0644', notify = Service['httpd']; /var/log/sugar/${client_domain}: ensure = 'directory'; } # The following is specific to the WordPress-installation and doesn't need to be applied to every machine. So this part isn't in the define 'define sugar::definitions_sug'. file { # Configuratie van publieke html /var/www/html/${client_domain}: owner = 'apache', group = 'apache', mode= '0744', ensure = 'directory'; # Configuratiefile WordPress /var/www/html/${client_domain}/wp-config.php: owner = 'apache', group = 'apache', mode= '0744', require = File[/var/www/html/${client_domain}], content = template('sugar/wordpress/wp-config.php.erb'); I call both defines ('sugar::definitions_sug_wp' and 'define sugar::definitions_sug') in the following class: class sugar::instances { sugar::definitions_sug { # SugarCRM - ECM2 'node1': mysql_dbname = 'dbname1', mysql_pwd= 'password1'; sugar::definitions_sug_wp { 'node2': sugar_admin = 'text1', sugar_pwd= 'password2', mysql_dbname = 'dbname2', mysql_pwd= 'password3'; I include this class on one node to get several sugar-only vhosts and several sugar+wordpress-nodes on that node. Hope this helps you explain things to me! On Monday, November 5, 2012 3:41:37 PM UTC+1, jcbollinger wrote: On Monday, November 5, 2012 3:48:58 AM UTC-6, Erwin Bogaard wrote: Thanks again for you reply, but it seems like you don't fully understand what I'm having problems with. So I'll try to clarify it a little more: 1. The current way of using two defines is working flawlessly. So I (at least partly) understand the concepts surrounding those. 2. Because I have two types of machines: some with just sugar and some with sugar and wordpress, I now use two defines that overlap in part (define1 contains all kinds of info about creating sugar db + unpacking tar, etc, while define2 contains all the sugar info of define1 + stuff about creating a wordpress db + unpacking wp tar, etc), this means editing two files when I change something in the sugar define. As this can lead to differing configurations because of editing errors (and always twice the work), I would like to be able to split the defines up, so I can call define1 (sugar) on all machines and define1 (sugar) and sefine 2 (wordpress) on the other machines. 3. Some of the variables are shared, for example the mysqld_pwd is used twice, and I add a different suffix for sugar and wordpress to get two databases. For the httpd-configuration, I specify a different template, which is easy to to with defines. So all instances have unique resources, hence the choice for defines, not classes. Does this help you help me? No, not really. You have been relatively clear about what you are trying to accomplish, but I don't understand what is preventing you from accomplishing it. Perhaps that means you're stumbling over something that seems trivial to me. For example, if the real question is how to share data between two or more defined types, then you have at least three choices: 1. Define the data in a class, and have each definition reference the class variables instead of taking that data in the form of parameters. 2. Externalize the data (e.g. into an Hiera data store), and have each definition reference the needed values by the same fixed key. 3. Record the data in global variables, and have each definition reference the global values. (I wouldn't recommend this one except as a temporary hack.) If that doesn't help then perhaps you should try reducing the problem to the simplest possible example that captures the issue. Often such an exercise will itself help you work out the problem, but if it doesn't then we
Re: [Puppet Users] Re: Apply multiple defines in sequence
In regard to: [Puppet Users] Re: Apply multiple defines in sequence, Erwin...: Thanks again for you reply, but it seems like you don't fully understand what I'm having problems with. So I'll try to clarify it a little more: 1. The current way of using two defines is working flawlessly. So I (at least partly) understand the concepts surrounding those. 2. Because I have two types of machines: some with just sugar and some with sugar and wordpress, I now use two defines that overlap in part (define1 contains all kinds of info about creating sugar db + unpacking tar, etc, while define2 contains all the sugar info of define1 + stuff about creating a wordpress db + unpacking wp tar, etc), this means editing two files when I change something in the sugar define. So have one additional parameter to your define, sugar_with_wordpress = 'no' and then in the body of your define, after you've done all the necessary setup for sugar, that is always present, have if $sugar_with_wordpress == 'yes' { # wordpress-specific stuff here } I use yes/no strings instead of boolean true/false because you'll eventually want to have those settings come from hiera, and as things currently stand booleans from hiera are just a trap for the unwary. I would actually do the wordpress stuff as a separate class, which has its own wordpress::instance define, and then call that define from within your sugar::instance define. Tim -- Tim Mooney tim.moo...@ndsu.edu Enterprise Computing Infrastructure 701-231-1076 (Voice) Room 242-J6, IACC Building 701-231-8541 (Fax) North Dakota State University, Fargo, ND 58105-5164 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: shouldn't this be considered a bug?
On Monday, November 5, 2012 2:06:09 PM UTC-6, Jist Anidiot wrote: So I thought puppet didn't care about the order of things unless specifically told. However I've come across one case where it apparently does care. You had a serious misunderstanding. Puppet has numerous sensitivities to the order in which it parses declarations in your manifests. You were probably thinking about how Puppet does not promise to apply resources in any particular order unless you tell it otherwise by declaring relationships, but there it's *you* who may not care, not Puppet. This works as expected: node /^univ\d+\.foo\.edu$/ { $myvar = foo include module_that_uses_myvar } This one doesn't work as expected node /^univ\d+\.foo\.edu$/ { include module_that_uses_myvar $myvar = foo } In the 2nd one, module_that_uses_myvar seems to think $myvar is undef or null or something that is most certainly not foo If it matters any, $myvar is actually used in an erb template that the module has. Our puppet master is 2.7.12 and the client is 2.6.17. I didn't see any bug reports about this. Is this a known problem or just not considered a bug? It is not considered a bug. It is the manifest author's responsibility to ensure that any reference to a class, resource, or variable is preceded by a declaration of that entity in Puppet's parse order. Use of dynamically-scoped variables is considered poor practice, however, including any use of node-scoped variables outside their node blocks. Your v. 2.7 master ought to be emitting warnings about that. 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/-/28RuMye2nc8J. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: err: Could not request certificate when I run puppet device
Although I change the mode to 0777, Puppet forces the mode to 0750 debug: /File[/var/opt/lib/pe-puppet/devices/certname/state]: Autorequiring File[/var/opt/lib/pe-puppet/devices/certname] debug: /File[/var/opt/lib/pe-puppet/devices/certname/clientbucket]/mode: mode changed '0777' to '0750' debug: /File[/var/opt/lib/pe-puppet/devices/certname/ssl]/mode: mode changed '0777' to '0771' debug: /File[/var/opt/lib/pe-puppet/devices/certname/ssl/private]/mode: mode changed '0777' to '0750' debug: /File[/var/opt/lib/pe-puppet/devices/certname/state]/mode: mode changed '0777' to '1755' debug: /File[/var/opt/lib/pe-puppet/devices/certname/ssl/private_keys]/mode: mode changed '0777' to '0750' debug: /File[/var/opt/lib/pe-puppet/devices/certname/client_yaml]/mode: mode changed '0777' to '0750' debug: /File[/var/opt/lib/pe-puppet/devices/certname/client_data]/mode: mode changed '0777' to '0750' info: Creating a new SSL key for certname .. err: Could not request certificate: Could not write /var/opt/lib/pe-puppet/devices/certname/ssl/private_keys/certname.pem to privatekeydir: Permission denied - /var/opt/lib/pe-puppet/devices/certname/ssl/private_keys/certname.pem then Puppet throws error message.. Meiji On Monday, November 5, 2012 8:18:03 AM UTC-8, meiji wang wrote: 1. I get the following error when I run “puppet device’ err: Could not request certificate: Could not write /var/opt/lib/pe-puppet/devices/certname/ssl/private_keys/certname.pem to privatekeydir: Permission denied - /var/opt/lib/pe-puppet/devices/certname/ssl/private_keys/certname.pem Any thought? 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/-/CEDQ4q9o5uEJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] Run Exec without notifying Puppet as a change
I just switched from an in-house APT module to the Puppetlabs one thinking that it may solve this, but after looking at the code (And installing to confirm) it did not. Seeing Puppet be notified of a change just when `apt-get update` is run is a bit annoying to me. I was wondering if there was a way to avoid notifying Puppet of a change when an Exec command is run? (Or if there's another way we can run this) TJ -- 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/-/fN1guXxULUMJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: err: Could not request certificate when I run puppet device
Try changing the file owner/group to match what you're running puppet as... Gav On 5 November 2012 20:51, meiji wang wangme...@gmail.com wrote: Although I change the mode to 0777, Puppet forces the mode to 0750 debug: /File[/var/opt/lib/pe-puppet/devices/certname/state]: Autorequiring File[/var/opt/lib/pe-puppet/devices/certname] debug: /File[/var/opt/lib/pe-puppet/devices/certname/clientbucket]/mode: mode changed '0777' to '0750' debug: /File[/var/opt/lib/pe-puppet/devices/certname/ssl]/mode: mode changed '0777' to '0771' debug: /File[/var/opt/lib/pe-puppet/devices/certname/ssl/private]/mode: mode changed '0777' to '0750' debug: /File[/var/opt/lib/pe-puppet/devices/certname/state]/mode: mode changed '0777' to '1755' debug: /File[/var/opt/lib/pe-puppet/devices/certname/ssl/private_keys]/mode: mode changed '0777' to '0750' debug: /File[/var/opt/lib/pe-puppet/devices/certname/client_yaml]/mode: mode changed '0777' to '0750' debug: /File[/var/opt/lib/pe-puppet/devices/certname/client_data]/mode: mode changed '0777' to '0750' info: Creating a new SSL key for certname .. err: Could not request certificate: Could not write /var/opt/lib/pe-puppet/devices/certname/ssl/private_keys/certname.pem to privatekeydir: Permission denied - /var/opt/lib/pe-puppet/devices/certname/ssl/private_keys/certname.pem then Puppet throws error message.. Meiji On Monday, November 5, 2012 8:18:03 AM UTC-8, meiji wang wrote: 1. I get the following error when I run “puppet device’ err: Could not request certificate: Could not write /var/opt/lib/pe-puppet/**devices/certname/ssl/private_**keys/certname.pem to privatekeydir: Permission denied - /var/opt/lib/pe-puppet/** devices/certname/ssl/private_**keys/certname.pem Any thought? 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/-/CEDQ4q9o5uEJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: Apply multiple defines in sequence
On Monday, November 5, 2012 2:17:11 PM UTC-6, Erwin Bogaard wrote: As I'm in over my head, let's supply you with (part of) the manifests in question: The define: define sugar::definitions_sug_wp ( $template = 'sugar/etc/httpd/conf.d/sugar6x.conf.erb', $client_domain = $title, $mysql_rootpwd = $mysql_password, $mysql_dbname, $mysql_pwd, $sugar_admin, $sugar_pwd, ) { # This is for example to create the httpd.conf and the sugar-folder. So this has to be in both. As you can see, I parametrized the httpd-conf, so I can specify it in my class. Also, the ${client_domain}-variable is used throughout this define. file { /etc/httpd/conf.d/sug-${client_domain}.conf: content = template($template), owner = 'root', group = 'root', mode= '0644', notify = Service['httpd']; /var/log/sugar/${client_domain}: ensure = 'directory'; } # The following is specific to the WordPress-installation and doesn't need to be applied to every machine. So this part isn't in the define 'define sugar::definitions_sug'. file { # Configuratie van publieke html /var/www/html/${client_domain}: owner = 'apache', group = 'apache', mode= '0744', ensure = 'directory'; # Configuratiefile WordPress /var/www/html/${client_domain}/wp-config.php: owner = 'apache', group = 'apache', mode= '0744', require = File[/var/www/html/${client_domain}], content = template('sugar/wordpress/wp-config.php.erb'); I call both defines ('sugar::definitions_sug_wp' and 'define sugar::definitions_sug') in the following class: class sugar::instances { sugar::definitions_sug { # SugarCRM - ECM2 'node1': mysql_dbname = 'dbname1', mysql_pwd= 'password1'; sugar::definitions_sug_wp { 'node2': sugar_admin = 'text1', sugar_pwd= 'password2', mysql_dbname = 'dbname2', mysql_pwd= 'password3'; I include this class on one node to get several sugar-only vhosts and several sugar+wordpress-nodes on that node. Hope this helps you explain things to me! You're still making me guess about what the actual problem is. Have you actually tried anything, or is this all hypothetical? If you tried and failed, then what error messages were produced? Bits and pieces of your manifests are not particularly helpful. I'm looking for something manageable that provides a complete example of the problem. Ideally something as stripped-down as possible. If you are totally new to Puppet then you might consider playing with a simplified model before moving on to a full-blown solution. My best guess at this point is that the problem -- if there is one -- concerns resources that both your definitions declare, such that you get duplicate resource declarations if you try to instantiate some combinations of those definitions. I suggested such a problem a couple of posts ago, however, and you more or less ignored it. If duplicate resource declarations are indeed the problem then the solution is simple: don't do that! Every managed resource should have exactly one owner -- generally either a class or defined-type instance. Resources should be declared only by their owners. If you stick to that -- remembering that defined-type instances are themselves resources -- then you will not have problems with duplicate resource declarations. So, what obstacles must you overcome to (re-)structure your manifests so that each resource has exactly one owner? (Not a rhetorical question.) Virtual resources and conditionals are some of the tools at your disposal for overcoming such obstacles, but it's all about how you use them. In particular, just making a declaration virtual does not inherently prevent duplicate declaration issues. Tim's suggestion of combining the definitions and using a parameter to direct whether to include WordPress components would be one possible solution. There are several others. Which would be best depends on the details of the problem. 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/-/XGFuEULdHvcJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: Apply multiple defines in sequence
John and Tim, thanks for your replies and patience. In the end, the solution of Tim seems to work great! That was what I was looking for: a relatively straight solution to a relatively straight problem (at least, that was what I thought to improve the previous situation). As a novice to intermediate Puppet user, I've again learned a lot about writing some nice manifests and getting things done the way I want to. On Thursday, November 1, 2012 3:27:10 PM UTC+1, Erwin Bogaard wrote: I'm having trouble getting the following scenario to work: - I have two defines, for example 'sugar' and 'wordpress'. - Some nodes need to have both applied, others only sugar. - Because you can't use the same resource twice (not that I want to), I can't figure out how to apply two separate defines to one resource At the moment I use the following workaround: I have two defines, one with only sugar and one with both sugar and wordpress. As I have to change both files if I change something for Sugar, this really isn't optimal. Anyone a suggestion? -- 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/-/rrpE72obmHwJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: Run Exec without notifying Puppet as a change
On Monday, November 5, 2012 3:03:57 PM UTC-6, Thomas Biddle wrote: I just switched from an in-house APT module to the Puppetlabs one thinking that it may solve this, but after looking at the code (And installing to confirm) it did not. Seeing Puppet be notified of a change just when `apt-get update` is run is a bit annoying to me. I was wondering if there was a way to avoid notifying Puppet of a change when an Exec command is run? (Or if there's another way we can run this) TJ ONly way I know of is to use a fake exec (calling /bin/true or /bin/false (so it'll raise an error if it does get called) or something like that.) and use an only if with the real command (the update). -- 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/-/rSh7yc3i0psJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: Puppet 3 on OSX, using Puppet gem and running as sudo requires puppet group/user
Hi Jean, you can track this issue under bug #9862 - https://projects.puppetlabs.com/issues/9862 So, yes you will need root or sudo to edit /etc/shells, that is just unix permissions at work; as an immediate workaround to the error you see with sudo you can run with '--group 0' (a number zero/null) on your command line. -=Eric On Friday, November 2, 2012 4:26:04 AM UTC-7, JeanMertz wrote: I'm trying to setup a Puppet script that bootstraps my development machine with some basic installs like Zsh shell, Vim, etc… I have these things working without using sudo to run puppet. However, now I need to modify /etc/shells to add the zsh shell to this list, but to edit this file, I need root rights, or else Puppet complaints: Error: Permission denied - /etc/shells.puppettmp_133 Error: /Stage[main]/Terminal/File[/etc/shells]/content: change from {md5}5fdb14bf853cd42fddc0ad142f09ca0f to {md5}296f3802eb243ce49756d1380f997cba failed: Permission denied - /etc/shells.puppettmp_133 Because of this, I tried running puppet as sudo, but now Puppet complaints that there is no puppet group present. Error: /File[/var/lib/puppet/log]: Could not evaluate: Could not find group puppet Debug: Finishing transaction 70276890808620 Error: Got 1 failure(s) while initializing: Could not evaluate: Could not find group puppet (I also tried setting the --logdest parameter to something that is accessible by any user, but that didn't work either) I'd like to keep my installation clean, and would love for puppet to run without having to add extra users/groups to my OS X installation. However, I guess it would be possible to create the user/group and remove them after the installation, but then the command listed on the installation page for puppet doesn't work: sudo puppet resource user puppet ensure=present gid=puppet shell='/sbin/nologin' # = Error: Could not run: undefined method `string' for nil:NilClass So my question is this: is there any way to run puppet on a single machine without using the puppet user/group (it worked without sudo, but doesn't when using sudo). And if not, what would be the best way to get things running and reset to a clean slate (ie. no extra users/groups/folders) after the installation is done? -- 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/-/tlYxvXQXFEkJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Announce: Puppet Dashboard 1.2.13 Available
Puppet Dashboard 1.2.13 is a maintenance and bugfix release of Puppet Dashboard. This release is available for download at: https://downloads.puppetlabs.com/dashboard/puppet-dashboard-1.2.13.tar.gz Debian packages are available at https://apt.puppetlabs.com RPM packages are available at https://yum.puppetlabs.com See the Verifying Puppet Download section at: http://projects.puppetlabs.com/projects/puppet/wiki/Downloading_Puppet Please report feedback via the Puppet Labs Redmine site, using an affected version of 1.2.13: http://projects.puppetlabs.com/projects/dashboard Documentation is available at: http://docs.puppetlabs.com/dashboard/index.html === ## Puppet Dashboard 1.2.13 Bug Fixes ## === (#17161) Fix stylesheet URLs for IE colorbox images The colorbox CSS looks for the IE images in /images/internet_explorer. The correct location is /stylesheets/images/internet_explorer. Update debian and redhat init script to use INT instead of term to stop Previously the debian init script didn't pass --signal to the start-stop-daemon, which defaults to TERM. Dashboard runs out of webrick by default, which catches and ignores TERM, but will respond to INT and stop sanely. Currently, running 'service puppet-dashboard stop' returns [2012-03-27 10:24:17] ERROR SignalException: SIGTERM /usr/lib/ruby/1.8/webrick/server.rb:91:in `select' and then waits for the retry timeout, at which point start-stop-daemon SIGKILLs the ruby process. If --signal is set to INT in the init script, running 'service puppet-dashboard stop' returns [2012-03-27 10:28:35] INFO going to shutdown ... [2012-03-27 10:28:35] INFO WEBrick::HTTPServer#start done. Exiting which is the expected behavior. The redhat init script suffered from a similar problem, adding -INT to the killproc call speeds up the `service puppet-dashboard stop` call as killproc doesn't need to wait and see if the process has ended, as INT is responded to immediately by webrick. (#9296) Fix loading rack for rubygems = 1.8 Rubygems version 1.8 broke some of the ways vendored gems used to work in Rails 2. This commit updates the config/environment.rb to add all of the gem libs to the rails autoload_paths. It also updates the actionpack action_controller library to not call out to gem explicitly. We know that the correct rack version is being supplied in the vendored gems, so the following require 'rack' line will succeed. This also munges the load path in config/boot.rb because boot.rb doesn't load environment.rb right away, and so can't find rack, due to the same gem problem. So this uses the same loop as in environment.rb, but instead of the rails autoload_paths, it adds the libs to $:, or $LOAD_PATH. === ## Puppet Dashboard 1.2.13 Changelog ## === Branan Purvine-Riley (1): c2e4a4a (#17161) Fix stylesheet URLs for IE colorbox images Matthaus Owens (3): a3f2588 (#9296) Fix loading rack for rubygems = 1.8 5378b46 Update debian and redhat init script to use INT instead of term to stop 7a38e19 Updating CHANGELOG, VERSION for 1.2.13. Updating .gitignore Moses Mendoza (1): ee6d3c3 Update VERSION, CHANGELOG for 1.2.13-rc1 -- 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] Class dependencies
hi all, How are you? I have a question on the class dependencies. This is my init.pp script looks like class mapr { Class['mapr::install'] - Class[mapr::config] include mapr::install, mapr::config } In my mapr::install class i have another few lines of includes statement to install different packages. Same goes to mapr::config. My Class dependency is not working at all when i put Class['mapr::install'] - Class[mapr::config] It executed config first before install, which is the one that i wish to do. can anyone educate me on this? 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/-/P4lthJvxmsgJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: Class dependencies
Yup, this is the classes-can't-contain-classes problem. It sucks, everyone runs into it eventually, and it's explained in detail here: http://docs.puppetlabs.com/puppet/3/reference/lang_containment.html#known-issues http://projects.puppetlabs.com/issues/8040 You'll need to use the anchor pattern (http://docs.puppetlabs.com/puppet/3/reference/lang_containment.html#workaround-the-anchor-pattern) to ensure that the interior classes get held in place inside their wrapper class. The platform development team uses votes in our issue tracker to help decide what they'll focus on next. If this problem bothered you a lot, please vote for issue 8040 here: http://projects.puppetlabs.com/issues/8040 Sorry for the inconvenience, and good luck. N On Monday, November 5, 2012 8:51:28 PM UTC-8, Hiu wrote: hi all, How are you? I have a question on the class dependencies. This is my init.pp script looks like class mapr { Class['mapr::install'] - Class[mapr::config] include mapr::install, mapr::config } In my mapr::install class i have another few lines of includes statement to install different packages. Same goes to mapr::config. My Class dependency is not working at all when i put Class['mapr::install'] - Class[mapr::config] It executed config first before install, which is the one that i wish to do. can anyone educate me on this? 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/-/rsa7EtHZLUsJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: Class dependencies
Thanks for the info. Do you have more descriptive explanation on the anchor pattern? From what you have pasted on this link isn't sound descriptive. Or can you give me a pattern of codes instead? thanks! On Tuesday, 6 November 2012 13:07:53 UTC+8, Nick Fagerlund wrote: Yup, this is the classes-can't-contain-classes problem. It sucks, everyone runs into it eventually, and it's explained in detail here: http://docs.puppetlabs.com/puppet/3/reference/lang_containment.html#known-issues http://projects.puppetlabs.com/issues/8040 You'll need to use the anchor pattern ( http://docs.puppetlabs.com/puppet/3/reference/lang_containment.html#workaround-the-anchor-pattern) to ensure that the interior classes get held in place inside their wrapper class. The platform development team uses votes in our issue tracker to help decide what they'll focus on next. If this problem bothered you a lot, please vote for issue 8040 here: http://projects.puppetlabs.com/issues/8040 Sorry for the inconvenience, and good luck. N On Monday, November 5, 2012 8:51:28 PM UTC-8, Hiu wrote: hi all, How are you? I have a question on the class dependencies. This is my init.pp script looks like class mapr { Class['mapr::install'] - Class[mapr::config] include mapr::install, mapr::config } In my mapr::install class i have another few lines of includes statement to install different packages. Same goes to mapr::config. My Class dependency is not working at all when i put Class['mapr::install'] - Class[mapr::config] It executed config first before install, which is the one that i wish to do. can anyone educate me on this? 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/-/OQwkgM7kEPEJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] Bug when using array in file resource?
Thanks John, I'll inline my responses Paul On Monday, November 5, 2012 6:26:55 PM UTC+4, jcbollinger wrote: On Monday, November 5, 2012 12:37:45 AM UTC-6, pdurkin wrote: I'm not convinced that Justin wasn't correct about this being a bug. I'm having a similar issue How many people do you need to tell you that the behavior you observe is intended? File a ticket against the documentation if you like, but the behavior is as designed, well-entrenched, broadly relied-upon, and useful. I think I understand where my confusion comes from. I read the same document as Justin, at: http://docs.puppetlabs.com/guides/language_guide.html the section on Resources states Resources describe some aspect of a system; it might be a file, a service, a package then further in the same section: Most resources have an attribute (often called simply name) whose value will default to the title if you don’t specify it. (Internally, this is called the “namevar.”) For the file type, the path will default to the title. It uses name, title and namevar but these are not referring to variables but to attributes and parts of the resource. They are referred to later as variables on the same page but only in respect to defined resources and classes, so I guess that is why I assumed they were variables everywhere. In answer to your question of how many people, so far you are the first to say it is intended and a misinterpretation of the documentation. Nans post simply said that $name is not the file resource title, nothing about intentions or design, and I'm obviously not alone on my misinterpretation of the documentation since this thread and the blog post both have the same point. class myclass (...) { # some extra stuff here $file_list = [ 'a', 'b' ..., 'n' ] file { $file_list : ensure = 'file', source = puppet://modules/myclass/$title, path = /tmp/$title } results in the cannot alias file [a] to [/tmp/myclass]. For some reason the resource title in my file is resolving to the class name rather than the file name. Yes. That's as it should be. Variables are always resolved in the innermost scope in which they appear. Other than the top-level scope, scopes are established only by node bocks, definition bodies, and class bodies. In particular, they are *not* established by resource declarations such as your example file declaration. Nor is there a functionality gap -- Nan already explained how to get the behavior you want. The solution provided above seems to change the semantics. myclass becomes a defined type instead and the list of files is moved outside and passed in as multiple instances are created. That's a work around. You are hypothesizing an implementation to criticize, instead of considering how to model your problem in a way that harmonizes with Puppet. Consider this: define mymodule::modulefile() { file { $name : ensure = 'file', source = puppet:///mymodule/$name, path = /tmp/$name } } class mymodule::myclass { $file_list = [ 'a', 'b' ..., 'n' ] mymodule::modulefile { $file_list : } } Your class remains a class, and continues to define the file list itself. The definition 'mymodule::modulefile' represents a type of file that has the particular relationship you want between its 'path' and 'source'. Yes, you are correct, sorry. I'm not trying to hypothesize, I didn't find Nans solution as clear as you have written it here. It seemed to me that he was suggesting rewriting the class as a defined type rather than creating a new defined type and using it in the class. The solution provided uses a defined type to create a new scope so that the variable 'name' gets the value required. Name can then be used in the resource declaration as I tried to do it directly in the class. It's a pity there's no way to refer to the title of a resource in the declaration since that would be a more concise (and presumably then clearer) way to have defined all the files. I understand your analogy below about functions and resource declarations however I'm not yet adept enough with puppet to start recognising how it is implemented, for the moment I'm still having to read documentation and ask questions. Another would be to not use a list and simply define each file separately in the class, that avoids having to use the $title to abstract the definition into a single resource definition. I can do that quite easily but in my case I have about 100 files so it makes this much less readable. Found someone had already explained the issue here: http://www.nico.schottelius.org/blog/puppet-name-is-not-as-expected-but-classname/ . Does anyone have an answer as to why $title in this case is resolving to the class title rather than the resource title? Is that expected and is there a variable I could use instead that would resolve to the
[Puppet Users] Fact precedence in modules
Hi guys, I am trying to understand fact precedence and pluginsync. Documentation says, by default, the weight of a fact is the number of confines for that fact, so that more specific facts are evaluated first. 1. I made a module core which adds a facter test and has filename test.rb. (in location modules/core/lib/facter/test/test.rb). Note that facter is in test folder. 2. This above module core is included in all nodes. 3. Another module newmod also adds the facter test has the filename test.rb but this time, location is modules/core/lib/facter/test.rb. In all the nodes, first include core comes and then include newmod comes. When I see the facter value, the newmod's file is run. Why? Pluginsync syncs both files and one exists in root of /var/lib/puppet/lib/facter while the other exists in /var/lib/puppet/lib/facter/test folder. Running strace reveals that facter command opens both test.rbs but somehow selects the correct one. The behaviour that's happening is expected but I am trying to understand why is this happening. Please note that nowhere in the code of adding facts, I am using has_weight. -- Cheers, Abhijeet R http://blog.abhijeetr.com -- 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.