[Puppet Users] Puppet8 'lookup' fails when Puppet7 succeeds
I am migrating from puppet 7 to puppet 8 by first updating servers in a staging environment (which is operating puppet version 8.1.0). While debugging hiera, I notice the following unusual behavior with the puppet lookup command. In the production environment running puppet 7.25.0, the following two commands produce the same correct output: [1] puppet lookup sshd::config --environment production --node 'puppet.datacenter' --explain --verbose --hiera_config=/etc/puppetlabs/code/environments/production/hiera.yaml [2] puppet lookup sshd::config --environment production --explain --verbose --hiera_config=/etc/puppetlabs/code/environments/production/hiera.yaml Both commands are run on the puppet master. Command [2] omits the --node option. Both commands produce the correct lookup. In the staging environment that was generated by branching production->staging, a newly-created puppet master fails when the -node option is specified. Specifically, [3] puppet lookup sshd::config --environment staging --node 'puppet.staging' --explain --verbose --hiera_conf ig=/etc/puppetlabs/code/environments/staging/hiera.yaml Error: Could not run: No facts available for target node: puppet.staging but the following command (which omits the -node option) produces the correct lookup [4]puppet lookup sshd::config --environment staging --explain --verbose --hiera_config=/etc/puppetlabs/code/ environments/staging/hiera.yaml There are no warnings or other debug messages. The structure of the data directory and manifests is exactly the same. The production environment has puppetDB operating, but the staging environment was newly created and only has puppetserver. Any suggestions on how to debug this would be appreciated. Thank you, Jon -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/a4c86230-3d8c-4711-a4b6-7a3db676b625n%40googlegroups.com.
Re: [Puppet Users] Recent 5.5.x point releases are throwing some warnings for me
Fair enough. Some parts of our Puppet code base is almost 10 years old, and usually only gets updated when a deprecation requires it. We'll have to put some time into reorganizing things a bit one of these days. Jon On Wednesday, 29 August 2018 07:58:32 UTC-6, Henrik Lindberg wrote: > > On 2018-08-29 15:11, jcbollinger wrote: > > > > > > On Tuesday, August 28, 2018 at 12:13:15 PM UTC-5, kris.b...@puppet.com > > wrote: > > > > > > Hi Jon, > > > > As you have read, this is part of our work implementing errors to > > enforce the standards set down in PUP-1434. In particular, your > > example '$module_path/seed/manifests/init.pp' looks like it is in > > the init file of module 'seed'. Assuming that is what you meant, > > anything starting with 'seed' would be OK in that file, e.g. 'seed', > > 'seed::remote_file', 'seed::foo::remote_file' would all work. Note > > that as part of point 4. of PUP-1434 (now being implemented in the > > work of PUP-9020), you will also not be allowed to put things like > > resources in the top level, but instead should include your > > resources in a class, define, function, or type declaration. > > > > > > As a matter of style, the usual recommendation is that furthermore, > > every class and defined type definition be located in its own file > > <https://puppet.com/docs/puppet/5.5/style_guide.html#separate-files>, > > named as predicted from its fully-qualified name. Of course, this is > > coupled with assigning an appropriate fully-qualified name. It is > > important to understand that class and type names in Puppet are > > independent of the pathnames of the files in which the class and type > > definitions appear. The importance of the pathnames is limited to > > enabling Puppet to /find/ type and class definitions at runtime. > > > > > > Not quite - what is now starting to be enforced is that definitions > must be made in a file that is on an accepted path for that definition. > > Best, > - henrik > > > John > > > > -- > > You received this message because you are subscribed to the Google > > Groups "Puppet Users" group. > > To unsubscribe from this group and stop receiving emails from it, send > > an email to puppet-users...@googlegroups.com > > <mailto:puppet-users+unsubscr...@googlegroups.com >. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/puppet-users/916271cc-6a49-4374-afe2-d6fe0dff297d%40googlegroups.com > > > < > https://groups.google.com/d/msgid/puppet-users/916271cc-6a49-4374-afe2-d6fe0dff297d%40googlegroups.com?utm_medium=email_source=footer>. > > > > For more options, visit https://groups.google.com/d/optout. > > > -- > > Visit my Blog "Puppet on the Edge" > http://puppet-on-the-edge.blogspot.se/ > > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/75960b28-a2e6-4bec-9083-1c4f758dcd93%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [Puppet Users] Recent 5.5.x point releases are throwing some warnings for me
Guess I should have read to point 6 in PUP-1434, init.pp is special. Got it, thanks a bunch. Jon On Tuesday, 28 August 2018 10:08:16 UTC-6, j...@jnjschneider.com wrote: > > So does this mean if the path is '$module_path/seed/manifests/init.pp' then > the define name will now need to be 'seed::init::remote_file' in place of > 'remote_file'? > > Thanks, > Jon > > On Tuesday, 28 August 2018 09:50:48 UTC-6, Branan Purvine-Riley wrote: >> >> Hi Jon, >> >> In Puppet 6 we're going to start requiring that the names of >> classes/defines match the name that's implied by their file path[1]. We >> added that deprecation warning in 5.5.6[2] as part of a push to get >> upcoming Puppet 6 changes printing warnings whenever possible. >> >> [1] https://tickets.puppetlabs.com/browse/PUP-1434 and >> https://tickets.puppetlabs.com/browse/PUP-4242 >> [2] https://tickets.puppetlabs.com/browse/PUP-8894 >> >> >> On Tue, Aug 28, 2018 at 8:31 AM wrote: >> >>> I was away on vacation for a month, upon getting back I am finding the >>> Puppet Agent is now throwing a warning on all of the defines I have in a >>> module that is applied to all our Linux servers. (we are auto updating >>> point releases) >>> >>> Warning: Unacceptable location. The name 'remote_file' is unacceptable >>> in file '/etc/puppet/modules/seed/manifests/init.pp' (file: >>> /etc/puppet/modules/seed/manifests/init.pp, line: 1123, column: 1) >>> >>> We have several defines in this module, all now causing the same warning >>> message and wasn't a few months ago. I couldn't find anything in the 5.5.x >>> release notes to explain why this warning has started to pop up. >>> >>> In this case the define warned about above looks like: >>> >>> define remote_file($remote_location=undef, $mode='0644', $owner=undef, >>> $group=undef) { >>> Code here >>> } >>> >>> Thanks in advance for any ideas anyone might have on why this warning >>> has started to pop up. >>> >>> Jon >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Puppet Users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to puppet-users...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/puppet-users/673af078-aadf-4c43-8f8a-c451f688a85f%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/puppet-users/673af078-aadf-4c43-8f8a-c451f688a85f%40googlegroups.com?utm_medium=email_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- >> Regards, >> >> Branan Riley >> Senior Software Engineer, Puppet inc. >> > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/4ef21186-4624-49e1-9e7f-e2ead76a0db3%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [Puppet Users] Recent 5.5.x point releases are throwing some warnings for me
So does this mean if the path is '$module_path/seed/manifests/init.pp' then the define name will now need to be 'seed::init::remote_file' in place of 'remote_file'? Thanks, Jon On Tuesday, 28 August 2018 09:50:48 UTC-6, Branan Purvine-Riley wrote: > > Hi Jon, > > In Puppet 6 we're going to start requiring that the names of > classes/defines match the name that's implied by their file path[1]. We > added that deprecation warning in 5.5.6[2] as part of a push to get > upcoming Puppet 6 changes printing warnings whenever possible. > > [1] https://tickets.puppetlabs.com/browse/PUP-1434 and > https://tickets.puppetlabs.com/browse/PUP-4242 > [2] https://tickets.puppetlabs.com/browse/PUP-8894 > > > On Tue, Aug 28, 2018 at 8:31 AM > > wrote: > >> I was away on vacation for a month, upon getting back I am finding the >> Puppet Agent is now throwing a warning on all of the defines I have in a >> module that is applied to all our Linux servers. (we are auto updating >> point releases) >> >> Warning: Unacceptable location. The name 'remote_file' is unacceptable in >> file '/etc/puppet/modules/seed/manifests/init.pp' (file: >> /etc/puppet/modules/seed/manifests/init.pp, line: 1123, column: 1) >> >> We have several defines in this module, all now causing the same warning >> message and wasn't a few months ago. I couldn't find anything in the 5.5.x >> release notes to explain why this warning has started to pop up. >> >> In this case the define warned about above looks like: >> >> define remote_file($remote_location=undef, $mode='0644', $owner=undef, >> $group=undef) { >> Code here >> } >> >> Thanks in advance for any ideas anyone might have on why this warning has >> started to pop up. >> >> Jon >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to puppet-users...@googlegroups.com . >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/puppet-users/673af078-aadf-4c43-8f8a-c451f688a85f%40googlegroups.com >> >> <https://groups.google.com/d/msgid/puppet-users/673af078-aadf-4c43-8f8a-c451f688a85f%40googlegroups.com?utm_medium=email_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- > Regards, > > Branan Riley > Senior Software Engineer, Puppet inc. > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/493ef3be-ec71-48a0-86c7-5290a5d3cd71%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Recent 5.5.x point releases are throwing some warnings for me
I was away on vacation for a month, upon getting back I am finding the Puppet Agent is now throwing a warning on all of the defines I have in a module that is applied to all our Linux servers. (we are auto updating point releases) Warning: Unacceptable location. The name 'remote_file' is unacceptable in file '/etc/puppet/modules/seed/manifests/init.pp' (file: /etc/puppet/modules/seed/manifests/init.pp, line: 1123, column: 1) We have several defines in this module, all now causing the same warning message and wasn't a few months ago. I couldn't find anything in the 5.5.x release notes to explain why this warning has started to pop up. In this case the define warned about above looks like: define remote_file($remote_location=undef, $mode='0644', $owner=undef, $group=undef) { Code here } Thanks in advance for any ideas anyone might have on why this warning has started to pop up. Jon -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/673af078-aadf-4c43-8f8a-c451f688a85f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Re: Problem with snmpd service in new ubuntu 16.04
Same problem with AutoFS On Thursday, May 5, 2016 at 8:51:41 AM UTC+2, amateo wrote: > > Hello, > > I'm testing my puppet code in the new ubuntu 16.04. > > I'm using razorsedge/snmp module from the forge to manage snmpd. > In > this module, it manages snmpd service with: > >service { 'snmpd': > ensure => $service_ensure_real, > name => $service_name, > enable => $service_enable_real, > hasstatus => $service_hasstatus, > hasrestart => $service_hasrestart, > require=> [ Package['snmpd'], File['var-net-snmp'], ], >} > > In concrete, in my config, $service_enable_real has the value of > true. > > The problem I'm having is that every run shows the message: > > Notice: /Stage[main]/Snmp/Service[snmpd]/enable: enable changed 'false' > to 'true' > > Running puppet in debug mode shows: > > Debug: Executing '/usr/bin/dpkg-query -W --showformat '${Status} > ${Package} ${Version}\n'' > Debug: Executing: '/bin/systemctl is-active snmpd' > Debug: Executing: '/bin/systemctl show snmpd --property LoadState > --property UnitFileState --no-pager' > Debug: Executing: '/bin/systemctl unmask snmpd' > Debug: Executing: '/bin/systemctl enable snmpd' > Notice: /Stage[main]/Snmp/Service[snmpd]/enable: enable changed 'false' > to 'true' > Debug: /Stage[main]/Snmp/Service[snmpd]: The container Class[Snmp] will > propagate my refresh event > Debug: Class[Snmp]: The container Stage[main] will propagate my refresh > event > > I have manually run each systemctl command and all of them returns > error code 0. The displayed output is: > > root@ubuntu-16-04:~# /bin/systemctl is-active snmpd > active > root@ubuntu-16-04:~# /bin/systemctl show snmpd --property LoadState > --property UnitFileState --no-pager > LoadState=loaded > UnitFileState=bad > root@ubuntu-16-04:~# /bin/systemctl unmask snmpd > root@ubuntu-16-04:~# /bin/systemctl enable snmpd > snmpd.service is not a native service, redirecting to systemd-sysv-install > Executing /lib/systemd/systemd-sysv-install enable snmpd > > Any help? Thank you. > > -- > Angel L. Mateo Martínez > Sección de Telemática > Área de Tecnologías de la Información > y las Comunicaciones Aplicadas (ATICA) > http://www.um.es/atica > Tfo: 868887590 > Fax: 86337 > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/c9e052cd-29cc-4125-b02a-06140db31a50%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Sending facts out-of-band natively
Hi all, We're thinking about implementing the puppet facts upload pattern to send facts up to the Puppetmaster (and into Foreman) out-of-band. Basically, we need a way to distinguish hosts which are alive, but just have their agent disabled (e.g. for troubleshooting), and hosts which are just not communicating with the Puppet infrastructure. We'd also like to keep up-to-date inventory information (we have a few dozen custom facts which we need to report on) despite the status (enabled/disabled) of the puppet agent. It's surprising that this functionality isn't just accomplished automatically. But now, since Puppet 4 is deprecating the inventory service, the above solution will likely need to change. But the suggestion in the deprecation documentation that users simply write a script to parse the facts into the PuppetDB wire format and send them along seems like a pretty big step backwards from a usability point of view. It seems a little crazy that an end user has to deal with something so low-level to accomplish something that the Puppet agent can (and does) already do. The interface goes from 1 touchpoint (the 'puppet facts' command) to about four (get the current facts, format the facts into PuppetDB wire, retrieve the puppetdb server hostname from .. who knows where, configuration?, make the request to the PuppetDB API). Is there room in this equation for a different agent run mode, one where the Puppet modules don't get applied, but the rest of the workflow (facts, etc.) still executes? Is there a better way of accomplishing this? Thoughts? Thanks -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/574e25ff-e2be-4328-94d1-2dc7ab25285b%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Re: Sending facts out-of-band natively
For anyone that's interested, here's what I ended up doing: I created a new Puppet face called 'maintenance' with an 'enter' and 'exit' action. When you 'enter' maintenance mode, it runs the 'config' face to set 'noop' to 'true' (by default in the agent section, but you can specify). This way, all of the standard agent processing logic runs (reports, etc.), except the host won't apply any config changes. Operationally, our team is just going to deprecate usage of 'puppet agent --disable' and instead use this custom command for maintenance/troubleshooting activities. On Thursday, September 11, 2014 10:11:10 AM UTC-4, Jon McKenzie wrote: Hi all, We're thinking about implementing the puppet facts upload pattern to send facts up to the Puppetmaster (and into Foreman) out-of-band. Basically, we need a way to distinguish hosts which are alive, but just have their agent disabled (e.g. for troubleshooting), and hosts which are just not communicating with the Puppet infrastructure. We'd also like to keep up-to-date inventory information (we have a few dozen custom facts which we need to report on) despite the status (enabled/disabled) of the puppet agent. It's surprising that this functionality isn't just accomplished automatically. But now, since Puppet 4 is deprecating the inventory service, the above solution will likely need to change. But the suggestion in the deprecation documentation that users simply write a script to parse the facts into the PuppetDB wire format and send them along seems like a pretty big step backwards from a usability point of view. It seems a little crazy that an end user has to deal with something so low-level to accomplish something that the Puppet agent can (and does) already do. The interface goes from 1 touchpoint (the 'puppet facts' command) to about four (get the current facts, format the facts into PuppetDB wire, retrieve the puppetdb server hostname from .. who knows where, configuration?, make the request to the PuppetDB API). Is there room in this equation for a different agent run mode, one where the Puppet modules don't get applied, but the rest of the workflow (facts, etc.) still executes? Is there a better way of accomplishing this? Thoughts? Thanks -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/fd3fd128-c998-47f9-bf13-2c7e7826943f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Eugene Oregon Puppet User Group?
I am interested in starting one if one does not yet exist. I'd like to talk about and collaborate on usage of puppet. Anyone can hit me up if there is such a group here in town, I know there is one in Portland but I won't be going any time soon. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/981c1dbd-7df7-4401-839a-c1e50e1fa2e4%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [Puppet Users] How to Prevent Both MySQL and Percona From Being Installed? (RSOLVED)
On 4/25/2014 5:31 AM, Walter Heck wrote: Why don't you use the puppetlabs-mysql module? There you can use percona simply by modifying a few parameters, circumventing this whole issue. just my 2 cents :) You're right - I could have. Maybe I should have. But, I like little puzzles like this because they help me learn more about Puppet. Jon Forrest -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/535B3696.2070602%40gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: [Puppet Users] Re: Package With 'yum' Provider Uses 'rpm' to Remove a Package (bug?)
On 4/24/2014 7:01 AM, jcbollinger wrote: That's not necessarily a naive assumption, but it does suggest that you haven't fully grasped the Puppet paradigm. You seem to be thinking in terms of how to persuade Puppet to execute specific commands, but you should be thinking in terms of how to accurately express the desired target state. I think I did, but that didn't work. So, I had to get fancy. Given that, then, declaring to Puppet that you want a package absent is a statement about that package alone. Declaring that you want it purged says that you want not only that package absent, but also all its configuration files and any other packages that depend on it. This is indeed the critical fact that I wasn't aware of. Thanks for clearing this up. Jon -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/5359D29E.2020606%40gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: [Puppet Users] How to Prevent Both MySQL and Percona From Being Installed? (RSOLVED)
A very clever co-worker managed to come with a solution. Changing package { 'mysql': provider = yum, ensure = purged, } to package { 'mysql.x86-64': provider = yum, ensure = purged, } solved the problem. I'm not sure why this works. I suspect it's because adding the .x86-64 somehow prevents the pattern from matching Percona. I'm going to check this. This approach is easier than creating a custom fact. Thanks for all the suggestions. Jon Forrest -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/5359D4E2.2090908%40gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: [Puppet Users] Re: Package With 'yum' Provider Uses 'rpm' to Remove a Package (bug?)
On Wed, Apr 23, 2014 at 8:54 AM, jcbollinger john.bollin...@stjude.org wrote: On Tuesday, April 22, 2014 2:16:22 PM UTC-5, Jon Forrest wrote: (I found a discussion from 6/22/09 on this topic, but that was a long time ago.) Did the discussion give you reason to think that the behavior was unintentional or likely to change? I didn't think that whatever my reaction was to a 5 year old discussion would matter now. Puppet changes. People change. Using Puppet 3.5.1 on CentOS 6.5 I recently created the following: package { [ PackageKit]: ensure = absent, } However, when I ran Puppet, I got Error: Execution of '/bin/rpm -e PackageKit-0.5.8-21.el6.x86_64' returned 1: error: Failed dependencies: PackageKit = 0.5.8-21.el6 is needed by (installed) PackageKit-yum-0.5.8-21.el6.x86_64 PackageKit = 0.5.8-21.el6 is needed by (installed) PackageKit-glib-0.5.8-21.el6.x86_64 PackageKit is needed by (installed) PackageKit-yum-plugin-0.5.8-21.el6.x86_64 Notice that the provider is running '/bin/rpm' which explains the errors. Yes, this is intentional. Puppet is taking care to avoid undeclared side effects. Such side effects can make your manifest set inconsistent in ways that Puppet cannot otherwise detect. For example, suppose somewhere else in your manifest set you had package { PackageKit-yum: ensure = 'installed' } That declaration and your example declaration are not consistent with each other, but if Puppet provided for ensure = absent via yum then both could be applied without error. The result would depend on the relative order in which the declarations were applied, but neither result would be fully consistent with the catalog. OK. See below. So, I explicitly added a provider, so that the resource definition is this: package { [ PackageKit]: provider = 'yum', ensure = absent, } There was no change!! No, because the agent was selecting the yum provider already. The yum provider ensures absent by use of 'rpm -e'. Again, this is intentional. Apparently. But still, I was hoping there would be a way to somehow express that I really truly wanted yum to remove a package, the same way it would if I ran yum on the command line. In this case, there are no conflicting resource definitions so there would be no problem with the catalog being consistent. My perhaps naive assumption would be that if I explicitly used the 'yum' provider Puppet would follow my direction. I'm clearly wrong. Again, see below. In the discussion from 2009, somebody suggested using purge instead of absent, so I did. And if you are willing to accept the risk of inconsistency described above, then that is what you should do. But it's spelled purged, not purge. Oops. You're right. My mistake, although would it be reasonable to expect Puppet to show an error? So, apart from my stupid syntax error, it seems like my problem was caused by not understanding the difference between absent and purged when the yum provider is used. I just googled puppet difference between purged and absent and I didn't find an explanation. I also checked the Puppet Type Reference manual and I didn't find anything there. Can you point me to anything? Thanks, Jon Forrest -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAF0Z9ipGV40Uj8P7s10_H%2BFt0p4OQbi5uH5RErWL_0zgtTBwqg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Unclear Status Messages
I have the following resource: package { [ PackageKit]: provider = 'yum', ensure = purged, } The first time I run Puppet I get status message I expect, e.g. Notice: /Stage[main]/Xoom/Package[PackageKit]/ensure: ensure changed '0.5.8-21.el6' to 'purged' I then run Puppet again without making any changes to either the host or the Puppet master. I then get: Notice: /Stage[main]/Xoom/Package[PackageKit]/ensure: created This makes it look like Puppet created the PackageKit package, even though I asked for it to be deleted. However, this package wasn't actually installed, e.g. # rpm -qa | fgrep PackageKit # Why would that second message appear? I didn't ask for the package to be created, plus the package wasn't actually created. Thanks, Jon Forrest -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAF0Z9iqJhe5OTY4q_tRAOhzCQ%3D6CjatGuDfTEU6e56aT6QhUrA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] How to Prevent Both MySQL and Percona From Being Installed?
I have an interesting problem (to me). I want to install Percona mysql. This is easy. But I also want to make sure regular MySQL isn't installed on the same machine that's running Percona. To install Percona, I have a resource like package { 'percona-client': name = 'Percona-Server-client-55', ensure = installed, } To make sure MySQL isn't installed I have package { 'mysql': provider = yum, ensure = purged, } The problem is that Puppet tries to remove Percona, instead of MySQL. This is because the Percona rpm provides the mysql feature. By this I mean the output from 'yum provides mysql' contains (edited): Percona-Server-client-55-5.5.36-rel34.2.el6.x86_64 : Percona Server - Client Repo: XXX Matched from: Other : mysql Percona-Server-client-55-5.5.36-rel34.2.el6.x86_64 : Percona Server - Client Repo: installed Matched from: Other : Provides-match: mysql Of course, trying to remove Percona fails because other things depend on it, as they should. The only ideas I have for removing MySQL, and not Percona, are: 1) Use rpmrebuild to change what Percona provides 2) Use something like (untested) exec { /usr/bin/yum -y remove mysql: onlyif = /bin/rpm -qa |/bin/fgrep mysql 3) Just presume that MySQL won't be installed in the first place. I could do this but I'd like my modules to be more accepting and not require a specially prepared system. Any suggestions? Jon Forrest -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAF0Z9io2vvOO3nBitsZRXE0AbbA10f8rP0mnhse61%3DWOG9Ycag%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Package With 'yum' Provider Uses 'rpm' to Remove a Package (bug?)
(I found a discussion from 6/22/09 on this topic, but that was a long time ago.) Using Puppet 3.5.1 on CentOS 6.5 I recently created the following: package { [ PackageKit]: ensure = absent, } However, when I ran Puppet, I got Error: Execution of '/bin/rpm -e PackageKit-0.5.8-21.el6.x86_64' returned 1: error: Failed dependencies: PackageKit = 0.5.8-21.el6 is needed by (installed) PackageKit-yum-0.5.8-21.el6.x86_64 PackageKit = 0.5.8-21.el6 is needed by (installed) PackageKit-glib-0.5.8-21.el6.x86_64 PackageKit is needed by (installed) PackageKit-yum-plugin-0.5.8-21.el6.x86_64 Notice that the provider is running '/bin/rpm' which explains the errors. So, I explicitly added a provider, so that the resource definition is this: package { [ PackageKit]: provider = 'yum', ensure = absent, } There was no change!! In the discussion from 2009, somebody suggested using purge instead of absent, so I did. But although Puppet now uses yum, it does so in a very strange way: Error: Could not update: Execution of '/usr/bin/yum -d 0 -e 0 -y install PackageKit-purge' returned 1: Error: Nothing to do Wrapped exception: This looks like a bug to me. I ended up using exec { /usr/bin/yum -y remove PackageKit: onlyif = /bin/rpm -qa |/bin/fgrep PackageKit, } but this is a step in the wrong direction. Comments? Jon Forreset -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/2089be92-a912-4645-819c-d1da5c3d34da%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Re: Final Comments on Pro Puppet 2nd Edition
On Thu, Mar 27, 2014 at 3:02 PM, Daniele Sluijters daniele.sluijt...@gmail.com wrote: Hi, I'm going to be slightly blunt here. That's fair. The authors of the book have, repeatedly, ask you to connect with them through different channels and contribute your fixes to the Github repository that was set up. One author asked me once. I've never heard from any of the other authors. Furthermore, as of today, Apress *still* doesn't show anything on their Errata page for the book. That's the first place where issues should show up. Though I appreciate your review of the book, the way you've handled the situation is not exactly exemplary. I obviously don't agree. I'm doing this editing for free, on my own time. I don't make any money from doing it. Helping the authors, who are making money from the book (which is entirely fine), doesn't seem like an exemplary way to handle the situation either. The list of issues is freely available for them, or anybody else, to do whatever they want with, including putting them on GitHub. Let's say I had chosen to work with the authors. What difference would that have made? I'm also wondering what you're trying to achieve here. I'm sure you realise that most people won't be reading your posts on the mailing lists before buying the book. Maybe not, but I hope I've helped those that do. Other than listing the issues with the book, I'm not trying to achieve anything. I'm not a Puppet expert so I'm not promoting a Puppet consulting business. These days I don't work as an editor so I'm not trying to get editing work. From reading your comments most of them are not about errors with regard to Puppet but with (perceived) errors in grammar, style or formatting. Exactly right. This is a point I've made several times. But these are exactly the kind of errors that the publisher had the responsibility to fix. They didn't. When I buy a book with these kinds of problems I feel ripped off, especially since it's not that hard to do right. It's the technical stuff about Puppet that's hard. I just got a copy of the latest version of Patterson and Hennesy's Computer Architecture book. That's an example of how a book should be edited. Only a few are actually about code or command errors and a few about terminology that's used before it's been explained or other issues that could potentially hamper the users understanding. Right again. I even went to the trouble of clearly labeling the issues I found so that people who don't care about typos, grammar, style, or formatting can ignore all that and only look at the true errors. I knew that not everyone would be interested in what I found. That's why I clearly labeled my postings so that people who didn't care about issues in the book could ignore what I said. What would you have done? Jon Forrest -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/b0fd3dff-f8de-4b00-aa1a-dd76b16e85aa%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Problems in Ch. 11 and 12 of Pro Puppet 2nd Edition
Here are the issues I found in Chapters 11 and 12. Jon Forrest M = mistake U = unclear T = typo E = text change C = comment (U) Pg. 249 Most readers won't know what an orchestration framework is. I know I don't. (C) Pg. 249 commands dispatched to systems in this manner are difficult to manage using the same tools and processes that you manage code with Give an example of this. (U) Pg. 249 MCollective agents It would be useful to contrast an MCollective agent with a Puppet agent. (E) Pg. 250 actions on all of your systems is quite straightforward - actions is quite straightforward (The point is that the actions don't have to occur on all your systems) (E) Pg. 250 may consider deploying - may require deploying (E) Pg. 253 connect our clients - connect our client (The example layout only includes one client.) (E) Pg. 255 has packages for both DEB and RPM - has packages in both .deb and .rpm formats (E) Pg. 257 addressed by metadata - selected by examining metadata (U) Pg. 257 There are several places on this page that talk about the Facter library. Why is Facter called a library? (E) Pg. 257 locate the Precise boxes - locate the boxes running Debian Precise (E) Pg. 263 we've taught you - you've learned (E) Pg. 263 It is still right next to - It's still contained in (E) Pg. 265 and can split on - and can key off of (E) Pg. 265 package manager or Gems - package manager or RubyGems (C) Pg. 265 Hiera can be installed from system packages (Listing 12-6) or with RubyGems (Listing 12-7). This is already stated in the first sentence of this paragraph. There's no need to say it again. (E) Pg. 265 Installing Hiera with packages - Installing Hiera from packages (T) Pg. 266 /etc//hiera.yaml - /etc/hiera.yaml (E) Pg. 267 The file /etc/puppet/hiera.yaml is used - This file is used (E) Pg. 267 rather than being itself a data store - rather than being a data store itself (E) Pg. 267 it will attempt to make the lookup on the first element - Hiera will attempt to match the first element (E) Pg. 267 First create the directory for data - First create the data directory (E) Pg. 268 run it with the debug flag - run it with the debug flag (-d) (T) Pg. 270 we use Puppet apply Following convention on Page 268, Puppet apply should be puppet apply and should be in bold. (T) Pg. 270 a value from hiera - a value from Hiera (E) Pg. 270 code running in development is a good mock for the Puppet code - code running in development imatches the Puppet code (E) Pg. 271 without giving much thought to type - without giving much thought to the other types Hiera can return (E) Pg. 271 in the YAML format - in YAML format (T) Pg. 272 In Listing 12-26 shouldn't there be a newline after clock3] ? (T) Pg. 273 As you can see, we can to offload - As you can see, we can offload (T) Pg. 275 backup_dirs array is set - the backup_dirs array is set (T) Pg. 275 focusing the data - focusing on the data (E) Pg. 275 Where putting strings - While putting strings (E) Pg. 276 the package, file, service model On Pg. 275 you said package-file-service. Be consistent. (E) Pg. 277 Second, create a global.d directory - Second, create a /etc/puppet/data/global.d directory (T) Pg. 281 (Listing 12-60)and - (Listing 12-60) and (T) Pg. 281 example of use(Listing 12-61.) - example of use (Listing 12-61.) (E) Pg. 284 you will want to remove defaults.yaml fully - you will want to securely remove defaults.yaml (T) Pg. 285 keys on each puppet Master - keys on each Puppet master (M) Pg. 287 presented as in Listing 12-74 - presented in Listing 12-72 (T) Pg. 288 data entry science::param2: 'looked up in Hiera'. - data entry science::param2: 'looked up in hiera'. (T) Pg. 289 Openstack-infra does not Openstack-infra should be in console bold, as on Page 288. (T) Pg. 292 a slew of Hiera backends to store our Hiera data The names of the backends that follow should use the same font that was used when the backends were presented earlier in the chapter. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/5333A367.3080606%40gmail.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Final Comments on Pro Puppet 2nd Edition
I just posted my list of issues I discovered in Chapters 11 and 12 - the last two chapters of Pro Puppet 2nd Edition. I found a lot of issues with this book. I simply don't understand how these issues escaped the editors. One reason I posted what I did is so that anyone thinking about buying the book will know what to expect. I just hope the technical material about Puppet was higher quality than the editing job that went into this book. Since I'm not a Puppet expert I have no way of judging, so I won't comment. I've posted the complete list of issues on https://www.dropbox.com/s/qmcdgdo4bvq620q/propuppet2.txt Jon Forrest -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/5333A664.7080707%40gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: [Puppet Users] Re: Problems in Ch. 1 and 2 of Pro Puppet 2nd Edition
On 3/22/2014 4:03 PM, Julien Deloubes wrote: Hi John, thanks for your work. I think i found another typo or maybe there is something i don't understand? (T) Pg. 51 file { ::$ssh::params::ssh_service_config: - file { $::ssh::params::ssh_service_config: Very good find. I missed that one. I've added it to my master list, credited to you, which I'll be putting on Dropbox when it's finished. Submitting errors to Apress is also a good idea, although it isn't clear if it will do any good. After all, the Errata page for Pro Puppet 2nd ed. is still empty, even after everything I've posted. Jon -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/lglbvm%24rvg%241%40ger.gmane.org. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Problems in Ch. 10 of Pro Puppet 2nd Edition
Here are the issues I found in Chapters 10. Jon Forrest M = mistake - all readers should be aware of this U = unclear - chances are readers will wonder about this T = typo - a trivial uncontroversial text change E = text change - most readers won't care but editors should C = comment - more detailed or complex issue (T) Pg. 227 to the existing resources types, providers and functions - to the existing resources types, providers, and functions (E) Pg. 227 support for environmental variables - support for environment variables (This occurs three times in the note on this page.) (C) Pg. 227 concept called plug-ins in modules Is this really the name of the concept? (U) Pg. 227 host that includes a particular module This could be confusing because a reader might think you're talking about the Puppet include function. (E) Pg. 228 there are two popular approaches to the task - there are two popular approaches for doing so (E) Pg. 228 allows a greater portability - allows greater portability (M) Pg. 228 The list of what's contained in the bind module should contain the line bind/lib as the second to last line. (T) Pg. 228 setting turns on the plug-ins in modules capability Everywhere else on this page you've shown plug-ins in modules in italics. Why isn't it that way here? (T) Pg. 229 refer to osfamily with $ osfamily - refer to osfamily with $osfamily (E) Pg. 229 it will return - the script will return (C) Pg. 230 The indentation of several lines in Listing 10-4 is wrong. For example, the '}' on the last line is too far to the left. (E) Pg. 231 similar approach to commands - similar approach with commands (C) Pg. 231 Sometimes they're your facts and sometimes they're our facts. Be consistent. (E) Pg. 231 that references this directory and will allow Facter to find - that references this directory so that Facter can find (E) Pg. 231 you can call Facter - you can run Facter (E) Pg. 231 If the required output appears - If the expected output appears (E) Pg. 231 error message you can debug will be generated - error message will be generated (T) Pg. 231 following directory. - following directory: (E) Pg. 232 and output to - and send output to (C) Pg. 232 You use key=value in one place and key/value in another. Be consistent. (E) Pg. 232 or txt files - or text files (E) Pg. 232 adding to types - adding types (T) Pg. 232 Types, Providers and Functions - Types, Providers, and Functions (This error occurs several times on this page. It's also correct in several places.) (T) Pg. 232 earlier this chapter - earlier in this chapter (E) Pg. 233 And just as you can with custom facts - And just as with custom facts (C) Pg. 233 Don't apache/lib/puppet and apache/lib/puppet/parser also need to be created? If you're presuming a mkdir -p approach then these don't have to be explicitly mentioned. (E) Pg. 233 As we did when we configured Puppet for custom facts - As when we added custom facts to Puppet (E) Pg. 233 synced down to an agent - synced to an agent (E) Pg. 233 Puppet has a package type, a service type, a user type, and all the other types available Puppet has many types available, such as a package type, a service type, a user type, and many others (E) Pg. 234 First we create a module called custom to store it in - First we create a module called custom with the following files and directories (E) Pg. 236 This is a parameter value - This is a parameter (E) Pg. 236 In this parameter we've again used - This parameter uses (E) Pg. 236 could also use this validation for - could also validate (E) Pg. 236 In the case of our method, - Our method (T) Pg. 238 You've just seena very - You've just seen a very (C) Pg. 238 rather than multi-line configuration files. /etc/shells is a multi-line configuration file. (T) Pg. 240 They tell the Puppet - They tell Puppet (E) Pg. 241 the relevant line of configuration - the relevant configuration line (E) Pg. 241 add the /bin/anothershell - add /bin/anothershell (T) Pg. 241 add anothershell - add /bin/anothershell (E) Pg. 245 or testing environment and enable - or testing environment, and enable (C) Pg. 245 The three 'mkdir' commands are a different style for showing the required module layout. Previously, all that was shown was a list of directory and file names. (E) Pg. 245 action, and with rvalues you pass - action. With rvalues you pass (E) Pg. 246 whether the file parses without error - whether there are any syntax errors (E) Pg. 246 function performed correctly - function ran correctly (T) Pg. 248 providers, functions and facts - providers, functions, and facts -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/53252366.4060306%40gmail.com. For more options
[Puppet Users] Problems in Ch. 8 and 9 of Pro Puppet 2nd Edition
Here are the issues I found in Chapters 8 and 9. Jon Forrest M = mistake U = unclear T = typo E = text change C = comment (T) Pg. 191 like librarian puppet - like librarian-puppet (T) Pg. 191 rspec-puppet, rspec-system and integrating - rspec-puppet, rspec-system, and integrating (U) Pg. 194 mysql::db provider What's a provider? (T) Pg. 196 The puppet-module tool - The Puppet Module tool (This is how you've referred to it up to now.) (T) Pg. 197 in your version control - in your version control system (U) Pg. 197 you will need to remove the contents Do you mean to remove the contents of /etc/puppet/modules from the file system or from the version control system, or both? (E) Pg. 197 You can specify the version - You can specify the version you want to install (E) Pg. 198 to version control - to your version control system (C) Pg. 198 You haven't mentioned Puppetfile.lock before. You should say something about it if it's so critical that it needs to be kept in a version control system. (T) Pg. 199 First up is puppet lint - First up is puppet-lint (E) Pg. 202 want a fixtures file - want a .fixtures.yml file (T) Pg. 202 we have modified fixtures.yml - we have modified .fixtures.yml (E) Pg. 203 specify osfamily as one of the OS families - assign osfamily the name of one of the OS families (E) Pg. 203 it will throw an error - spec will throw an error (Is the name of this tool spec or rspec?) (T) Pg. 208 creating the rspec system directory layout - Creating the rspec-system directory layout (T) Pg. 210 and then CD to the Vagrant folder - and then cd to the Vagrant folder (T) Pg. 210 Accessing rspec system Vagrant machines - Accessing rspec-system Vagrant machines (E) Pg. 217 sent to the master server - sent to the Puppet master (E) Pg. 217 success or failure of those resources - success or failure of those changes (E) Pg. 221 Specifying this tag will make the report return all error messages - Specifying this tag will make Puppet send all error messages (E) Pg. 221 We can install RRDTools via package - We can install the RRDTools package (E) Pg. 221 Red Hat, CentOS, and Mandriva versions - Red Hat, CentOS, and Mandriva (E) Pg. 222 Both gems should work to produce - Both gems should produce (E) Pg. 222 in the form of an HTTP Post - via an HTTP Post (E) Pg. 222 on the master - on the Puppet master (E) Pg. 222 supports the importation of supports importing (U) Pg. 223 Instead, the report processors are stored in the lib/puppet/reports directory. For example, on an Ubuntu Puppet master we'd add our custom report processor to the /usr/lib/ruby/vendor_ruby/puppet/reports directory The second location mentioned, /usr/lib/ruby/vendor_ruby/puppet/reports, is not in lib/puppet/reports, as the first sentence says it should be. (E) Pg. 223 You could also parse particular - You could also filter particular (E) Pg. 223 We also wrote our summary report out to a directory named after the Puppet agent host located under the reports directory - We also wrote our summary report out to a directory, located under the reports directory, named after the Puppet agent host (T) Pg. 225 reporting data from thecode - reporting data from the code -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAF0Z9iqHSxSY35unOZtC-aW3hS4shw6ak9z%2Bnz0RNzV2tvXVOQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: [Puppet Users] Re: Problems in Ch. 4 of Pro Puppet 2nd Edition
On 3/11/2014 10:32 AM, Spencer Krum wrote: Thanks so much for reading attentively and posting your feedback. I'm sorry you don't want to help us more formally. I want to make it clear that the reason for this is because since this is a closed-source book, I'd need some form of payment for a formal relationship (I've done massive free edits of Pro Git and Managing Jenkins because these are open-source books). At this point, such things only complicate my taxes and make me feel obligated to get things done to meet deadlines. Since I have a fulltime day job I can't commit to anything with fixed deadlines. It wouldn't be fair to you or Apress. I don't think its realistic to open source the book at this point, but I'll open the conversation with Apress and the other authors. OK. If you do change your mind then I'd be more than glad to work with you. Jon On Tue, Mar 11, 2014 at 10:32 AM, Spencer Krum krum.spen...@gmail.com wrote: Hi Jon, I'll ask my editor to link the errata from the github repository to the eratta page on the Apress website. I want to assure you we went through several rounds of editing, but errors are always going to fall through. Thanks so much for reading attentively and posting your feedback. I'm sorry you don't want to help us more formally. I don't think its realistic to open source the book at this point, but I'll open the conversation with Apress and the other authors. Thanks again, Spencer On Monday, March 10, 2014 4:31:26 AM UTC, Jon Forrest wrote: On Wednesday, March 5, 2014 10:29:07 AM UTC-8, Spencer Krum wrote: Hi Jon, My name is Spencer Krum. I am one of the authors of Pro Puppet. I want to thank you for going through the book with such a fine toothed comb. I wish I had known you were so committed to making this book a success months ago. I would have gotten you an advance copy so you could have helped make the final version better. What concerns me most is how Apress could have released a book with so many issues. Somehow their production process broke down. From what I understand from Apress, we don't have the ability to directly address these problems in newly sold versions of the book. These errors will be with us until a 3rd edition comes out, maybe sometime around Puppet 4. I'm sorry to hear that. That seems like a long time to wait. What's worse is that people who don't read this email list will have no idea that this book is full of issues. Even now, after I've been releasing these lists for ~2 weeks, the errata page on the Apress web site (http://www.apress.com/9781430260400) still says there are no errata for this book. That's not fair. Here is what we can do. I have created a github repository to collect the errata in a single place. https://github.com/pro-puppet/pro-puppet-errata I don't think we can get that link added to the front matter, but we can probably get it added to the description of the book on Amazon, and can link to it in the online/supplemental materials. This repository is one central place we can collect all the errors/corrections about Pro Puppet 2n'd edition, not just yours. I've already added your ch1-4 reviews to that project. Would you be willing to work on the rest of the chapters with us? Since I haven't received any money from Apress, nor will I request anything other than my own copy of the book (which they've now given me), I'm not inclined to formally work on this project (see below) If you feel comfortable with git/github I can give you contributor access or I can add the text if you want to send it to me. I think collecting all the errors in the github repository is a better solution than posting them all to separate messages to the Puppet users mailing list, a list of over a thousand people. What do you think? What I'm planning on doing is continuing on as I have been. I'm going to post my lists, chapter by chapter, to this list. You, and anybody else, are free to do whatever you want with them, such as putting them up on GitHub. I clearly label these postings so anyone who isn't interested in them can easily skip them. Is this a reasonable approach? Jon Forrest P.S. Have you considered putting the sources for Pro Puppet 2nd ed. up on GitHub the way Scott Chacon did for Pro Git? -- You received this message because you are subscribed to a topic in the Google Groups Puppet Users group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/puppet-users/dzXe29iNwtQ/unsubscribe. To unsubscribe from this group and all its topics, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/52ee6a2c-8cbd-4d2d-a687-4a5cee33aa6a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Puppet Users group
[Puppet Users] Problems in Ch. 7 of Pro Puppet 2nd Edition
Here are the issues I found in Chapter 7. Short chapter - many typos. Only 5 more chapters to go. Jon Forrest M = mistake U = unclear T = typo E = text change C = comment (M) Pg. 169 an external node carrier (ENC) - an external node classifier (ENC) (C) Pg. 169 integrated data center lifecycle management tool This is a meaningless phrase. (E) Pg. 170 The Foreman installer currently does not support MCollective or PuppetDB installation - The Foreman installer currently does not install MCollective or PuppetDB (C) Pg. 172 Foreman will be accessible at https://fqdn/; You should make it clear here that fqdn should be replaced by the hostname of the host running Foreman. You mention this instead on the next page, but that's too late. (T) Pg. 172 add your foreman server - add your Foreman server (C) Pg. 172 Why should provisioning be disabled? I'm not saying this is wrong but it would be nice to know why. (E) Pg. 175 it will drill down - Foreman will drill down (E) Pg. 176 The Foreman behaves as an ENC - Foreman behaves as an ENC (Using been using Foreman without the up to now. Be consistent. This mistake occurs more than once on this page.) (U) Pg. 178 What's an eventful report? (U) Pg. 178 Why does pro-puppet-foreman-client1.lan appear twice in Figure 7-10? I would expect there to be one entry per client. If this isn't true, please explain what's included in the Reports tab. (T) Pg. 178 node with errors and warning - node with errors and warnings (U) Pg. 179 What's an eventful node? (E) Pg. 179 query for all of the nodes - query all of the nodes running Debian Linux (T) Pg. 180 which like Foreman - which, like Foreman (T) Pg. 180 advancing reporting tools - advanced reporting tools (E) Pg. 180 enterprise product line and support - enterprise product line (U) Pg. 180 One of the key differences from Foreman is that PE Console focuses on Puppet and its related products - Foreman focuses on Puppet also. How is this different than PE Console? (T) Pg. 180 For this section will be running - For this section we will be running (T) Pg. 180 access the console - access the PE console (T) Pg. 181 Once our nodes have checked in, we can begin applying configuration to them - Once your nodes have checked in, you can begin applying configuration to them (Why did you change person here? This problem also exists on Pg. 182) (T) Pg. 183 Once your click Run - Once you click Run (T) Pg. 184 requests HTTP library - Requests HTTP library (E) Pg. 184 Every node that runs - Every running node (U) Pg. 184 If the capability is enabled, it can also give you The pronoun reference for it isn't clear. Is it referring to PuppetDB or the capability, or Puppetboard? (E) Pg. 185 you will have to run Puppetboard - you will have to install Puppetboard (E) Pg. 185 another httpd, like Nginx - another web server, like Nginx (E) Pg. 185 nodes who changed - nodes that changed (E) Pg. 186 filter the table for you - filter the table (E) Pg. 186 it will give you - you'll have (E) Pg. 187 showing for which nodes this fact is known - showing which nodes have this fact (E) Pg. 188 and allows you - and allowing you (E) Pg. 188 as we try - as it tries (C) Pg. 189 that enable you to provide graphing to your team I looked all through this chapter and I didn't see anything about graphing. What did I miss? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/531FD2C5.3050903%40gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: [Puppet Users] Meeting Puppet contractors
On 3/11/2014 9:24 AM, Brandon Clark wrote: I'm not clear on what the etiquette is here but I was hoping to reach out to the puppet community to see if there are any sysops people here who are looking for work. My current admin recently got a new job and moved on so I have need of a replacement person with puppet experience. If these kinds of posts are not welcome I understand if it needs to be moderated. Perhaps I can get a recommendation of where I can meet potential contractors? Thanks I personally have no problem with this but I think you should say something about where the job is located, or whether telecommuting is allowed. Jon Forrest -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/531FD336.4050302%40gmail.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Problems in Ch. 6 of Pro Puppet 2nd Edition
Here are the issues I found in Chapter 6. There were an awful lot of typos. Jon Forrest M = mistake U = unclear T = typo E = text change C = comment (E) Pg. 155 multiple hosts that have a relationship - multiple related hosts (E) Pg. 155 resources and their information to - resources to (E) Pg. 155 operator - system administrator (E) Pg. 155 not declare the resource itself - not declare the resources for these accounts itself (T) Pg. 156 in once place - in one place (E) Pg. 156 one or more times - as many times as necessary (T) Pg. 156 until they're-realized - until they're realized (E) Pg. 157 how to handle the situation where you need to make a number of virtual resources real - how can multiple virtual resources be made real (T) Pg. 158 The syntax arrows are -, and ~ . - The syntax arrows are - and ~ . (T) Pg. 159 feature they aredesigned - feature they are designed (T) Pg. 159 through the puppetlabs puppetdb - through the puppetlabs/puppetdb (T) Pg. 159 puppetlabs - Puppetlabs (E) Pg. 159 If you don't have your Puppet master currently configured to be a node - If your Puppet master isn't defined in site.pp (T) Pg. 160 Puppetdb will collect - PuppetDB will collect (T) Pg. 160 offers an API - offer an API (T) Pg. 160 youcan now export - you can now export (T) Pg. 160 check the availability to new Puppet-managed systems - check the availability of new Puppet-managed systems (E) Pg. 160 When new systems are brought online in a large network - When new systems are brought online (E) Pg. 161 may be declared virtually - may be declared as virtual (This appears twice.) (E) Pg. 161 all nodes in the network - all nodes managed by Puppet (E) Pg. 161 exported and collectible - exported (E) Pg. 161 each resource contain the suffixes _dsa or _rsa - each resource ends with _dsa or _rsa (E) Pg. 161 unique title for the entire network - unique title (E) Pg. 161 the node may be reached by - configured on the node (E) Pg. 161 comes from Facter and is automatically provided - comes automatically from Facter (T) Pg. 161 They type and key parameters - The type and key parameters (U) Pg. 161 You must also collect all exported sshkey resources What does it mean to collect a resource? (E) Pg. 162 the node classification for every host in the network - the node classification for every host managed by Puppet (There are many cases where the network is used on this page. These aren't necessary because Puppet can manage hosts on one or more networks.) (C) Pg. 162 Is node classification the right term? (E) Pg. 162 host keys are collected - host keys appear (T) Pg. 162 public key exported - public keys exported (E) Pg. 162 on the web server - on the web host (This is how you refer to this host everywhere else) (E) Pg. 162 on the mail.example.com host - on mail.example.com (E) Pg. 162 So long as Puppet - As long as Puppet (E) Pg. 163 public identification keys - SSH host keys (E) Pg. 163 This combination eliminates - This eliminates (E) Pg. 163 configure the Example.com system - configure Example.com (E) Pg. 163 As Example.com operator - As the Example.com system administrator (This occurs several places in this chapter.) (E) Pg. 163 This configuration file fragment contains a single line, the URL to a member - This produces a configuration file fragment containing a single line, the URL of a member (C) Pg. 163 Puppet recommends Puppet doesn't recommend anything. The Puppet style guide might, though. (E) Pg. 163 To add additional capacity - To add additional nodes (U) Pg. 164 What's a contained file resource? (E) Pg. 164 configuring Puppet to automatically monitor - configuring Nagios to automatically monitor (E) Pg. 164 for Nagios built into the software - for Nagios built in (E) Pg. 165 looks to the configuration files - looks in the configuration files (M) Pg. 165 exported by the nagios::target class There's no such class shown in this chapter with this name. Do you mean nagios::export::target? This also appears on Pg. 166 and Pg. 167. Maybe the class in Figure 6-19 should be renamed to nagios::target. (M) Pg. 165 Let's take a look at these two classes now (see Listing 6-17) Listing 6-17 only contains one class. (T) Pg. 166 $ipaddress - $::ipaddress (T) Pg. 166 $fqdn - $::fqdn (T) Pg. 168 on the puppet master - on the Puppet master -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/531D2FC0.4020703%40gmail.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Re: Problems in Ch. 4 of Pro Puppet 2nd Edition
On Wednesday, March 5, 2014 10:29:07 AM UTC-8, Spencer Krum wrote: Hi Jon, My name is Spencer Krum. I am one of the authors of Pro Puppet. I want to thank you for going through the book with such a fine toothed comb. I wish I had known you were so committed to making this book a success months ago. I would have gotten you an advance copy so you could have helped make the final version better. What concerns me most is how Apress could have released a book with so many issues. Somehow their production process broke down. From what I understand from Apress, we don't have the ability to directly address these problems in newly sold versions of the book. These errors will be with us until a 3rd edition comes out, maybe sometime around Puppet 4. I'm sorry to hear that. That seems like a long time to wait. What's worse is that people who don't read this email list will have no idea that this book is full of issues. Even now, after I've been releasing these lists for ~2 weeks, the errata page on the Apress web site (http://www.apress.com/9781430260400) still says there are no errata for this book. That's not fair. Here is what we can do. I have created a github repository to collect the errata in a single place. https://github.com/pro-puppet/pro-puppet-errata I don't think we can get that link added to the front matter, but we can probably get it added to the description of the book on Amazon, and can link to it in the online/supplemental materials. This repository is one central place we can collect all the errors/corrections about Pro Puppet 2n'd edition, not just yours. I've already added your ch1-4 reviews to that project. Would you be willing to work on the rest of the chapters with us? Since I haven't received any money from Apress, nor will I request anything other than my own copy of the book (which they've now given me), I'm not inclined to formally work on this project (see below) If you feel comfortable with git/github I can give you contributor access or I can add the text if you want to send it to me. I think collecting all the errors in the github repository is a better solution than posting them all to separate messages to the Puppet users mailing list, a list of over a thousand people. What do you think? What I'm planning on doing is continuing on as I have been. I'm going to post my lists, chapter by chapter, to this list. You, and anybody else, are free to do whatever you want with them, such as putting them up on GitHub. I clearly label these postings so anyone who isn't interested in them can easily skip them. Is this a reasonable approach? Jon Forrest P.S. Have you considered putting the sources for Pro Puppet 2nd ed. up on GitHub the way Scott Chacon did for Pro Git? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/97ed6952-3d4c-46c6-8fc3-582375004ba8%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Problems in Ch. 5 of Pro Puppet 2nd Edition
Here are the issues I found in Chapter 5. M = mistake U = unclear T = typo E = text change C = comment (T) Pg. 141 classes, inheritance, variables and environment configuration - classes, inheritance, variables, and environment configuration (E) Pg. 141 This integration is used - This is used (T) Pg. 141 using hiera - using Hiera (T) Pg. 141 chapter 12.Most - chapter 12. Most (U) Pg. 141 Maybe you'll explain it later but it isn't at all clear at this point how I'll be able to use the syntax shown to define nodes without needing to edit files. Where do lines with that syntax appear? (E) Pg. 141 of these for you - for you (T) Pg. 141 the LDAP node classifier - an LDAP node classifier (M) Pg. 142 Yet Ain't Markup Language - YAML Ain't Markup Language (How could you allow this mistake?) (C) Pg. 142 I'm bothered by the fact that it's and It is appear on the same line. Although this doesn't have any technical effect, this book is very inconsistent about when contractions are used. (U) Pg. 142 expressed in a hash How is what appears later on the page a hash? (T) Pg. 142 you've added our - you've added your (E) Pg. 142 then expressed that the value of item foo is bar - then set the value of item foo to be bar (E) Pg. 142 suitable YAML - valid YAML (E) Pg. 142 to use an external node classifier - to use an ENC (You've been using ENC up to this point. Why change now?) (E) Pg. 143 and the name and location - the path (E) Pg. 143 a classifier called puppet_node_classifier located in the /usr/bin directory - a classifier called /usr/bin/puppet_node_classifier (E) Pg. 143 written in shell script - written in the Bash scripting language (U) Pg. 144 external data store What does this mean? (U) Pg. 144 The Parameterized Classes in YAML example is supposed to show parameters passed to classes. However, the example doesn't make it clear which parameter is being passed. For example, the example at the bottom of the page doesn't look much different than the example near the top of the page. (T) Pg. 145 web, web1, web123 and so on - web, web1, web123, and so on (T) Pg. 146 This page uses hostname while the previous pages use host name. (T) Pg. 149 such as DNS, user and group data - such as DNS, user, and group data (T) Pg. 149 For Red hat - For RedHat (C) Pg. 149 So far the book as used Git for all source code management. This page all of a sudden, without notice, uses Subversion. (T) Pg. 149 change into the resulting directory and make and install the code - change into the resulting directory, make, and install the code (C) Pg. 150 Some places on this page use first person plural, and other places use second person plural. (E) Pg. 150 Schemas - Schema (Schema is like Fish) (E) Pg. 150 [master] section] - [master] stanza (This is how previous chapters refer to it) (E) Pg. 151 to look to - to use (E) Pg. 152 manner as doing so - manner as -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAF0Z9iqy2PFngEa9xBAVGM6rAGMn8U%2B4vzs_qneYkJTQvBAMVg%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Problems in Ch. 4 of Pro Puppet 2nd Edition
On 3/5/2014 1:26 PM, Alessandro Franceschi wrote: Hei Jon, your text correction and errors hunting skills are impressive. Thanks. I try. I'm writing a book about Puppet too and am definitively in time to correct it before printing. There are already technical reviewers doing a great work, but I think you can add great value to the contents and their correctness. Let me know if you are available. Will this book be open source? I'm not really interested in working for money so I generally only work on open source books since this lets me return a favor to the author as thanks for releasing a free book. Pro Puppet 2nd edition isn't open source, I know. I'm not really sure why I'm doing it. Apress has given me an eBook copy but that was after I did the first 3 chapters. Maybe I'm doing it because this will probably become the predominant Puppet book (unless yours is better). It's too bad this book has so many issues. I wasn't expecting this when I started. It's almost as if nobody proof read it, although its editor tells me otherwise. Jon Forrest -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/53194829.4060804%40gmail.com. For more options, visit https://groups.google.com/d/optout.
[Puppet Users] Problems in Ch. 4 of Pro Puppet 2nd Edition
Again, nothing that a good proof edit couldn't fix. Jon Forrest (U) Pg. 100 Listing 4-2 shows package resource definitions appearing as the result of running 'puppet resource service'. Are we supposed to do anything with these definitions? (U) Pg. 100 In Listing 4-2 why aren't standard 'yum install' or 'service' commands used? (U) Pg. 101 How is a reader supposes to know what an NPM provider or RVM is? (T) Pg 101 Often installing Passenger - Often, installing Passenger (T) Pg 103 will consume some time is to run - will consume some time to run (T) Pg. 103 facter fqdn. - facter fqdn (T) Pg. 103 Pro-puppet-master-centos-II - pro-puppet-master-centos-II (E) Pg. 103 stored in the environment as a standard environment variable - stored in a standard environment variable (T) Pg. 105 ServerName attribute of - ServerName attribute in (C) Pg. 106 You should mention that the notice about installing Emacs is just an example. New readers might think that they should see this exact line. (U) Pg. 108 Figure 4-1 looks like there are 3 machines behind the load balancer, but the Note makes it clear that there is really just 1 machine there. (E) Pg. 111 the puppet user, as this parameter decides - the puppet user since this determines (E) Pg. 111 sure to modify - sure to replace (C) Pg. 111 Step 3 vs. four lines. You should decide on a convention for including numbers in text. Either they should be all numeric (e.g. 3, 4) or all text (e.g. three, four). (E) Pg. 111 Pass the request along - Pass the request (M) Pg. 111, 112 There are 3 places that the front-end load balancer configuration file is mentioned, saying that it appears in Listing 4-14. This actually appears in Listing 4-13. (E) Pg. 111 are listed, port 18140 and 18141 - are listed, running on ports 18140 and 18141 (T) Pg. 112 look to - look at (T) Pg. 112 mail.pro-puppet..com - mail.pro-puppet.com (T) Pg. 112 back- end - back-end (E) Pg. 112 HTTP systems - HTTP servers (T) Pg. 113 logged into - logged in (E) Pg. 115 is also available - also appears (T) Pg. 115 let's bring back both workers back online - let's bring both workers back online (E) Pg. 120 Use the puppet agent command to generate a certificate - Use the puppet agent command to generate a certificate signing request (The title for List 4-34 also needs to be modified). (This is correct on Pg 124). (E) Pg. 121 used the ls utility - used ls (E) Pg. 122 with a single thread - with a single core (M) Pg. 123 which were defined in Listing 4-38 - which were defined in Listing 4-37 (C) Pg. 126 First, remove the ssl/ca directory on the secondary CA server This step isn't necessary if you use the -a option to rsync, which makes the destination an exact copy of the source. (E) Pg. 127 a one-minute cron job - a cron job that runs every minute (C) Pg. 127 The font used in the paragraph starting This uses the rsync utility is wrong. It's using the console font from from the crontab -l example. (E) Pg. 128 we get a test run as shown - we make a test run as shown (T) Pg. 130 You performed twosimple - You performed two simple (M) Pg. 130 We could also use DNS round robin to easily redirect and consolidate all certificate requests to a single Puppet CA worked. This is exactly the opposite of what DNS round robin does. It's odd that this mistake exists here since the following paragraph explains DNS round robin correctly. (E) Pg. 130 a portion of the Puppet agent systems - some Puppet agents (E) Pg. 131 As in our HTTP load balancing - As in HTTP load balancing (E) Pg. 131 the Puppet agent supports the configuration of a Puppet CA server - the Puppet agent can be configured to use a Puppet CA server (U) Pg. 131 The Puppet agent configuration should set the --ca_server configuration option How? Does this go in puppet.conf where the other configuration options go? If so, why is the option name shown with the '--' characters? (E) Pg. 131 written down in puppet.conf - specified in puppet.conf (T) Pg. 131 I see both HA proxy and HA-proxy used. However, according to http://haproxy.1wt.eu, its name is HAproxy. This needs to be corrected in many places in the rest of this chapter. (T) Pg. 131 impenetrable to the HA proxy - impenetrable to HAproxy (U) Pg. 131 populating client configs to set the caserver configuration option In addition to the awkward wording, it isn't clear how to set the caserver option. Also, is this the same --ca_server option I mentioned above? (U) Pg. 134 What does it mean to segment a Puppet infrastructure? (U) Pg. 134 What does running a load-balancing virtual IP mean? (T) Pg. 134 to speak - that speaks (E) Pg. 134 The Linux machine uses a BGP or OSPF or other routing protocol link - The machine running Quagga uses a routing protocol link (U) Pg. 134 The paragraph explaining anycast is extremely unclear. (E) Pg. 134 and local code - and local Puppet manifests (U) Pg. 135 What does it mean that the Git directories pollute
[Puppet Users] Problems in Ch. 1 and 2 of Pro Puppet 2nd Edition
I spent a lot of time reading the 1st edition of the Pro Puppet book and I found many problems, most of which should have been caught by the various editors at Apress. I posted a list of what I found to this list and to Apress. My feeling was that Apress was surprisingly nonchalant about the editorial quality of that book. Since I'm the first to admit that I'm no Puppet expert I'm not talking much about problems in its technical coverage since I'm not really qualified to judge. When the 2nd edition of Pro Puppet came out I had high hopes that Apress would have learned something from the 1st edition. I was wrong. Below are the issues I've found with Chapter 1 and 2. Fortunately, the vast majority of these problems are very minor. But they still show a surprising lack of attention to detail by Apress. In one case, an error I found in the 1st edition appears again in the 2nd edition. This error even appears in their errata for the 1st edition. In spite of what appears below, I think Pro Puppet is pretty good, and is definitely worth reading. But Apress better be careful, because they're in danger of becoming as bad as Packt in their editorial quality. Cordially, Jon Forrest M = mistake U = unclear T = typo E = text change C = comment (C) Node definitions throughout the Safari online book have the closing single quote on a line by itself. They should be on the same line as the opening single quote. This is correct in the printed book. In fact, there are a number of similar formatting issues that only appear in the Safari online book. I've noted some of them below. Starting with Ch.2 I'm now reading a borrowed copy of the Apress book so I won't be commenting on these issues further. (E) Pg. 1 you use to create Puppet configuration - you use to create Puppet configurations (M) Pg. 1 licensed as Apache 2.0 - licensed under the Apache 2.0 license This appears correctly in the section about Facter and Facts. (U) Pg. 2 The Puppet master runs as a daemon on a host and contains the configuration required for the specific environment. This is poor wording. What does the configuration required for the specific environment mean? (T) Pg. 4 .apt-get install vim - apt-get install vim (T) Pg. 5 on Red Hat it would execute yum execute should not be in italics. (E) Pg. 6 Puppet configuration can be safely run - Puppet can be safely run (M) Pg. 7 The first caveat is that the master needs to be a later release than the agents. - The first caveat is that the master needs to be the same or a later release than the agents. (T) Pg. 9 On Red Hat, CentOS, Fedora, SUSE/SLES, Debian and Ubuntu, this package is called rubygems. - On Red Hat, CentOS, Fedora, SUSE/SLES, Debian, and Ubuntu, this package is called rubygems. (T) Pg. 10 RubyGems or Source - RubyGems or source (M) Pg. 19 and C:\ProgramData\PuppetLabs\puppet\etc\ - and C:\ProgramData\PuppetLabs\puppet\etc\puppet.conf (E) Pg. 19 Once we've configured appropriate DNS for Puppet - Once we've configured appropriate DNS entries for Puppet (E) Pg. 20 This directory and file is often already created when the Puppet packages are installed. If it hasn't already been created, create this directory and file now - This directory and file are often already created when the Puppet packages are installed. If they haven't already been created, create this directory and file now (E) Pg. 21 Starting the daemon will initiate - Starting the daemon will initialize (T) Pg. ? puppet agent --test --server= puppet.pro-puppet.com - puppet agent --test --server=puppet.pro-puppet.com (On Safari online only) (M) Pg. 22 with three options. The first option, --server, - with three options. The second option, --server, (T) Pg. 23 in the main section - in the [main] section (T) Pg. 23 your client).The - your client). The (E) Pg. 23 The agent sends the certificate request - The agent sends the certificate signing request Pg. ? This configuration is called waitforcertand is - This configuration is called waitforcert and is (On Safari online only) (U) Pg. 26 In Listing 1-7 there are two node definitions for 'node1'. The text doesn't make it clear why an. A FQDN name is shown in one definition and just a hostname is shown in the other. (C) Pg. 26 Parameterized classes is too important a concept to be brushed over. Just a short description only confuses readers. (M) Pg. 28 check the value of the operatingsystem fact - check the value of the osfamily fact (U) Pg. 28 relationship between the Package[sudo-ldap] resource The listing show the package {sudo-ldap ...} syntax. A new user won't know why Package has an upper case first letter. This problem is also present in many places in Ch. 2. It's first explained on Pg. 47. (E) Pg. 28 allows Puppet to retrieve a file from the Puppet source - allows Puppet to retrieve a file from the Puppet server (E) Pg. 28 is the name of the Puppet source - is the name of the Puppet server (E) Pg. 30
[Puppet Users] Re: Facter errors with InfiniBand and VDSM
On Sunday, February 9, 2014 1:34:57 PM UTC-8, treydock wrote: After some debugging it seems it's the ;vdsmdummy; interface that's causing both problems. I have a host with Infiniband, and the same version of Puppet and Facter, that has no errors running facter. My guess is when ifconfig is executed for ;vdsmdummy; it's not using '2 /dev/null', but I can't identify where in the Facter code this is happening. I updated Facter to 1.7.5-rc2 and the error is still the same on the host with the ;vdsmdummy; bridge device. I'm having the same problem on a node without Infiniband, but with VDSM installed. This is with version 1.7.5 of facter on CentOS 6.5 (with all patches). This doesn't seem to prevent anything from working. It would be nice if it went away, though. Jon Forrest -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/651a7d69-2254-41a6-9612-4d87c4399a69%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Puppet Actions in Parallel?
On Mon, Feb 17, 2014 at 6:20 AM, jcbollinger john.bollin...@stjude.org wrote: Well, I think the question that killed this thread the first time boils down to would it really?. The speculation at the time was that parallel execution would produce disappointing wall-time gains, based on the assertion that the catalog application process is largely I/O bound. There were also some assertions that Ruby doesn't do shared-memory parallelism very well. Nobody reported any actual analysis of any of that, though. Right. Without such analysis it's hard to know if this idea is worth following up on today. But, one thing to keep in mind is that systems are always changing. An I/O bound system of today might not be I/O bound tomorrow as technological improvements appear. Having a computer with available resources unable to apply to resources to a Puppet run (or anything else) is wasteful. In time, the lack of client parallelization could be a competitive weakness as Puppet competes in the marketplace. (I don't know what the status of client parallelization is in the competition right now). Jon Forrest -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAF0Z9ipsPHh%2BZOC_VJM2x_74ToCD-u-imyk4Y9bXyi4wxMhYtg%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: Puppet Actions in Parallel?
On Friday, February 14, 2014 8:52:59 PM UTC-8, Andrew Pennebaker wrote: This is a fantastic idea! Any progress on this? I'm the original poster. It's been a while since I posted this. iIt didn't generate nearly as much interest as I was hoping. There was some concern that even though various actions were at the same level in the dependency graph, that they would have side effects that required serial execution. One example of this is that there can only be one apt-get install at a time. There are probably others. So, it wouldn't be easy for Puppet to know which actions it should do safely in parallel. If any other the experts have anything to add I'd love to hear it. Jon Forrest -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/86d46ce2-a714-48c1-9954-b5c9b483b14a%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Error Message: Could not set present on ensure: Function not implemented
Hello John, Thank you for the suggestions. You were correct it was related to the 'ensure' property. I discovered the actual cause of the problem to be fuse and symlink weirdness present in the latest version of Proxmox cluster. It appears that Puppet first creates a temp file and then moves it to this Proxmox-managed, fuse location. This move failed because of permission problems. This problem did not exist in the previous version of Proxmox when configured as a cluster. My debug approach was to manually reproduce Puppet's behavior, but first I had to realize that Puppet creates a file in /tmp and then moves it to the desired location. Creating the file inside the fuse-symlinked directory worked normally. The workaround was to puppet-manage the files in a regular directory and then use an 'exec' resource to copy (not move) the file to its final location. The new define includes a 'proxmox_workaround' flag to handle this special case. I updated the wiki page to show this workaround: http://jaroker.org/technical_notes/issues/software/puppet/start Regards, Jon --- Jon Jaroker http://jaroker.com On Thu, Jan 30, 2014 at 9:13 AM, jcbollinger john.bollin...@stjude.orgwrote: On Wednesday, January 29, 2014 2:00:28 PM UTC-6, Jon Jaroker wrote: Hello, Would anyone know what the error message Could not set present on ensure: Function not implemented means. It is appearing in Puppet 2.7.13 on a File resource type. The --debug flag does not give any hints. [...] Any suggestions on how to troubleshoot this? That's certainly an unhelpful message. I suspect it really means an unanticipated error occurred while trying to sync the target file's 'ensure' property. Since you are ensuring present, Puppet would only be trying to do something with the ensure property if [it thought that] the file does not yet exist. Some things to look at: 1. Unless you want to accommodate the possibility that the target file is a symlink, I would ensure 'file' rather than 'present'. That is unlikely to resolve the problem, however. 2. Check whether the File's target directory exists. 3. Check whether the File's target directory is readable and writable to the Puppet agent. Check that every directory in the path to it is readable. Even with the agent running as a privileged user such as root, there are still ways that it might be denied access (e.g. SELinux, root squashing [for network filesystems]). John -- You received this message because you are subscribed to a topic in the Google Groups Puppet Users group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/puppet-users/L_sLXfw3mJw/unsubscribe. To unsubscribe from this group and all its topics, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/882a1699-d99c-43b8-af80-e3c0da5616b5%40googlegroups.com . For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAPRiO6SwYhMwbz2AEwiFe1GQFaYbDE7gk81Xhj4SZnL7%3DMJ3%3DQ%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] ENC - how to set order of operations?
I need to convert my resource based system to ENC. It's mostly straightforward but I'm not sure how to handle operations like these: Class['apt'] - Package| | -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/b6324c21-3725-480d-b2ab-33ee48577ba6%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] ENC - how to set order of operations?
Right. So how would I declare this dependency setup if I stop using node files? On Monday, February 3, 2014 9:33:40 AM UTC-8, Jose Luis Ledesma wrote: Hi Perhaps I'm confused but an ENC stores node definition and not collector nor dependencies...doesn't it? Regards, El 03/02/2014 16:13, Jon Yeargers ethr...@gmail.com javascript: escribió: I need to convert my resource based system to ENC. It's mostly straightforward but I'm not sure how to handle operations like these: Class['apt'] - Package| | -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com javascript:. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/b6324c21-3725-480d-b2ab-33ee48577ba6%40googlegroups.com . For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/89c4d5d6-1f79-454c-8d22-1e1fb9ce15d6%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] ENC - how to set order of operations?
So if a given node is named in both an ENC and the site manifest... it will use both? IE If I have some definitions that I want to send everywhere and others that are node specific.. I can use both types of node entries? On Monday, February 3, 2014 10:14:52 AM UTC-8, Dan Bode wrote: On Mon, Feb 3, 2014 at 9:45 AM, Jon Yeargers ethr...@gmail.comjavascript: wrote: Right. So how would I declare this dependency setup if I stop using node files? Even if you use an ENC, Puppet will still consult your site manifest, so using an ENC does not preclude you from setting resource dependencies via collection in your site manifest. On Monday, February 3, 2014 9:33:40 AM UTC-8, Jose Luis Ledesma wrote: Hi Perhaps I'm confused but an ENC stores node definition and not collector nor dependencies...doesn't it? Regards, El 03/02/2014 16:13, Jon Yeargers ethr...@gmail.com escribió: I need to convert my resource based system to ENC. It's mostly straightforward but I'm not sure how to handle operations like these: Class['apt'] - Package| | -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/ msgid/puppet-users/b6324c21-3725-480d-b2ab-33ee48577ba6% 40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com javascript:. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/89c4d5d6-1f79-454c-8d22-1e1fb9ce15d6%40googlegroups.com . For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/d0568d5a-450f-45e3-9d4e-7d85e2e07d60%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Port for ENC requests?
I'm trying to debug a new ENC setup. I created a short perl script to output a few lines of YAML. It runs fine on the puppet server but when I try it on a client I get this error: Warning: Error 400 on SERVER: Failed to find client.domain.org via exec: Execution of the '/etc/puppet/ENC/plug0.pl client.domain.org' returned 13: What I've tried: - turning off SELinux / adding exceptions * no change - running the script locally * runs fine - looking for errors in apache logs * nothing in there - looking for errors in $LOGDIR/messages * nothing there either What I'm wondering about is whether these requests need a certain port to be open in the firewall. The clients in question are connected via a VPN so the traffic is somewhat non-standard. Somewhere else I should be looking for errors? What does error 13 imply? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/7fb3cc93-b3ef-41f8-a169-40bffc13e2d3%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Error Message: Could not set present on ensure: Function not implemented
Hello, Would anyone know what the error message Could not set present on ensure: Function not implemented means. It is appearing in Puppet 2.7.13 on a File resource type. The --debug flag does not give any hints. The complete manifest triggering this error is located here: http://jaroker.org/technical_notes/issues/software/puppet/start The full error message is: err: /Stage[main]//Node[bose]/Openvz::Bindmount[apps07]/File[Bind Mount Config for apps07 on bose]/ensure: change from absent to present failed: Could not set 'present on ensure: Function not implemented - /etc/vz/conf/1107.mount20140128-9690-11oic7u-0 at /etc/puppet/modules/common/openvz/manifests/bindmount.pp:47 The resource being managed (where the problem is occurring) is: file { Bind Mount Config for ${container} on ${host}: ensure = present, path= $bind_conf, content = template('openvz/mount.conf.erb','common/header.sh.erb'), mode= 740, #(Proxmox file system unable to chmod) } Any suggestions on how to troubleshoot this? Thank you, Jon -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/4459553d-128f-4345-a4b7-6d1873d3dc7b%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Puppet 2.7.23 error Could not set present on ensure: Function not implemented
Hello, I was wondering if anyone can give me a pointer on how to solve an ambiguous Puppet error Function not implemented when attempting to create a file using the 'file' resource type. The '--debug' flag does not produce useful information. My puppet manifests work fine on several other physical and virtual hosts. This error appears on a new host that was recently installed. The software and hardware configuration of this new host are almost identical to all other systems on which the same puppet manifests runs normally. I notice the error message is appending (what appears to be) the temporary file name used in generating a diff to the managed resource. I put the error message and relevant manifest on a web page as well as excerpt them below. Can someone offer suggestions on how I can debug this? Thank you, Jon Full manifest is located here: http://jaroker.org/technical_notes/issues/software/puppet/start The error message is: err: /Stage[main]//Node[bose]/Openvz::Bindmount[apps07]/File[Bind Mount Config for apps07 on bose]/ensure: change from absent to present failed: Could not set 'present on ensure: Function not implemented - /etc/vz/conf/1107.mount20140128-9690-11oic7u-0 at /etc/puppet/modules/common/openvz/manifests/bindmount.pp:47 This error is being triggered by the following resource: file { Bind Mount Config for ${container} on ${host}: ensure = present, path= $bind_conf, content = template('openvz/mount.conf.erb','common/header.sh.erb'), mode= 740, #(Proxmox file system unable to chmod) } -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/d74d6954-c868-4cf4-8e2d-67dd740d9acf%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: What is the convention used if I want to pull content from source-control for populating a manifest resource?
The URI scheme for 'source' is either 'puppet' or 'file'. Here is the man page: http://docs.puppetlabs.com/references/latest/type.html#file-attribute-source To pull from a repository, you should use a subversion manifest that implements checkout. Jon On Monday, January 27, 2014 1:45:30 PM UTC-5, Mark Jaffe wrote: Manifest for an app: class my_app { . . . file { '/etc/sysconfig/my_app/configs': ensure = directory, mode = 0755, source = ' https://subversion.mycompany.com/repository/project/trunk/model-config', } How would I provide user auth? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/33875a92-1c20-4ecc-b998-b4624a5241be%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Getting agent v3.4 to manage my services
I corrected the problem by including this in my /etc/init.d/script: if [ -e $PIDFILE ] then exit 0 else exit 1 fi Put this in a 'status' command for your service control script. It works in puppet v3.4. On Monday, December 30, 2013 3:11:30 PM UTC-8, Edson Manners wrote: I had this same problem and couldn't figure out why it did it. I was moving from 2.7.23 to 3.x and it was driving me nuts, I never found what was the exact cause as there weren't any errors showing up and ' puppet agent -t' ran clean. I ended up blowing away my whole puppet/passenger/puppetdb install and starting from 3.4 in order to get past it. I wish you better luck. On 12/30/2013 06:04 PM, Jon Yeargers wrote: I have a group of services that are supposed to be maintained by puppet agent. Up until I moved from 2.6 to 3.4 they were kept up to date and running (as expected). Since the upgrade of the puppet agent these services are no longer being monitored. I'm sure that the server is still seeing the files as errors in them are flagged. Running 'puppet agent --debug' shows the requests for 'service name status' go by and yet even though the service is not running there is no move to start it. Running the 'service name start' command starts the service normally. So: what have I broken by upgrading my clients? As I mentioned - this used to work. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com javascript:. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/dba2294d-826c-46d1-817c-6fd383818220%40googlegroups.com . For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/2af667fc-8c33-491a-aa11-8fd369ba205e%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Getting agent v3.4 to manage my services
I have a group of services that are supposed to be maintained by puppet agent. Up until I moved from 2.6 to 3.4 they were kept up to date and running (as expected). Since the upgrade of the puppet agent these services are no longer being monitored. I'm sure that the server is still seeing the files as errors in them are flagged. Running 'puppet agent --debug' shows the requests for 'service name status' go by and yet even though the service is not running there is no move to start it. Running the 'service name start' command starts the service normally. So: what have I broken by upgrading my clients? As I mentioned - this used to work. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/dba2294d-826c-46d1-817c-6fd383818220%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] triggering 'apt-get update'?
I'm using the puppetforge 'apt' module to deal with some repositories. It has 'always-apt-update' as a property and I've had it set to 'true' but I'm wondering what happens if I don't. Is the puppet package manager 'smart' enough to get the latest versions of packages that it's monitoring ('ensure = latest') without being told to keep the repository up to date? The main reason I'm asking is that the 'apt-get update' seems to always run last in the 'agent' pass. IE it takes two runs to get the latest packages - 1 to update the cache and the 2nd to get the latest versions. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/f1848bdf-c513-4d27-a156-8f6847e60650%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Execution expired? Error message during agent run
Running 'puppet agent --test' - after 5-10 minutes of execution this error appeared: err: Could not run Puppet configuration client: execution expired When I ran the same command the execution resumed and continued to completion. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/dd24edc8-dff5-44de-83d1-2b16e45e0d14%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: puppet node find doesn't return classes and scope vars ?
https://tickets.puppetlabs.com/browse/PUP-1185 On Thursday, December 19, 2013 7:49:08 AM UTC-5, Felix.Frank wrote: Is there an issue for this in Jira? If not, it would be much appreciated for either of you to create one. Thanks, Felix On 12/13/2013 11:08 PM, Paul Archer wrote: I see that puppet 3.3.2 has the problem as well. Worse, the documentation for 'puppet node' doesn't match the actual command. On Friday, December 13, 2013 11:13:26 AM UTC-6, Jon McKenzie wrote: Re-upping this topic rather than creating a new one. I'm using Puppet 3.3.1 and am still having this problem. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/d8ab6651-45c5-45ea-846b-c1e2d874885d%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Getting latest agent on debian for ARM?
So am I SOL on this? Is ARM considered an 'unsupported architecture' until I can create a 'dmidecode' for this platform? On Wednesday, December 11, 2013 10:55:11 AM UTC-8, Jon Yeargers wrote: I can wget and install facter but the issues continue: root@plugpc-005:/tmp# apt-get install puppet Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: facter : Depends: dmidecode but it is not installable puppet : Depends: puppet-common (= 3.3.2-1puppetlabs1) but it is not going to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). root@plugpc-005:/tmp# apt-get install puppet-common Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: facter : Depends: dmidecode but it is not installable puppet-common : Depends: ruby-shadow but it is not installable or libshadow-ruby1.8 but it is not going to be installed Depends: libaugeas-ruby but it is not going to be installed or libaugeas-ruby1.9.1 but it is not going to be installed or libaugeas-ruby1.8 but it is not going to be installed Depends: hiera (= 1.0.0) but it is not going to be installed Depends: ruby-rgen (= 0.6.5) but it is not going to be installed Recommends: lsb-release but it is not going to be installed Recommends: debconf-utils but it is not going to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). Attempts to install any of these packages gives me similar errors. On Wednesday, December 11, 2013 9:50:07 AM UTC-8, Jeff Bachtel wrote: You can fetch it directly (wget, curl, whatever) from http://apt.puppetlabs.com/pool/squeeze/main/f/facter/facter_1.6.18-1puppetlabs1_all.deb Jeff On 12/11/2013 12:39 PM, Jon Yeargers wrote: root@plugpc-005:~# apt-get install ruby libopenssl-ruby pciutils Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'libruby' instead of 'libopenssl-ruby' pciutils is already the newest version. libruby is already the newest version. ruby is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. There isn't a 'download' option for apt-get on this system so I tried '--download-only': root@plugpc-005:~# apt-get --download-only install facter Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: facter : Depends: dmidecode but it is not installable E: Broken packages I added '--ignore-missing' but the result was the same. On Wednesday, December 11, 2013 7:47:02 AM UTC-8, Jeff Bachtel wrote: demidecode (which is a hard dependency for facter) is not available for armel in Debian's repository. I have confirmed that facter will not fail outright when dmidecode is missing. The following facter variables will not be created, however: bios_release_date bios_vendor bios_version boardmanufacturer boardproductname boardserialnumber manufacturer productname serialnumber type uuid If that's acceptable for you, you can try apt-get install ruby libopenssl-ruby pciutils apt-get download facter dpkg -i --force-depends facter*.deb apt-get install puppet This will manually install the other facter dependencies (which should exist for armel), download the facter .deb file, then do an install of it without checking depends. The puppet install should succeed after that. I think facter's dmidecode dependency should be a Suggests vice a Depends, and it might be worth filing a bugrep to get it changed. Jeff On 12/11/2013 10:31 AM, Jon Yeargers wrote: I also tried 'apt-get dist-upgrade'. This brought down 'hiera' (along with a few other things). Then tried 'apt-get install puppet-common' - this failed as 'facter' needed a higher version. .. so tried 'facter' but this failed with: facter : Depends : dmidecode but it is not installable If I do 'apt-cache search dmidecode' it isn't available. On Wednesday, December 11, 2013 7:26:02 AM UTC-8, Jon Yeargers wrote: 'apt-get update' ran fine this time. 'apt-get install puppet': Some packages could not be installed. This may
[Puppet Users] Re: puppet node find doesn't return classes and scope vars ?
Re-upping this topic rather than creating a new one. I'm using Puppet 3.3.1 and am still having this problem. For example, if I run: puppet node find $(puppet config print certname) --render-as yaml The resulting YAML is missing ENC-set parameters (among other things). On the other hand, if I call the Puppet server's REST API (e.g. a GET to https://puppet:8140/production/node/certname), I *do* get the ENC-set parameters. I'd like to use the provided command-line tool to do this, but it doesn't seem to be working correctly. Am I missing something? Thanks! On Friday, April 5, 2013 4:14:36 AM UTC-4, Mohit Chawla wrote: Hi, I am trying to use the node subcommand like so: puppet node find --terminus rest --render-as yaml --mode master foo.com This only shows facts, name, environment, expiration and time but not the classes or node level variables. Puppet version is 2.7.20. Any suggestions ? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/8441d5dd-8207-4f3a-9fce-6f8ab872b199%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Getting latest agent on debian for ARM?
Just out of curiosity I created my own 'dmidecode' package with a trivial (does nothing) dmidecode executable. Once this was installed the rest of puppet v 3.3.2 installed fine. NOW: it's having trouble accepting that certain services are already running and it's trying to restart them every time. Strangely enough it doesn't happen with 'system' services (EG apache2, snmpd) but only with my code. I can't imagine this is related to my fake dmidecode but I'll keep looking into it. On Friday, December 13, 2013 4:08:10 AM UTC-8, Felix.Frank wrote: Ideally, there will be a newly released facter package that replaces this dependency by a suggestion or recommendation. It will Just Work for you then. In the meantime, these are your options: a) fetch the facter source package and build a forked package without this dependency b) fetch all deb packages you require and install them in one go using dpkg -i --force-depends or similar. Option (a) is simple if you're versed in the creation of Debian packages, and pretty difficult if you're not. HTH, Felix On 12/13/2013 12:39 PM, Jon Yeargers wrote: So am I SOL on this? Is ARM considered an 'unsupported architecture' until I can create a 'dmidecode' for this platform? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/40a9fd9d-127e-48b9-8c67-c284ca6bd694%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Getting latest agent on debian for ARM?
Answer here: http://stackoverflow.com/questions/14607385/puppet-does-not-start-a-service-varnish-when-puppet-apply-is-run On Friday, December 13, 2013 11:07:01 AM UTC-8, Jon Yeargers wrote: Just out of curiosity I created my own 'dmidecode' package with a trivial (does nothing) dmidecode executable. Once this was installed the rest of puppet v 3.3.2 installed fine. NOW: it's having trouble accepting that certain services are already running and it's trying to restart them every time. Strangely enough it doesn't happen with 'system' services (EG apache2, snmpd) but only with my code. I can't imagine this is related to my fake dmidecode but I'll keep looking into it. On Friday, December 13, 2013 4:08:10 AM UTC-8, Felix.Frank wrote: Ideally, there will be a newly released facter package that replaces this dependency by a suggestion or recommendation. It will Just Work for you then. In the meantime, these are your options: a) fetch the facter source package and build a forked package without this dependency b) fetch all deb packages you require and install them in one go using dpkg -i --force-depends or similar. Option (a) is simple if you're versed in the creation of Debian packages, and pretty difficult if you're not. HTH, Felix On 12/13/2013 12:39 PM, Jon Yeargers wrote: So am I SOL on this? Is ARM considered an 'unsupported architecture' until I can create a 'dmidecode' for this platform? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/0b3e34b1-e3e1-4e8d-8a3a-23ab6be1bf8d%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Getting latest agent on debian for ARM?
'apt-get update' ran fine this time. 'apt-get install puppet': Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: puppet : Depends: puppet-common (= 3.3.2-1puppetlabs1) but 2.6.2-5+squeeze8 is to be installed E: Broken packages I also tried uninstalling puppet and then doing the install. Same result. On Tuesday, December 10, 2013 3:11:27 PM UTC-8, Moses Mendoza wrote: Hi all, apt.puppetlabs.com has been updated with additional architectures so the 'all' packages should install. Can you check if you still have the same issues? On Tue, Dec 10, 2013 at 12:01 PM, Moses Mendoza mo...@puppetlabs.comjavascript: wrote: On Tue, Dec 10, 2013 at 10:52 AM, Jon Yeargers ethr...@gmail.comjavascript: wrote: I updated the repository file using the official puppet-recommended version. The corrected line is: deb http://apt.puppetlabs.com squeeze main (i mistakenly entered 'wheezy' above). When I do 'apt-get update' I'm told: W: Filed to fetch http://apt.puppetlabs.com/dists/squeeze/ReleaseUnable to find expected entry main/binary-armel/Packages in Meta-index file (malformed Release file?) On Tuesday, December 10, 2013 9:11:44 AM UTC-8, Felix.Frank wrote: That's not the issue at all I think. Is that source.list entry from a howto? Have you tried the instructions here: http://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#for-debian-and-ubuntu Because what apt is making of your configuration is plain wrong. On 12/10/2013 05:50 PM, Jon Yeargers wrote: If I create a '/etc/apt/sources.list.d/puppet.list' with: deb http://apt.puppetlabs.com/pool wheezy stable I get: Failed to fetch http://apt.puppetlabs.com/pool/dists/wheezy/stable/binary-armel/Packages.gz 404 Not Found I'm thinking that I might need to set this up on an x86 machine and then rebuild the package file myself in a private repository. My apologies - this is a problem with our apt repository configuration - we did not set it up to include architectures other than i386 and amd64. We will be remedying this soon, so that while we may not yet have arm-specific packages, at least our all-arch packages will work. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com javascript:. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/0e4f7484-682f-44c9-b370-5a977d4085ee%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Moses Mendoza Puppet Labs Join us at PuppetConf 2014, September 23-24 in San Francisco -- Moses Mendoza Puppet Labs Join us at PuppetConf 2014, September 23-24 in San Francisco -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/a2bd1ecb-dd6a-42cb-9ffc-333e9cfdc0db%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Getting latest agent on debian for ARM?
I also tried 'apt-get dist-upgrade'. This brought down 'hiera' (along with a few other things). Then tried 'apt-get install puppet-common' - this failed as 'facter' needed a higher version. .. so tried 'facter' but this failed with: facter : Depends : dmidecode but it is not installable If I do 'apt-cache search dmidecode' it isn't available. On Wednesday, December 11, 2013 7:26:02 AM UTC-8, Jon Yeargers wrote: 'apt-get update' ran fine this time. 'apt-get install puppet': Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: puppet : Depends: puppet-common (= 3.3.2-1puppetlabs1) but 2.6.2-5+squeeze8 is to be installed E: Broken packages I also tried uninstalling puppet and then doing the install. Same result. On Tuesday, December 10, 2013 3:11:27 PM UTC-8, Moses Mendoza wrote: Hi all, apt.puppetlabs.com has been updated with additional architectures so the 'all' packages should install. Can you check if you still have the same issues? On Tue, Dec 10, 2013 at 12:01 PM, Moses Mendoza mo...@puppetlabs.com wrote: On Tue, Dec 10, 2013 at 10:52 AM, Jon Yeargers ethr...@gmail.com wrote: I updated the repository file using the official puppet-recommended version. The corrected line is: deb http://apt.puppetlabs.com squeeze main (i mistakenly entered 'wheezy' above). When I do 'apt-get update' I'm told: W: Filed to fetch http://apt.puppetlabs.com/dists/squeeze/ReleaseUnable to find expected entry main/binary-armel/Packages in Meta-index file (malformed Release file?) On Tuesday, December 10, 2013 9:11:44 AM UTC-8, Felix.Frank wrote: That's not the issue at all I think. Is that source.list entry from a howto? Have you tried the instructions here: http://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#for-debian-and-ubuntu Because what apt is making of your configuration is plain wrong. On 12/10/2013 05:50 PM, Jon Yeargers wrote: If I create a '/etc/apt/sources.list.d/puppet.list' with: deb http://apt.puppetlabs.com/pool wheezy stable I get: Failed to fetch http://apt.puppetlabs.com/pool/dists/wheezy/stable/binary-armel/Packages.gz 404 Not Found I'm thinking that I might need to set this up on an x86 machine and then rebuild the package file myself in a private repository. My apologies - this is a problem with our apt repository configuration - we did not set it up to include architectures other than i386 and amd64. We will be remedying this soon, so that while we may not yet have arm-specific packages, at least our all-arch packages will work. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/0e4f7484-682f-44c9-b370-5a977d4085ee%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Moses Mendoza Puppet Labs Join us at PuppetConf 2014, September 23-24 in San Francisco -- Moses Mendoza Puppet Labs Join us at PuppetConf 2014, September 23-24 in San Francisco -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/96382244-64e6-458e-a33a-81f24a4befbf%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Getting latest agent on debian for ARM?
root@plugpc-005:~# apt-get install ruby libopenssl-ruby pciutils Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'libruby' instead of 'libopenssl-ruby' pciutils is already the newest version. libruby is already the newest version. ruby is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. There isn't a 'download' option for apt-get on this system so I tried '--download-only': root@plugpc-005:~# apt-get --download-only install facter Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: facter : Depends: dmidecode but it is not installable E: Broken packages I added '--ignore-missing' but the result was the same. On Wednesday, December 11, 2013 7:47:02 AM UTC-8, Jeff Bachtel wrote: demidecode (which is a hard dependency for facter) is not available for armel in Debian's repository. I have confirmed that facter will not fail outright when dmidecode is missing. The following facter variables will not be created, however: bios_release_date bios_vendor bios_version boardmanufacturer boardproductname boardserialnumber manufacturer productname serialnumber type uuid If that's acceptable for you, you can try apt-get install ruby libopenssl-ruby pciutils apt-get download facter dpkg -i --force-depends facter*.deb apt-get install puppet This will manually install the other facter dependencies (which should exist for armel), download the facter .deb file, then do an install of it without checking depends. The puppet install should succeed after that. I think facter's dmidecode dependency should be a Suggests vice a Depends, and it might be worth filing a bugrep to get it changed. Jeff On 12/11/2013 10:31 AM, Jon Yeargers wrote: I also tried 'apt-get dist-upgrade'. This brought down 'hiera' (along with a few other things). Then tried 'apt-get install puppet-common' - this failed as 'facter' needed a higher version. .. so tried 'facter' but this failed with: facter : Depends : dmidecode but it is not installable If I do 'apt-cache search dmidecode' it isn't available. On Wednesday, December 11, 2013 7:26:02 AM UTC-8, Jon Yeargers wrote: 'apt-get update' ran fine this time. 'apt-get install puppet': Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: puppet : Depends: puppet-common (= 3.3.2-1puppetlabs1) but 2.6.2-5+squeeze8 is to be installed E: Broken packages I also tried uninstalling puppet and then doing the install. Same result. On Tuesday, December 10, 2013 3:11:27 PM UTC-8, Moses Mendoza wrote: Hi all, apt.puppetlabs.com has been updated with additional architectures so the 'all' packages should install. Can you check if you still have the same issues? On Tue, Dec 10, 2013 at 12:01 PM, Moses Mendoza mo...@puppetlabs.com wrote: On Tue, Dec 10, 2013 at 10:52 AM, Jon Yeargers ethr...@gmail.com wrote: I updated the repository file using the official puppet-recommended version. The corrected line is: deb http://apt.puppetlabs.com squeeze main (i mistakenly entered 'wheezy' above). When I do 'apt-get update' I'm told: W: Filed to fetch http://apt.puppetlabs.com/dists/squeeze/ReleaseUnable to find expected entry main/binary-armel/Packages in Meta-index file (malformed Release file?) On Tuesday, December 10, 2013 9:11:44 AM UTC-8, Felix.Frank wrote: That's not the issue at all I think. Is that source.list entry from a howto? Have you tried the instructions here: http://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#for-debian-and-ubuntu Because what apt is making of your configuration is plain wrong. On 12/10/2013 05:50 PM, Jon Yeargers wrote: If I create a '/etc/apt/sources.list.d/puppet.list' with: deb http://apt.puppetlabs.com/pool wheezy stable I get: Failed to fetch http://apt.puppetlabs.com/pool/dists/wheezy/stable/binary-armel/Packages.gz 404 Not Found I'm thinking that I might need to set this up on an x86 machine and then rebuild the package file myself in a private repository. My apologies - this is a problem with our apt repository configuration - we did
Re: [Puppet Users] Re: Getting latest agent on debian for ARM?
I can wget and install facter but the issues continue: root@plugpc-005:/tmp# apt-get install puppet Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: facter : Depends: dmidecode but it is not installable puppet : Depends: puppet-common (= 3.3.2-1puppetlabs1) but it is not going to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). root@plugpc-005:/tmp# apt-get install puppet-common Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: facter : Depends: dmidecode but it is not installable puppet-common : Depends: ruby-shadow but it is not installable or libshadow-ruby1.8 but it is not going to be installed Depends: libaugeas-ruby but it is not going to be installed or libaugeas-ruby1.9.1 but it is not going to be installed or libaugeas-ruby1.8 but it is not going to be installed Depends: hiera (= 1.0.0) but it is not going to be installed Depends: ruby-rgen (= 0.6.5) but it is not going to be installed Recommends: lsb-release but it is not going to be installed Recommends: debconf-utils but it is not going to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). Attempts to install any of these packages gives me similar errors. On Wednesday, December 11, 2013 9:50:07 AM UTC-8, Jeff Bachtel wrote: You can fetch it directly (wget, curl, whatever) from http://apt.puppetlabs.com/pool/squeeze/main/f/facter/facter_1.6.18-1puppetlabs1_all.deb Jeff On 12/11/2013 12:39 PM, Jon Yeargers wrote: root@plugpc-005:~# apt-get install ruby libopenssl-ruby pciutils Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'libruby' instead of 'libopenssl-ruby' pciutils is already the newest version. libruby is already the newest version. ruby is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. There isn't a 'download' option for apt-get on this system so I tried '--download-only': root@plugpc-005:~# apt-get --download-only install facter Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: facter : Depends: dmidecode but it is not installable E: Broken packages I added '--ignore-missing' but the result was the same. On Wednesday, December 11, 2013 7:47:02 AM UTC-8, Jeff Bachtel wrote: demidecode (which is a hard dependency for facter) is not available for armel in Debian's repository. I have confirmed that facter will not fail outright when dmidecode is missing. The following facter variables will not be created, however: bios_release_date bios_vendor bios_version boardmanufacturer boardproductname boardserialnumber manufacturer productname serialnumber type uuid If that's acceptable for you, you can try apt-get install ruby libopenssl-ruby pciutils apt-get download facter dpkg -i --force-depends facter*.deb apt-get install puppet This will manually install the other facter dependencies (which should exist for armel), download the facter .deb file, then do an install of it without checking depends. The puppet install should succeed after that. I think facter's dmidecode dependency should be a Suggests vice a Depends, and it might be worth filing a bugrep to get it changed. Jeff On 12/11/2013 10:31 AM, Jon Yeargers wrote: I also tried 'apt-get dist-upgrade'. This brought down 'hiera' (along with a few other things). Then tried 'apt-get install puppet-common' - this failed as 'facter' needed a higher version. .. so tried 'facter' but this failed with: facter : Depends : dmidecode but it is not installable If I do 'apt-cache search dmidecode' it isn't available. On Wednesday, December 11, 2013 7:26:02 AM UTC-8, Jon Yeargers wrote: 'apt-get update' ran fine this time. 'apt-get install puppet': Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve
[Puppet Users] Re: Getting latest agent on debian for ARM?
I've tried using 'gem' to install the latest build but it brings down lots of (seemingly) unnecessary bits with it. (examples, docs, etc) On Thursday, December 5, 2013 9:16:15 AM UTC-8, Jon Yeargers wrote: I'm looking to deploy several hundred ARM based machines in the near future. At this point the puppet agent version available via apt (Debian 6) is 2.6. I tried adding the apt.puppetlabs.com repository but it won't install on my systems as the CPU type isn't supported. What are my options to get 3.x? I don't see a path to compile the source. Can I copy the relevant folders to a private repository and host from there? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/8cb52b29-e9a4-4192-bb16-d7efa1917d65%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Problem with report processor - undefined method
I would love DEARLY to be able to update my clients (agents) but they are running on ARM processors and I can't get the update. I posted about this here and on askpuppet but haven't found an answer yet. On Tuesday, December 10, 2013 8:16:33 AM UTC-8, Jeff Bachtel wrote: If this is accurate, I can only warn that I've run into horribly annoying, manifest-breaking issues trying to run 2.6/2.7 clients with 3.3 servers. It may not be official advice, but if you can make puppet client versions track your puppet server closer, you will have much less headache. Jeff On Thu, Dec 5, 2013 at 7:29 PM, Jon Yeargers ethr...@gmail.comjavascript: wrote: After I got puppetdb working I was looking about at the various bits of data available. Looking at the 'nodes' option I was suprised to see this: report_timestamp : null for every node. They all have this for their puppet.conf: [main] logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter templatedir=$confdir/templates [agent] server=server_name certname=client_name pluginsync=true report=true so I assumed they were reporting. TL;DR Looking at /var/log/messages on the server I found these messages appearing: puppet-master[1090]: Report processor failed: undefined method `=' for nil:NilClass What's up? Have I misconfigured something? Clients: v 2.6 Server: v 3.3 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com javascript:. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/d0e27c25-4970-4ee8-bc75-680d057ff9aa%40googlegroups.com . For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/d9c94126-51b1-4406-b522-6d21ef002209%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: Getting latest agent on debian for ARM?
If I create a '/etc/apt/sources.list.d/puppet.list' with: deb http://apt.puppetlabs.com/pool wheezy stable I get: Failed to fetch http://apt.puppetlabs.com/pool/dists/wheezy/stable/binary-armel/Packages.gz 404 Not Found I'm thinking that I might need to set this up on an x86 machine and then rebuild the package file myself in a private repository. On Tuesday, December 10, 2013 8:22:36 AM UTC-8, Jon Yeargers wrote: I've tried using 'gem' to install the latest build but it brings down lots of (seemingly) unnecessary bits with it. (examples, docs, etc) On Thursday, December 5, 2013 9:16:15 AM UTC-8, Jon Yeargers wrote: I'm looking to deploy several hundred ARM based machines in the near future. At this point the puppet agent version available via apt (Debian 6) is 2.6. I tried adding the apt.puppetlabs.com repository but it won't install on my systems as the CPU type isn't supported. What are my options to get 3.x? I don't see a path to compile the source. Can I copy the relevant folders to a private repository and host from there? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/a1b10982-5296-448e-b27b-608142dd47ef%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: Error 400 on SERVER: No such file or directory - getcwd
I debugged this same 400 error with 'getcwd' in my 2.7.18 version of puppet. I did not find useful information through web searches, so posted my debugging steps here: http://jaroker.com/?p=2036 In my case, the puppet master had been operating normally for over a year. I had recently updated my Eclipse IDE and created new manifests. The IDE used non UTF-8 encoding on these new files. Subsequent puppet runs on various nodes produced this 400-getcwd error: puppet: Could not retrieve catalog from remote server Error 400 on SERVER “Could not parse for environment...” getcwd In my case, the solution was to identify DOS-encoded files on the master and convert them to unix. Jon On Wednesday, June 19, 2013 12:28:28 PM UTC-4, Rachel Andrew wrote: Hi fully expecting to have done something silly here but am struggling to debug why I am getting the error: Error: Could not retrieve catalog from remote server: Error 400 on SERVER: No such file or directory - getcwd at /etc/puppet/manifests/nodes.pp:2 on node my.domain.net the line in question is getting a custom module which has not changed recently. I was installing http://www.practicalclouds.com/content/guide/pclouds-vcsdeploy-deploy-stuffand having some permissions issues, so I think this may well be to do with permissions. However I am at a loss as to what as everything looks to be ok. Puppet Master and two client nodes on Debian Wheezy, the clients both return this error. Puppet version 3.2.1 on all 3. Any suggestions as to where to start debugging this? Rachel -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/3340e221-be23-405d-baa0-5d08001aedc8%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Getting latest agent on debian for ARM?
I updated the repository file using the official puppet-recommended version. The corrected line is: deb http://apt.puppetlabs.com squeeze main (i mistakenly entered 'wheezy' above). When I do 'apt-get update' I'm told: W: Filed to fetch http://apt.puppetlabs.com/dists/squeeze/Release Unable to find expected entry main/binary-armel/Packages in Meta-index file (malformed Release file?) On Tuesday, December 10, 2013 9:11:44 AM UTC-8, Felix.Frank wrote: That's not the issue at all I think. Is that source.list entry from a howto? Have you tried the instructions here: http://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#for-debian-and-ubuntu Because what apt is making of your configuration is plain wrong. On 12/10/2013 05:50 PM, Jon Yeargers wrote: If I create a '/etc/apt/sources.list.d/puppet.list' with: deb http://apt.puppetlabs.com/pool wheezy stable I get: Failed to fetch http://apt.puppetlabs.com/pool/dists/wheezy/stable/binary-armel/Packages.gz 404 Not Found I'm thinking that I might need to set this up on an x86 machine and then rebuild the package file myself in a private repository. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/0e4f7484-682f-44c9-b370-5a977d4085ee%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: Problem with report processor - undefined method
On further inspections the YAML files are still being created but not the puppet db entries. On Thursday, December 5, 2013 4:29:44 PM UTC-8, Jon Yeargers wrote: After I got puppetdb working I was looking about at the various bits of data available. Looking at the 'nodes' option I was suprised to see this: report_timestamp : null for every node. They all have this for their puppet.conf: [main] logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter templatedir=$confdir/templates [agent] server=server_name certname=client_name pluginsync=true report=true so I assumed they were reporting. TL;DR Looking at /var/log/messages on the server I found these messages appearing: puppet-master[1090]: Report processor failed: undefined method `=' for nil:NilClass What's up? Have I misconfigured something? Clients: v 2.6 Server: v 3.3 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/6abed7eb-6cb9-439e-93be-01524276fed7%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Getting latest agent on debian for ARM?
I'm looking to deploy several hundred ARM based machines in the near future. At this point the puppet agent version available via apt (Debian 6) is 2.6. I tried adding the apt.puppetlabs.com repository but it won't install on my systems as the CPU type isn't supported. What are my options to get 3.x? I don't see a path to compile the source. Can I copy the relevant folders to a private repository and host from there? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/06eb5267-9326-4a5b-91d8-cf55c734aaad%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] puppetdb not responding since 'yum update'
I did `yum update` on my puppet server about a week ago. Up to that point I had puppet and puppetdb running on the same machine. Since the update puppetdb doesn't appear to be listening on port 8081 anymore. When I run `puppet agent --test` on a client I get this error: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for plugpc-005.client to PuppetDB at puppet.server:8081: Connection refused - connect(2) Looking at `nmap -P0 puppet.server` shows that port 8081 isn't open. Trying `telnet puppet.server 8081` confirms this. My configs are all set using the values from [here].(http://docs.puppetlabs.com/puppetdb/latest/connect_puppet_master.html). `ps -ax` shows that the processes are running: 2040 ?Ss 4:55 /usr/sbin/openvpn --daemon --writepid /var/run/openvpn/puppet.pid --config puppet.conf --cd /etc/openvpn --script-security 2 29737 ?Sl 0:37 /usr/bin/java -XX:OnOutOfMemoryError=kill -9 %p -Xmx192m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/puppetdb/puppetdb-oom.hprof -jar /usr/share/puppetdb/puppetdb.jar services -c /etc/puppetdb/conf.d 29924 ?Sl 0:01 Passenger AppPreloader: /usr/share/puppet/rack/puppetmasterd 29963 ?Sl 0:00 Passenger RackApp: /usr/share/puppet/rack/puppetmasterd The output of `netstat -nap | grep 8081` is empty. Turning off iptables doesn't make any difference. (not that it would - nobody is listening at the port anyway) NOTE: This system was working ok before the update. I could download configs to clients and query the db for the results. So - what did I break? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/f4f93c97-a763-40c4-96c6-6c341893fc74%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] puppetdb not responding since 'yum update'
I used 'puppetdb-ssl-setup' (after removing the ssl folder) to no avail. (sorry about cross posting - I thought I had removed the 'ask' entry) On Thursday, December 5, 2013 12:25:24 PM UTC-8, Ken Barber wrote: I responded to this in ask, but I'll answer here also. In the file /etc/puppetdb/conf.d/jetty.ini, the settings ssl-host and ssl-port must be set to listen on the SSL port (8081). However, if your ssl certs aren't yet configured this may fail for you. Usually puppetdb-ssl-setup is a good way to set these up automatically, so try this first. For ssl-host I usually recommend something like ::1 or 0.0.0.0 to listen on all ports for simplicity, but you can make this explicit if you like. ken. On Thu, Dec 5, 2013 at 7:48 PM, Jon Yeargers ethr...@gmail.comjavascript: wrote: I did `yum update` on my puppet server about a week ago. Up to that point I had puppet and puppetdb running on the same machine. Since the update puppetdb doesn't appear to be listening on port 8081 anymore. When I run `puppet agent --test` on a client I get this error: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for plugpc-005.client to PuppetDB at puppet.server:8081: Connection refused - connect(2) Looking at `nmap -P0 puppet.server` shows that port 8081 isn't open. Trying `telnet puppet.server 8081` confirms this. My configs are all set using the values from [here].( http://docs.puppetlabs.com/puppetdb/latest/connect_puppet_master.html). `ps -ax` shows that the processes are running: 2040 ?Ss 4:55 /usr/sbin/openvpn --daemon --writepid /var/run/openvpn/puppet.pid --config puppet.conf --cd /etc/openvpn --script-security 2 29737 ?Sl 0:37 /usr/bin/java -XX:OnOutOfMemoryError=kill -9 %p -Xmx192m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/puppetdb/puppetdb-oom.hprof -jar /usr/share/puppetdb/puppetdb.jar services -c /etc/puppetdb/conf.d 29924 ?Sl 0:01 Passenger AppPreloader: /usr/share/puppet/rack/puppetmasterd 29963 ?Sl 0:00 Passenger RackApp: /usr/share/puppet/rack/puppetmasterd The output of `netstat -nap | grep 8081` is empty. Turning off iptables doesn't make any difference. (not that it would - nobody is listening at the port anyway) NOTE: This system was working ok before the update. I could download configs to clients and query the db for the results. So - what did I break? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com javascript:. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/f4f93c97-a763-40c4-96c6-6c341893fc74%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/6e94f3ef-4320-4b49-b430-10f646f220cc%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] puppetdb not responding since 'yum update'
Setting the 'ssl_host=' param to 0.0.0.0 turned the trick (so to speak). I kept trying variations on what the ssl cert was created for. Thank you for clearing this up for me. On Thursday, December 5, 2013 1:17:51 PM UTC-8, Ken Barber wrote: Can you show your jetty.ini? And the results of running puppetdb-ssl-setup ... the more information the better in these kinds of cases. Also - is PuppetDB listening to port 8080? On Thu, Dec 5, 2013 at 9:15 PM, Jon Yeargers ethr...@gmail.comjavascript: wrote: I used 'puppetdb-ssl-setup' (after removing the ssl folder) to no avail. (sorry about cross posting - I thought I had removed the 'ask' entry) On Thursday, December 5, 2013 12:25:24 PM UTC-8, Ken Barber wrote: I responded to this in ask, but I'll answer here also. In the file /etc/puppetdb/conf.d/jetty.ini, the settings ssl-host and ssl-port must be set to listen on the SSL port (8081). However, if your ssl certs aren't yet configured this may fail for you. Usually puppetdb-ssl-setup is a good way to set these up automatically, so try this first. For ssl-host I usually recommend something like ::1 or 0.0.0.0 to listen on all ports for simplicity, but you can make this explicit if you like. ken. On Thu, Dec 5, 2013 at 7:48 PM, Jon Yeargers ethr...@gmail.com wrote: I did `yum update` on my puppet server about a week ago. Up to that point I had puppet and puppetdb running on the same machine. Since the update puppetdb doesn't appear to be listening on port 8081 anymore. When I run `puppet agent --test` on a client I get this error: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for plugpc-005.client to PuppetDB at puppet.server:8081: Connection refused - connect(2) Looking at `nmap -P0 puppet.server` shows that port 8081 isn't open. Trying `telnet puppet.server 8081` confirms this. My configs are all set using the values from [here].( http://docs.puppetlabs.com/puppetdb/latest/connect_puppet_master.html). `ps -ax` shows that the processes are running: 2040 ?Ss 4:55 /usr/sbin/openvpn --daemon --writepid /var/run/openvpn/puppet.pid --config puppet.conf --cd /etc/openvpn --script-security 2 29737 ?Sl 0:37 /usr/bin/java -XX:OnOutOfMemoryError=kill -9 %p -Xmx192m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/puppetdb/puppetdb-oom.hprof -jar /usr/share/puppetdb/puppetdb.jar services -c /etc/puppetdb/conf.d 29924 ?Sl 0:01 Passenger AppPreloader: /usr/share/puppet/rack/puppetmasterd 29963 ?Sl 0:00 Passenger RackApp: /usr/share/puppet/rack/puppetmasterd The output of `netstat -nap | grep 8081` is empty. Turning off iptables doesn't make any difference. (not that it would - nobody is listening at the port anyway) NOTE: This system was working ok before the update. I could download configs to clients and query the db for the results. So - what did I break? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/f4f93c97-a763-40c4-96c6-6c341893fc74%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com javascript:. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/6e94f3ef-4320-4b49-b430-10f646f220cc%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/ebec75a1-e06c-4931-9b31-b1955908cd02%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Agent speed - what is 'normal'?
(This is actually two questions): Running 'puppet agent --test' on a 1Ghz ARM based (Debian 6) fanless PC. It's pretty common to see the 'catalog run' take 120-300 seconds. Is this typical? Second (and possibly related): when I do a 'puppet agent --test (--noop)' I get this set of messages: info: Retrieving plugin info: Loading facts in facter_dot_d info: Loading facts in pe_version info: Loading facts in puppet_vardir info: Loading facts in root_home info: Loading facts in facter_dot_d info: Loading facts in pe_version info: Loading facts in puppet_vardir info: Loading facts in root_home Note the repeats. What have I misconfigured? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/e1d50941-c0fb-44bf-aeae-923a2a8fc0d4%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Problem with report processor - undefined method
After I got puppetdb working I was looking about at the various bits of data available. Looking at the 'nodes' option I was suprised to see this: report_timestamp : null for every node. They all have this for their puppet.conf: [main] logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter templatedir=$confdir/templates [agent] server=server_name certname=client_name pluginsync=true report=true so I assumed they were reporting. TL;DR Looking at /var/log/messages on the server I found these messages appearing: puppet-master[1090]: Report processor failed: undefined method `=' for nil:NilClass What's up? Have I misconfigured something? Clients: v 2.6 Server: v 3.3 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/d0e27c25-4970-4ee8-bc75-680d057ff9aa%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: Status of Data in modules
Hey, Just to jump in at the end, (been following the thread) and looked at the implementatino of data in modules, but found that the complexity surrounding it was a bit much for people who were not experienced. Also, troubleshooting issues with data, i.e. some form of outcome of a puppet run that didn't match what was expected, created an extra overhead in trying to identify where the issue lied. We also really only want to return data for modules which are included on a host. I therefore wrote a wrapper function which essentially utilises the hierarchy but with an addition - modules/%{module_name}/%{klass} It retreives the classes from the API, using the node indirection. %{klass} gets defined in the scope as it iterates, (ephemeral_from) and merges the data it finds, so, if a module as a dependency on another module i.e. 'foreman' has sudo rules it requires, you could place those within modules/sudo/foreman.yaml so that you are containing data relating to a module, without managing different hierarchical configurations throught your module structure. For defaults, we defined that as modules/%{module_name}/defaults, which is the last in the hierarchy. This probably would haev been nicer if the data sources could utlises the returned classes in the hierarchy and naturally iterate over the array, to save the wrapper functinoaity to do it. Obviously this wouldn't solve all the problems faced with modules or the principles of the forge modules being usable easily out of the box, but it solved the issue we had in categorising data within modules. Thought i would mention our use case. Jon On Friday, 11 October 2013 19:09:23 UTC+1, Eric Sorenson wrote: Thanks to everyone who kicked the tires on the experimental data in modules feature included in Puppet 3.3.0. We got a lot of feedback, some cool proof-of-concept modules, and a definitive conclusion to the experiment. The idea of including a module-specific hiera backend is centered around one primary use case: replacing the 'params class pattern', a common idiom in Puppet modules that's described in the [Using Parameterized Classes][param-classes] guide. The problem that most testers ran into though is that for non-trivial modules they ended up having to re-implement the Puppet DSL logic encoded in their params.pp in convoluted, non-obvious ways. The solutions to this led to more contortions until we'd ended up with the ability to execute parser functions in the right-hand-side of a yaml value. So something which started out trying to help separate data from code ended up putting code back into data! Additionally, even after multiple attempts to simplify the surface area and user experience with the bindings system (described in ARM-9) that underlay the data-in-modules implementation, users still found its complexity daunting. There are some important bits of scaffolding (like an actual type system for Puppet!) that will prove valuable as more of the future parser and evaluator work that Henrik is building makes its way into the product, but in the final analysis the data in modules feature was the wrong vehicle to introduce them. Refocusing on the problems users were trying to solve (and here I have to give shout-outs to Ashley Penney for his [puppetlabs-ntp][] branch and the dynamic duo of Spencer Krug/William van Hevelingen for their [startrek][] module) and the problems with the 'params' pattern lent some clarity. We've gotten into a situation of disparity with regard to hiera and data bindings, because data bindings enable module _users_ to use their site-wide hiera data but don't provide moduel _authors_ the same affordance. But rather than introduce additional complexity, we can close the gap for existing code patterns. So the proposed solution at this point is: - enable an implicit data-binding lookup against the hiera-puppet backend for a value of 'classname::variable' in the file 'modules/classname/manifests/params.pp', which simplifies class definition and provides consistency with other hiera backends. As a module author, you'd still leave your logic for variables in params.pp, but they'd be implicitly looked up via data bindings as the class is declared, after consulting site-wide hiera. - remove the user-facing '--binder' functionality - fix known problems with the hiera-puppet lookups ([Redmine 15746][15746], namely, but if there are others that are important to you please speak up!) To show how this would work, I'll rework the ['smart parameter defaults' example][param-classes] I linked above, with my commentary behind `##` comments: # /etc/puppet/modules/webserver/manifests/params.pp class webserver::params { ## nothing changes here... $packages = $operatingsystem ? { /(?i-mx:ubuntu|debian)/= 'apache2', /(?i-mx:centos|fedora|redhat)/ = 'httpd
[Puppet Users] Re: Class declaration ordering causes duplicate resource error
Thanks for the replies and being patient with me! Maybe I'm thinking about this incorrectly, but it seems to me that announcing a dependency (I need x defined somewhere in order to work properly) shouldn't require a class to declare the dependency as well. It seems to me that the dependent class should not have to know anything about how a particular dependency is defined, just that it is defined. As an analogy to RPM package dependencies, if I have a package called Django that requires a package which provides the python capability, the Django package shouldn't need to include it's own version of Python. It should be able to re-use any package which has the capability. What does one have to do with the other? You were suggesting using auto-lookups via Hiera to populate class parameters, but we're using Foreman to populate those parameters. AFAIK, there's no interoperability between Foreman's ENC and Hiera (without writing my own). Jon -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/e76b49ff-70f0-4b18-8b41-ecf853acef65%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Class declaration ordering causes duplicate resource error
Has anyone run into this issue before? http://projects.puppetlabs.com/issues/5046#note-17 Is there something obvious that I'm missing? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/400dd448-7a55-48b3-a1ca-1cf49cfddb2e%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: Class declaration ordering causes duplicate resource error
Thanks John, Unfortunately, we're using Foreman in our shop for the ENC, so using Hiera is currently not possible (AFAIK) For some reason, I thought the require statement was analogous to the require metaparameter. But looking at the documentation, clearly that's not the case. Still, this seems like a bug to me. If this is a duplicate declaration, shouldn't it error regardless of the ordering within the manifest? Anyways, would writing something like this work? class { foo::bar: Class[foo:baz] - Class[foo::bar] } On Friday, November 15, 2013 5:27:11 PM UTC-5, jcbollinger wrote: On Friday, November 15, 2013 10:08:54 AM UTC-6, Jon McKenzie wrote: Has anyone run into this issue before? http://projects.puppetlabs.com/issues/5046#note-17 Is there something obvious that I'm missing? Yes. The 'require' function is a form of class declaration, functionally equivalent to 'include' + an automatic relationship. You therefore do have multiple declarations of class foo::baz: one in foo::bar and one in foo::bam. As long as the parameterized-style declaration is evaluated first, all is well, but otherwise you will get a duplicate declaration error. This general problem is one of my principal reasons for advising folks to not use parameterized-style class declarations, as I have done since parameterized classes were introduced. In Puppet 3 you can usefully create and use parameterized classes without using parameterized-style declarations by relying on automatic parameter binding through Hiera. John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/813a4c7c-f7b8-4d9a-9620-430a8c2f307d%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Puppet can't start service (dropbox) but init.d command works manually
Ashley, Thanks for reporting the solution. I was just struggling with the same odd behavior. My setup automatically inserts puppet managed comments at the top of all templates, but this breaks init scripts (at least in Debian). Jon = Jon Jaroker http://jaroker.com On Monday, July 2, 2012 12:10:29 AM UTC-4, Ashley Baumann wrote: This was failing for me because the init.d script needed a #!/bin/sh at the top of it. Puppet was getting an Exec Format Error when it tried to run it. 11008 execve(/etc/init.d/dropbox, [/etc/init.d/dropbox, status], [/* 23 vars */]) = -1 ENOEXEC (Exec format error) Ashleyb -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] MCollective Puppet plugin - runall not working
Hi, I had just copied the files over manually and placed them in the respective directories, I've now also installed the deb packages mcollective-puppet-agent on the agent nodes and mcollective-puppet-common on the client nodes from the Puppetlabs repo although this didn't make a difference. I have the following files in my $libdir/mcollective/data on both the client and agent nodes: agent_data.ddl agent_data.rb fstat_data.ddl fstat_data.rb puppet_data.ddl puppet_data.rb resource_data.ddl resource_data.rb I also have everything from the util, validator, aggregate and agent dirs on both nodes, and the application dir on the client node. Thanks, Jon On Wednesday, July 10, 2013 10:40:23 PM UTC+1, R.I. Pienaar wrote: - Original Message - From: Jon Ward jgh...@gmail.com javascript: To: puppet...@googlegroups.com javascript: Sent: Wednesday, July 10, 2013 5:15:59 PM Subject: [Puppet Users] MCollective Puppet plugin - runall not working Hi, I've got the Puppet plugin for MCollective installed and working, however the 'runall' action always discovers 0 enabled nodes. # mco puppet runall 2 2013-07-10 15:57:16: Running all nodes with a concurrency of 2 2013-07-10 15:57:16: Discovering enabled Puppet nodes to manage 2013-07-10 15:57:19: Found 0 enabled nodes Looking in the server log on a node I would have expected to run I can see this: D, [2013-07-10T15:03:53.137854 #9657] DEBUG -- : base.rb:25:in `lookup' Doing data query puppet_data for '' D, [2013-07-10T15:03:53.139202 #9657] DEBUG -- : base.rb:109:in `validate_filter?' Failing based on class and fact composition D, [2013-07-10T15:03:53.139318 #9657] DEBUG -- : base.rb:117:in `validate_filter?' Passing based on agent puppet D, [2013-07-10T15:03:53.139404 #9657] DEBUG -- : base.rb:159:in `validate_filter?' Message failed the filter checks As far as I can work out, the following line in util/puppetrunner.rb might be failing: def find_enabled_nodes ... @client.compound_filter(puppet().enabled=true) ... end If I do an 'mco puppet status' then the Summary of Applying and Summary of Idling work, however the Summary of enabled and Summary of daemon_present show: *Could not compute summary - exception raised while processing startup hook* So it seems that it thinks all the nodes are disabled. However other actions such as enable and disable work correctly, and runonce correctly determines which nodes are enabled. I've had a dig around the code but got completely lost so any pointers would be gratefully appreciated! I'm running Puppet 3.2.1, MCollective 2.2.4 with activemq on Debian 6. how did you install the plugin? did you install the data plugins on the node? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] MCollective Puppet plugin - runall not working
Ah, sorry the node I was testing was disabled, and the ones that were enabled were missing some of the $libdir/ directories (I had copied them up manually and Puppet had wiped them out without my realising.) I'm getting an error now, but at least the nodes are being discovered: # mco puppet -v runall 2 2013-07-11 09:56:31: Running all nodes with a concurrency of 2 2013-07-11 09:56:31: Discovering enabled Puppet nodes to manage Discovering hosts using the mc method for 3 second(s) 2 2013-07-11 09:56:34: Found 2 enabled nodes Discovering hosts using the mc method for 3 second(s) 0 The puppet application failed to run, use -v for full error details: Can only supply discovery data if direct_addressing is enabled Can only supply discovery data if direct_addressing is enabled (RuntimeError) from /usr/lib/ruby/1.8/mcollective/rpc/client.rb:467:in `discover' from /usr/share/mcollective/plugins/mcollective/util/puppetrunner.rb:82:in `runhost' from /usr/share/mcollective/plugins/mcollective/util/puppetrunner.rb:75:in `runhosts' from /usr/lib/ruby/1.8/timeout.rb:79:in `each_with_index' from /usr/share/mcollective/plugins/mcollective/util/puppetrunner.rb:65:in `each' from /usr/share/mcollective/plugins/mcollective/util/puppetrunner.rb:65:in `each_with_index' from /usr/share/mcollective/plugins/mcollective/util/puppetrunner.rb:65:in `runhosts' from /usr/share/mcollective/plugins/mcollective/util/puppetrunner.rb:59:in `runall_once' from /usr/share/mcollective/plugins/mcollective/util/puppetrunner.rb:21:in `runall' from /usr/share/mcollective/plugins/mcollective/application/puppet.rb:277:in `runall_command' from /usr/share/mcollective/plugins/mcollective/application/puppet.rb:382:in `send' from /usr/share/mcollective/plugins/mcollective/application/puppet.rb:382:in `main' from /usr/lib/ruby/1.8/mcollective/application.rb:285:in `run' from /usr/lib/ruby/1.8/mcollective/applications.rb:23:in `run' from /usr/bin/mco:20 On Thursday, July 11, 2013 10:43:43 AM UTC+1, R.I. Pienaar wrote: - Original Message - From: Jon Ward jgh...@gmail.com javascript: To: puppet...@googlegroups.com javascript: Sent: Thursday, July 11, 2013 10:37:00 AM Subject: Re: [Puppet Users] MCollective Puppet plugin - runall not working Hi, I had just copied the files over manually and placed them in the respective directories, I've now also installed the deb packages mcollective-puppet-agent on the agent nodes and mcollective-puppet-common on the client nodes from the Puppetlabs repo although this didn't make a difference. I have the following files in my $libdir/mcollective/data on both the client and agent nodes: agent_data.ddl agent_data.rb fstat_data.ddl fstat_data.rb puppet_data.ddl puppet_data.rb resource_data.ddl resource_data.rb I also have everything from the util, validator, aggregate and agent dirs on both nodes, and the application dir on the client node. that certainly all seems fine, no exception logged in the servers log? We do now log them - but I suspect that's only in the development series. If there's no exception, put this little script on your node and just run ruby test.rb and show us what it says http://p.devco.net/409 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] MCollective Puppet plugin - runall not working
Ah that's working perfectly now, thanks so much for your time. Yep, I will update my Puppet scripts to install the deb packages going forward. Jon On Thursday, July 11, 2013 11:01:33 AM UTC+1, R.I. Pienaar wrote: - Original Message - From: Jon Ward jgh...@gmail.com javascript: To: puppet...@googlegroups.com javascript: Sent: Thursday, July 11, 2013 10:59:11 AM Subject: Re: [Puppet Users] MCollective Puppet plugin - runall not working Ah, sorry the node I was testing was disabled, and the ones that were enabled were missing some of the $libdir/ directories (I had copied them up manually and Puppet had wiped them out without my realising.) best to install the agents using the debs yeah, takes care of all these problems I'm getting an error now, but at least the nodes are being discovered: # mco puppet -v runall 2 2013-07-11 09:56:31: Running all nodes with a concurrency of 2 2013-07-11 09:56:31: Discovering enabled Puppet nodes to manage Discovering hosts using the mc method for 3 second(s) 2 2013-07-11 09:56:34: Found 2 enabled nodes Discovering hosts using the mc method for 3 second(s) 0 The puppet application failed to run, use -v for full error details: Can only supply discovery data if direct_addressing is enabled set direct_addressing=1 everywhere, you need to be using the ActiveMQ or RabbitMQ connectors for this. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] MCollective Puppet plugin - runall not working
Hi, I've got the Puppet plugin for MCollective installed and working, however the 'runall' action always discovers 0 enabled nodes. # mco puppet runall 2 2013-07-10 15:57:16: Running all nodes with a concurrency of 2 2013-07-10 15:57:16: Discovering enabled Puppet nodes to manage 2013-07-10 15:57:19: Found 0 enabled nodes Looking in the server log on a node I would have expected to run I can see this: D, [2013-07-10T15:03:53.137854 #9657] DEBUG -- : base.rb:25:in `lookup' Doing data query puppet_data for '' D, [2013-07-10T15:03:53.139202 #9657] DEBUG -- : base.rb:109:in `validate_filter?' Failing based on class and fact composition D, [2013-07-10T15:03:53.139318 #9657] DEBUG -- : base.rb:117:in `validate_filter?' Passing based on agent puppet D, [2013-07-10T15:03:53.139404 #9657] DEBUG -- : base.rb:159:in `validate_filter?' Message failed the filter checks As far as I can work out, the following line in util/puppetrunner.rb might be failing: def find_enabled_nodes ... @client.compound_filter(puppet().enabled=true) ... end If I do an 'mco puppet status' then the Summary of Applying and Summary of Idling work, however the Summary of enabled and Summary of daemon_present show: *Could not compute summary - exception raised while processing startup hook* So it seems that it thinks all the nodes are disabled. However other actions such as enable and disable work correctly, and runonce correctly determines which nodes are enabled. I've had a dig around the code but got completely lost so any pointers would be gratefully appreciated! I'm running Puppet 3.2.1, MCollective 2.2.4 with activemq on Debian 6. Cheers, Jon -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] AD user add to local windows group?
Has there been any advancement with this bug? On Friday, May 31, 2013 2:53:30 PM UTC-4, Trevor Vaughan wrote: This sounds like the other side of the coin to a bug that I filed: https://projects.puppetlabs.com/issues/19414 Not being able to add AD/LDAP users to a local group is a fail. Thanks, Trevor On Fri, May 31, 2013 at 1:19 PM, Josh Cooper jo...@puppetlabs.comjavascript: wrote: Hi Vince, On Fri, May 31, 2013 at 8:31 AM, VinceH vince.h...@gmail.comjavascript: wrote: Pardon my noobness to this, but is anyone able to get around this issuehttps://projects.puppetlabs.com/issues/15326 ? group {'testgroup': ensure = present, members = 'DOMAIN\user', name = 'test' } Yields OLE error code:8007056B in Active Directory A member could not be added to or removed from the local group because the member does not exist. I'm running v3.2.1 and the bug report is from v2.7.17 -- am I doing something wrong? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com javascript:. To post to this group, send email to puppet...@googlegroups.comjavascript: . Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out. This is bug https://projects.puppetlabs.com/issues/17031 Josh -- Josh Cooper Developer, Puppet Labs *Join us at PuppetConf 2013, August 22-23 in San Francisco - * http://bit.ly/pupconf13* **Register now and take advantage of the Early Bird discount - save 25%!* -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com javascript:. To post to this group, send email to puppet...@googlegroups.comjavascript: . Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out. -- Trevor Vaughan Vice President, Onyx Point, Inc (410) 541-6699 tvau...@onyxpoint.com javascript: -- This account not approved for unencrypted proprietary information -- -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Issue installing on RHEL 6 (2.6.32-358.2.1.el6.x86_64)
On Fri, Jun 7, 2013 at 4:45 PM, Kenneth Edgar ken.ed...@gmail.com wrote: Protected multilib versions: libselinux-2.0.94-5.3.el6.i686 != libselinux-2.0.94-5.3.el6_4.1.x86_64 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest Basically this indicates a problem with your yum configuration or repos. What it's refusing to do is to install differing versions of the same package for different architectures (i686 and x86_64) Particularly, the libselinux package has an issue. What this error means is that you attempted to install libselinux-2.0.94-5.3.el6.i686 but you have 2.0.94-5.3.el6_4.1.x86_64 already installed (or the other way around, I forget) If you're using the install media as a repo on an updated system, that would explain this. The el6_4 dist tag indicates an async errata (i.e. released between major RHEL releases) for RHEL6.4, while the .el6 is what gets shipped on install media (overly simplifying things here, you could have prior releases async errata, for example el6_3 in a minor release if there were no other changes) for a minor release. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] MSSQL Server 2012
I am using the MSSQL server module from puppet as a baseline for the installation of SQL Server 2012, and am running into issues durring the install. It gets a lot of the way done, and issues this error: Error: \\puppet\installs\SQLServer2012SP1\setup.exe /CONFIGURATIONFILE=C:\sql201 2.config.ini returned 194 instead of one of [0] Error: /Stage[main]/Erp_db2012::Mssql_2012/Exec[install_mssql2012]/returns: chan ge from notrun to 0 failed: \\puppet\installs\SQLServer2012SP1\setup.exe /CONFIG URATIONFILE=C:\sql2012.config.ini returned 194 instead of one of [0] Notice: Finished catalog run in 1933.62 seconds Press any key to continue . . . The module I wrote looks like this: class db2012::mssql_2012 { file { 'C:\sql2012.config.ini': #content = template('db2012/config_2012.ini.erb'), ensure = present, source = puppet:///modules/erp_db2012/2012ConfigurationFile.ini, } exec { 'install_mssql2012': #command = \\\puppet\installs\SQLServer2012SP1\\setup.exe /Action=Install /IACCEPTSQLSERVERLICENSETERMS /QS /CONFIGURATIONFILE=C:\\sql2012.config.ini, command = \\\puppet\installs\SQLServer2012SP1\\setup.exe /CONFIGURATIONFILE=C:\\sql2012.config.ini, logoutput= true, creates = C:\\Program Files\\Mirosoft SQL Server, #timeout = 1200, timeout = 0, #returns = 3, require = File ['C:\sql2012.config.ini'], #Dism['NetFx3'] ], } } I can try to add the return codes, but I am not sure if this is a solid fix. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: Hiera lookups in templates
Hi, Have you tried doing the Hiera lookup on the command line to double check it can be read? $ hiera -d -c /path/to/hiera.yaml jrs_config_server1 fqdn=hostname Cheers, Jon On Friday, May 10, 2013 12:18:22 PM UTC+1, Jonathan Gazeley wrote: Hi, I'm having a problem accessing Hiera data from within templates. Yes, I know this is not the recommended way to access Hiera data, but in my use case I think it will be easier overall. In manifests, this code works: { ip = hiera('jrs_config_server1'), } In a template, part of the same module as the manifest, this does not work: ipaddr = %= scope.function_hiera([jrs_config_server1]) % It fails with this error: Could not find data item jrs_config_server1 in any Hiera data file and no default supplied The value of jrs_config_server1 is in Hiera, specific to the fqdn of the node. I'm struggling to see why it would not be working. Any ideas? Cheers, Jonathan -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: hiera-gpg causing big increase in catalog compile time
If you use many parameterized classes, then Puppet 3's automatic class parameter binding will tend to aggravate that problem, especially if you typically allow class parameters to take default values or DSL-specified values (so that hiera has lots of complete misses on the parameter names). Yep this was what I eventually worked out was causing my massive increase in compile times - I wasn't aware of the new data binding stuff in Puppet 3 and was making heavy use of default values in parameterised classes without realizing that each one was triggering a Hiera lookup through all of my yaml and then gpg data files. I ended up changing most of my parameterised classes back to regular classes, and not using any default values in the remaining ones - to be honest with Hiera I didn't really need them any more as I put my default values in common.yaml - and this reduced my catalog compile time back to a tolerable level. That said my compile times are still a lot higher than they were prior to using Hiera and the GPG backend, and I was shocked when I ran Puppetmaster in debug mode to see it opening each file in turn for every single lookup. Caching the data would seem the sensible way to go. On Thursday, May 9, 2013 4:18:21 PM UTC+1, Aaron Mills wrote: Hmm..it seems like a pretty basic use case is an accompanying gpg file for each level of a hierarchy, just to store things like passwords, or sensitive data. Minimizing the use of things like hiera's 3.x data bindings to gain speed in hiera-gpg lookups feels like throwing the baby out with the bathwater. I wonder how difficult (read: secure) it would be to cache the data across calls. An md5sum could be used to determine whether the contents of a .gpg file have changed since the last lookup. Instead of decrypting each file for every call, hiera-gpg can do something like: - Calculate an md5sum of the .gpg files, and the data from these files stored in memory, redis, or wherever. - When asked for a variable, do an md5sum of the .gpg file and, if the values are the same, return the data from memory - If the hash values don't match, reload the data from the .gpg file. Seems like this would be slightly faster than having to fully decrypt the contents of each file for every parameter lookup. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Hiera lookups in templates
Try putting the variable in common.yaml at the bottom of the hierarchy and see if it gets picked up. If it does then perhaps the value of the fqdn fact isn't what you think it is. You can also try running puppetmaster in the foreground in debug mode: $ puppet master —no-daemonize —debug Now when you run puppet you should see the Hiera lookups happening as the catalog is compiled, this might help you pinpoint the problem.. On Friday, May 10, 2013 3:46:28 PM UTC+1, Jonathan Gazeley wrote: Hi Jon, Thanks for your tip. I had made a typo in my yaml which debug mode picked up. I fixed it, and now your command works when run on the puppetmaster but the same error persists when the variable is accessed either from a manifest or from a template during a puppet agent run. I'm wondering if it might be something to do with the agents not syncing the hiera data store, perhaps? I'm new to hiera... Cheers, Jonathan On 10/05/13 14:25, Jon Ward wrote: Hi, Have you tried doing the Hiera lookup on the command line to double check it can be read? $ hiera -d -c /path/to/hiera.yaml jrs_config_server1 fqdn=hostname Cheers, Jon On Friday, May 10, 2013 12:18:22 PM UTC+1, Jonathan Gazeley wrote: Hi, I'm having a problem accessing Hiera data from within templates. Yes, I know this is not the recommended way to access Hiera data, but in my use case I think it will be easier overall. In manifests, this code works: { ip = hiera('jrs_config_server1'), } In a template, part of the same module as the manifest, this does not work: ipaddr = %= scope.function_hiera([jrs_config_server1]) % It fails with this error: Could not find data item jrs_config_server1 in any Hiera data file and no default supplied The value of jrs_config_server1 is in Hiera, specific to the fqdn of the node. I'm struggling to see why it would not be working. Any ideas? Cheers, Jonathan -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com javascript:. To post to this group, send email to puppet...@googlegroups.comjavascript:. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Can I exec a bash function?
On Tue, Mar 19, 2013 at 6:03 PM, Steffen Vulpius steffen.vulp...@gmail.com wrote: I have a file foo.sh which is basically a library of various bash functions. Is there a way to execute these functions from puppet Correct me if I'm wrong, but you have a file foo.sh, that defines a bash function called bar, and you want to execute bar from inside a puppet exec resource? I don't think that as such is possible. One creative thing that you might be able to do (I haven't tested this at all) is to make a bunch of symlinks to foo.sh (bar, baz, whatever) for the functions in your library, and in the main part, look at $0 to see what you should do. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Using $name in resources?
Using 2.6.17, I have something like this: class yumrepos { yumrepo { ['a', 'b']: descr=yum repo $name, baseurl=http://someurl/$name;; } } Instead of using the names 'a' and 'b', like I'd expect (so a baseurl of http://someurl/a), it creates .repo files with those names, and repos inside of them, but everywhere the name should get substituted, it substitutes the name of the class instead. Any pointers in how to make it substitute the name of the resource instead? I have about 20 repos to define, and would rather just do it this way. I've tried making it a resource type default in the class, as well as specifying at the end of the array, like above. Both yield the same results. Am I being completely dense and missing something here? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Hiera always looks up class params, even if they are not hiera('vars')
Hi, I've been trying to debug my slow Puppet runs since using hiera-gpg (https://groups.google.com/d/topic/puppet-users/CRu_RolrX_8/discussion) and found some unexpected (by me) behaviour in hiera. It seems that hiera does a lookup for any class parameters, even if they are not hiera functions. e.g. say I have a class: class hieratest($default_value=default) { file { /tmp/hieratest.txt: ensure = present, content = $default_value, } } and in my nodes.pp I have include hieratest If I run puppetmaster in the foreground and do a 'puppet agent -t' I can see that hiera is looking through my entire hierarchy for hieratest::default_value. I would not expect hiera to do this unless I had put: class hieratest($default_value=hiera('default_value', default)) { ... } I noticed that if I include the 'default_value' var in my hiera common.yaml it is not found / used, however if I put 'hieratest::default_value' in then it is used. Is this the expected behaviour? If so is there any way to include a default parameter in a class without it doing a hiera lookup? This seems to have quite a major impact on my catalog compile time once I add the gpg backend. Cheers, Jon -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: Hiera always looks up class params, even if they are not hiera('vars')
Ah I missed that, thanks Craig. On Thursday, February 21, 2013 12:43:12 PM UTC, Jon Ward wrote: Hi, I've been trying to debug my slow Puppet runs since using hiera-gpg ( https://groups.google.com/d/topic/puppet-users/CRu_RolrX_8/discussion) and found some unexpected (by me) behaviour in hiera. It seems that hiera does a lookup for any class parameters, even if they are not hiera functions. e.g. say I have a class: class hieratest($default_value=default) { file { /tmp/hieratest.txt: ensure = present, content = $default_value, } } and in my nodes.pp I have include hieratest If I run puppetmaster in the foreground and do a 'puppet agent -t' I can see that hiera is looking through my entire hierarchy for hieratest::default_value. I would not expect hiera to do this unless I had put: class hieratest($default_value=hiera('default_value', default)) { ... } I noticed that if I include the 'default_value' var in my hiera common.yaml it is not found / used, however if I put 'hieratest::default_value' in then it is used. Is this the expected behaviour? If so is there any way to include a default parameter in a class without it doing a hiera lookup? This seems to have quite a major impact on my catalog compile time once I add the gpg backend. Cheers, Jon -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] hiera-gpg causing big increase in catalog compile time
Hi, I've been using hiera for a little while and have started using the hiera-gpg back-end for passwords etc. The problem is, I am seeing a massive increase in catalog compile time when using hiera-gpg. On one particular node where there is quite a lot going on, catalog compile time jumped from 5s to 90s. My typical compile times have gone from around 2s to around 30s. I have the gpg backend listed underneath yaml in my hiera.yaml file, so from what I understand my .gpg config files should only be interrogated if no answer is found in the .yaml files. I only have half a dozen or so vars stored in the .gpg files. By simply removing the gpg backend from hiera.yaml the compile times go back down to normal. I'm using Puppet 3.1.0 installed from apt.puppetlabs.com on Debian Squeeze hiera-gpg 1.1.0 installed from Rubygems. Would appreciate any tips for debugging this problem, thanks in advance. Jon -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: Can Puppet interact with perl script user input fields?
It was less then a dozen commands to setup. A bit longer than that once put into puppet. Is this code available anywhere? On Oct 5, 12:55 pm, Steven Nemetz snem...@hotmail.com wrote: The centrify script may be thousands of lines, but it doesn't do that much. A lot of it is for user interaction and multiple OS stuff. At my last company we used centrify for authentication. It was less then a dozen commands to setup. A bit longer than that once put into puppet. If you really want to interact with the script instead, Linux has programs for doing this. There is no reason to duplicate this in the puppet core, when this is not the recommended way of doing things. If the script is installing things and puppet doesn't know about everything that is installed and modified, it can't manage them. Goes against the primary design. Steven Date: Thu, 4 Oct 2012 23:55:55 -0700 Subject: [Puppet Users] Re: Can Puppet interact with perl script user input fields? From: jon.skarpet...@gmail.com To: puppet-users@googlegroups.com The script is several thousand lines of code. Definitely not easier than Guzman Braso's suggestion :-) Although I'm surprised that Puppet doesn't have any supported way of shell interaction with scripts? On Oct 5, 4:01 am, Peter Brown rendhal...@gmail.com wrote: It's probably easier in the long run to work out what that script does and replicate those settings in your samba puppet class. On 4 October 2012 19:34, Jon Skarpeteig jon.skarpet...@gmail.com wrote: I'm trying to automate deployment of centrify-samba, which has a adbindproxy.pl setup script attached. This script expects user input (where 9 out of 10 options can be defaulted). Is there any way for Puppet to preconfigure the inputs for this scripts, and mimic user behavior by supplying this information? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group athttp://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 athttp://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: Can Puppet interact with perl script user input fields?
The script is several thousand lines of code. Definitely not easier than Guzman Braso's suggestion :-) Although I'm surprised that Puppet doesn't have any supported way of shell interaction with scripts? On Oct 5, 4:01 am, Peter Brown rendhal...@gmail.com wrote: It's probably easier in the long run to work out what that script does and replicate those settings in your samba puppet class. On 4 October 2012 19:34, Jon Skarpeteig jon.skarpet...@gmail.com wrote: I'm trying to automate deployment of centrify-samba, which has a adbindproxy.pl setup script attached. This script expects user input (where 9 out of 10 options can be defaulted). Is there any way for Puppet to preconfigure the inputs for this scripts, and mimic user behavior by supplying this information? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group athttp://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] Can Puppet interact with perl script user input fields?
I'm trying to automate deployment of centrify-samba, which has a adbindproxy.pl setup script attached. This script expects user input (where 9 out of 10 options can be defaulted). Is there any way for Puppet to preconfigure the inputs for this scripts, and mimic user behavior by supplying this information? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] Using Exported Resources in nginx loadbalancer conf
Hi all, I'm attempting to use exported resources to dynamically generate an nginx config file. What I'd like to do if have all my web servers export their hostname inside a file resource, and have these collected by my loadbalancer and used in the config file, restarting nginx if anything has changed. There is an example of something very similar in Pro Puppet on pages 145-146 using Apache. In the example the individual hostnames are gathered by apache inside the balancer block using an include statement, however it doesn't seem possible to do this in an upstream block in nginx. So I think I need to somehow gather the hostnames into an array which I then use inside my conf file erb template to create the upstream server entries. My problem is how to do this. If I create a custom fact this will get evaluated before (I think) the resources are exported and gathered. If I use a custom function or some ruby inside the erb template that's evaluated on the master, not the agent. I do have a puppet agent running on the master server so I could collect the exported resources there and use a function, that's the best solution I can think of at the moment, just wondering if anyone else out there has had any success doing something like this? Thanks, Jon -- 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/-/aSxa1uTDCAcJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] Using Exported Resources in nginx loadbalancer conf
Hi Greg, Yeah that's what I'd hoped - my balancer.conf.erb template had this: upstream %= balancer_name %_balancer { include /etc/nginx/conf.d.upstream_servers/*.conf; } However when I try to start nginx I get: Starting nginx: [emerg]: include directive is not allowed here A bit of googling (e.g. http://stackoverflow.com/questions/4165116/can-include-directive-be-used-within-upstream-block-of-nginx) seemed to suggest it's not possible. On Tuesday, September 25, 2012 12:47:37 PM UTC+1, Greg Sutcliffe wrote: On 25 September 2012 12:03, Jon Ward jgh...@gmail.com javascript: wrote: Hi all, I'm attempting to use exported resources to dynamically generate an nginx config file. What I'd like to do if have all my web servers export their hostname inside a file resource, and have these collected by my loadbalancer and used in the config file, restarting nginx if anything has changed. Nginx can do include directives, right? Can you do something like: upstream include conf.d/upstream/*.conf /upstream and then have each host export a file in conf.d/upstream/$hostname.conf containing $hostname:$port (or whatever is needed). Not sure if that will work, my nginx is a little rusty... -- 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/-/j8WLZrkYOSgJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] Using Exported Resources in nginx loadbalancer conf
Thanks Bill - looks like concat provides a potential solution, will give that a go. Jon On Tuesday, September 25, 2012 1:50:39 PM UTC+1, Bill Fraser wrote: Hi Jon, I have seen something similar done with Puppet Labs' haproxy module: https://github.com/puppetlabs/puppetlabs-haproxy Essentially the balancer members export information about themselves (hostname, port, listening service, etc) which is collected by a balancer server. The configuration is then pieced together using the concat module. I believe that is what you are trying to accomplish here, and hopefully you find it useful to see how it is done in another module. Regards, Bill On 12-09-25 07:03 AM, Jon Ward wrote: Hi all, I'm attempting to use exported resources to dynamically generate an nginx config file. What I'd like to do if have all my web servers export their hostname inside a file resource, and have these collected by my loadbalancer and used in the config file, restarting nginx if anything has changed. There is an example of something very similar in Pro Puppet on pages 145-146 using Apache. In the example the individual hostnames are gathered by apache inside the balancer block using an include statement, however it doesn't seem possible to do this in an upstream block in nginx. So I think I need to somehow gather the hostnames into an array which I then use inside my conf file erb template to create the upstream server entries. My problem is how to do this. If I create a custom fact this will get evaluated before (I think) the resources are exported and gathered. If I use a custom function or some ruby inside the erb template that's evaluated on the master, not the agent. I do have a puppet agent running on the master server so I could collect the exported resources there and use a function, that's the best solution I can think of at the moment, just wondering if anyone else out there has had any success doing something like this? Thanks, Jon -- 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/-/CI4CJG3-hBoJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: hello world application
Could you try changing your if statement to: if $server_role =~ /app/ If that returns the result you want, it could be that you have an unwanted newline character at the end of your fact value. (If that's the case a little chomp in your fact code will sort you out.) On Tuesday, September 25, 2012 2:47:18 PM UTC+1, tetlika wrote: P.S. when I'm executing puppet code: case $server_role { 'app': { notice(server is app) } default: { notice(role is not set) } } I receive: $ puppet apply manifests/init.pp notice: Scope(Class[main]): role is not set notice: Finished catalog run in 0.25 seconds while I expect to get server is app so, what is wrong here? On 25 Вер, 16:25, tetlika tetl...@gmail.com wrote: hi! I have added custom fact server_role: $ facter | grep server_role server_role = app than wrote a code: if $server_role == app { notice(Welcome) } when I'm executing this puppet code I got no notice, if I'm executing just the code: notice(Welcome) everything's fine what am I doing wrong? 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/-/NJ4PKDDunlgJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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] Strange Behavior In Recursive File Transfer
I have the following resource definition: class itbuilder { file { /home/itbuilder: ensure = directory, recurse = true, source = puppet:///itbuilder/home/itbuilder, require = User [itbuilder], owner = itbuilder, group = itbuilder, ignore = .svn; } } In the modules/itbuilder/files/home/itbuilder directory I have a whole bunch of files and directories. The directories have protections like drwxr-xr-x 4 jforrest jforrest4096 Sep 15 16:21 licensing drwxr-xr-x 4 jforrest jforrest4096 Sep 15 16:21 login However, when I run the class above, these directories are created as drwxr-sr-x 3 itbuilder itbuilder4096 Sep 15 17:48 licensing drwxr-sr-x 3 itbuilder itbuilder4096 Sep 15 17:48 login Note the setguid bit. I don't know where this is coming from. The protection of the directory containing these files is $ ls -ld . drwxr-x--- 22 itbuilder itbuilder 4096 Sep 15 17:48 . which is correct. I can manually change the directory permission to 0755 $ chmod g-s l* $ ls -ld l* drwxr-xr-x 4 jforrest jforrest 4096 Sep 15 16:21 licensing drwxr-xr-x 4 jforrest jforrest 4096 Sep 15 16:21 login But when I run puppet again, the permissions are set back to 02755. What is setting the setguid bit? I don't understand this at all. I thought this might be set by something in a higher scope but I couldn't find it. Adding File { mode = 644, } to the class makes the problem go away but this really isn't a solution. Any ideas what might be causing this? Cordially, Jon Forrest -- 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] Node collecting its own exported resource
I'm writing a module in which nodes export a concat::fragment, collect all other nodes' analogous resource, and populate a config file (in this case, the krb5.conf for MIT Kerberos). It seems that nodes are not able to collect their own resource, but they can collect every other resource, with a given tag. I've validated that all of the appropriate resources exist in the storeconfigs database. I've been doing some searching, and have read some things that suggest there might be a regression in this area, but I haven't found anything definitive. I know the documentation states that nodes can in fact collect their own exported resources, but I haven't been able to get this working. I've also tried it with just a plain file resource (rather than a concat::fragment), e.g. inside a given class: @@file { /tmp/export-${::fqdn}: tag = testexport, } File | tag == testexport | This also produces the same behavior. 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/-/huzwZYKfZs4J. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: Could not render to pson: undefined method 'merge' for []:Array
I'm having this issue as well, with a nearly identical stack trace (I'm running on RHEL, however). Anyone have any ideas? I stuck some debugs inside my provider methods, but they don't ever seem to get executed. On Wednesday, July 11, 2012 4:08:42 PM UTC-4, Micah Martin wrote: This ones got me absolutely scratching my head. I'm trying to created a custom type for managing couchbase. It may not be the right approach but I'm a total noob and I'm trying to figure this thing out. Here's what I have: */Puppet/manifests/site.pp* node 'qamachine' { include webserver } */Puppet/modules/webserver/init.pp* class webserver { couchbase { 'test': } } */Puppet/modules/couchbase/lib/puppet/type/couchbase.rb* Puppet::Type.newtype(:couchbase) do newparam(:name) do isnamevar end end */Puppet/modules/couchbase/lib/puppet/provider/couchbase/couchbase.rb* Puppet::Type.type(:couchbase).provide(:couchbase) do end When I try to update the machine this is what I get: info: Loading downloaded plugin C:/ProgramData/PuppetLabs/puppet/var/lib/puppet/type/couchbase.rb info: Loading downloaded plugin C:/ProgramData/PuppetLabs/puppet/var/lib/puppet/provider/couchbase/couchbase.rb debug: Reloading couchbase couchbase provider debug: catalog supports formats: b64_zlib_yaml dot pson raw yaml; using pson C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/indirector/rest.rb:56:in `deserialize' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/indirector/rest.rb:120:in `find' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/indirector/indirection.rb:196:in `find' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/configurer.rb:240:in `retrieve_new_catalog' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util.rb:490:in `thinmark' C:/Program Files (x86)/Puppet Labs/Puppet/sys/ruby/lib/ruby/1.8/benchmark.rb:308:in `realtime' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util.rb:489:in `thinmark' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/configurer.rb:239:in `retrieve_new_catalog' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/configurer.rb:86:in `retrieve_catalog' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/configurer.rb:112:in `retrieve_and_apply_catalog' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/configurer.rb:152:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:43:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent/locker.rb:21:in `lock' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:43:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/sys/ruby/lib/ruby/1.8/sync.rb:230:in `synchronize' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:43:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:95:in `with_client' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:41:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:172:in `call' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:172:in `controlled_run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:39:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application/agent.rb:337:in `onetime' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application/agent.rb:311:in `run_command' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:416:in `hook' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:407:in `exit_on_fail' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util/command_line.rb:69:in `execute' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/bin/puppet:4 err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not render to pson: undefined method `mer ge' for []:Array when I remove the call to couchbase in the init.pp file it works fine. -- 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/-/5nFH3c0T45oJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: Could not render to pson: undefined method 'merge' for []:Array
I restarted my puppetmaster and this seemed to resolve the issue. Very strange message, though. I suppose if I've defined a new type, but haven't restarted puppetmaster it throws a message like this? I will need to test that though On Sunday, September 9, 2012 4:16:53 PM UTC-4, Jon McKenzie wrote: I'm having this issue as well, with a nearly identical stack trace (I'm running on RHEL, however). Anyone have any ideas? I stuck some debugs inside my provider methods, but they don't ever seem to get executed. On Wednesday, July 11, 2012 4:08:42 PM UTC-4, Micah Martin wrote: This ones got me absolutely scratching my head. I'm trying to created a custom type for managing couchbase. It may not be the right approach but I'm a total noob and I'm trying to figure this thing out. Here's what I have: */Puppet/manifests/site.pp* node 'qamachine' { include webserver } */Puppet/modules/webserver/init.pp* class webserver { couchbase { 'test': } } */Puppet/modules/couchbase/lib/puppet/type/couchbase.rb* Puppet::Type.newtype(:couchbase) do newparam(:name) do isnamevar end end */Puppet/modules/couchbase/lib/puppet/provider/couchbase/couchbase.rb* Puppet::Type.type(:couchbase).provide(:couchbase) do end When I try to update the machine this is what I get: info: Loading downloaded plugin C:/ProgramData/PuppetLabs/puppet/var/lib/puppet/type/couchbase.rb info: Loading downloaded plugin C:/ProgramData/PuppetLabs/puppet/var/lib/puppet/provider/couchbase/couchbase.rb debug: Reloading couchbase couchbase provider debug: catalog supports formats: b64_zlib_yaml dot pson raw yaml; using pson C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/indirector/rest.rb:56:in `deserialize' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/indirector/rest.rb:120:in `find' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/indirector/indirection.rb:196:in `find' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/configurer.rb:240:in `retrieve_new_catalog' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util.rb:490:in `thinmark' C:/Program Files (x86)/Puppet Labs/Puppet/sys/ruby/lib/ruby/1.8/benchmark.rb:308:in `realtime' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util.rb:489:in `thinmark' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/configurer.rb:239:in `retrieve_new_catalog' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/configurer.rb:86:in `retrieve_catalog' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/configurer.rb:112:in `retrieve_and_apply_catalog' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/configurer.rb:152:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:43:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent/locker.rb:21:in `lock' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:43:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/sys/ruby/lib/ruby/1.8/sync.rb:230:in `synchronize' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:43:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:95:in `with_client' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:41:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:172:in `call' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:172:in `controlled_run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/agent.rb:39:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application/agent.rb:337:in `onetime' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application/agent.rb:311:in `run_command' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:416:in `hook' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:407:in `exit_on_fail' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/application.rb:309:in `run' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/lib/puppet/util/command_line.rb:69:in `execute' C:/Program Files (x86)/Puppet Labs/Puppet/puppet/bin/puppet:4 err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not render to pson: undefined method `mer ge' for []:Array when I remove the call to couchbase in the init.pp file it works fine. -- 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/-/aD2AXUCkWhMJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe
Re: [Puppet Users] Question: Custom puppet type for semanage, converting inputs to flags?
Hi Dan, Thanks for the input. If I were to implement this in the provider, what would be the proper way to do that? Is there a validation/conversion hook I can override? On Sunday, September 9, 2012 1:55:17 PM UTC-4, Dan Bode wrote: On Sun, Sep 9, 2012 at 10:46 AM, Jon McKenzie jcm...@gmail.comjavascript: wrote: Hi, I'm just trying to get an idea about the best way to implement this: I want a type that uses the 'semanage' binary to manage targeted policy (in this case for files). So for example to create a targeted policy, I might do something like: semanage fcontext -a -f -d -t some_domain_t /path/to/files(/.*)? ... which would add a target policy that sets 'some_domain_t' on all directories in /path/to/files/ The question I have is about the -d, which is a parameter to -f, that directs policy to only cover directories (e.g. -d is for directories, -- is for regular files, -s is for sockets, etc. -- see the help for semanage for the rest). I want a property called :filetype that can have a value of :file, :directory, :all, :socket, :character, :block, etc. Once I get valid input, I want to convert the value to the appropriate flag for the command. What's the best way to do this? My current idea is to accept any input, and then have a case switch inside of a munge block, e.g.: munge do |value| case value when file value = -- when directory value = -d ... etc.. end end Is this the correct way to implement this? The syntax here looks correct. You may also want to use newvalues to restrict the values that are allowed. Should this even be in the type definition (since these are details of the provider)? That is a really good point. It would be more consistent with the model if this munging was done in the provider. Of coarse in only really 'matters' if you think the type will have multiple providers. Thanks for your help, Jon -- 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/-/1PVDZB_Cw2QJ. 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/-/5nVGbDoO7bAJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, 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: Manually creating class resource in site.pp works, calling same class from ENC silently fails
I altered my ENC script to get rid of the {} on empty params, and instead follow what's prescribed in the documentation. Still no good. Also, if I run the puppet node command you gave me on the master, the classes appear correct. When I run 'puppet --test --noop' on the client, though, it still is only getting a subset of the defined ENC classes. I've tried stopping and restarting the web server as well, which doesn't appear to have any effect. I'm not sure what's going on On Thursday, August 23, 2012 8:37:24 PM UTC-4, Jon McKenzie wrote: It should be: --- classes: foobar: I thought the {} might be the issue too, however that* is* valid YAML (my ENC is a ruby script that just calls .to_yaml on a constructed hash). If that's indeed the issue, I think that should probably be considered a bug. I think whatever's taking the output of the ENC should not get confused between a nil and an empty hash (what happened to duck typing? :-)) I will try it tomorrow. However if I remember correctly (I was bogged down with other things yesterday as well), I did try passing dummy parameters too, e.g. --- classes: foobar: foo: bar ... and this also did not work. And thanks for the puppet node command! I did not know about that. I'll give that a go as well On Thursday, August 23, 2012 7:40:46 PM UTC-4, Nick Fagerlund wrote: Oh wait, also! On Thursday, August 23, 2012 1:12:03 PM UTC-7, Jon McKenzie wrote: Is there a way on the server side to validate the ENC - class transformation for clients? I can see in the logs when the ENC script gets run, but there's not much other detail Yeah, get the node object at the command line on your puppet master. $ sudo puppet node find screech.magpie.lan --mode master --render-as yaml ...where screech.magpie.lan is the node name. It'll have a 'classes' key which will be either an array or a hash depending on how your ENC was rigged. -- 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/-/OUlNoARM7DsJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.