Hi, >>> Yesterday I implemented a module for managing Nagios configurations. It >>> has turned out to be quite a complex beast, but in my test environment, it >>> seemed to do everything it should. >>> >>> Now, in production, managing some 30 hosts, I get the following on the >>> node that is both Puppetmaster and Nagios server: >>> >>>> Thu Mar 10 12:13:14 +0100 2011 >>>> /Stage[main]/Nagios::Server/Nagios_host[server017] (err): Could not >>>> evaluate: undefined method `sort' for :absent:Symbol >>>> Thu Mar 10 12:13:14 +0100 2011 >>>> /Stage[main]/Nagios::Target/Nagios_host[offman01] (err): Could not >>>> evaluate: undefined method `sort' for :absent:Symbol >>>> Thu Mar 10 12:13:14 +0100 2011 >>>> /Stage[main]/Nagios::Server/Nagios_host[server000-vpn] (err): Could not >>>> evaluate: undefined method `sort' for :absent:Symbol >>> >>> It does this for all nodes. Unfortunately, I have no idea what that means >>> or where to start looking. Google doesn't give any results when searching >>> for this error. >>> >>> The strange thing that I notice is, that for any 'normal' node, it gives >>> the error as a result of the Nagios::Server class (which is only included >>> on the Nagios server i.e. 'this' node, and collects the Nagios_host >>> resources), but for the node itself (offman01, the middle line in the >>> excerpt above), the error is reported for the Nagios::Target class (which >>> is included on all monitored nodes, including the Nagios server itself, >>> which exports the @@nagios_host definitions). >>> >>> I am not sure what more information to give you, so if anyone has ANY >>> idea, please let me know. >> >> Some more information: >> >> The nagios::target class has this: >> >> class nagios::target { >> >> include nagios::common >> >> @@nagios_host { "$hostname": >> use => "generic-host", >> address => $fqdn, >> alias => $hostname, >> ensure => present, >> target => "$nagios::common::nagios_conf_test/host-$hostname.cfg", >> } >> >> $hostgroups_parameter = generate (some command) >> >> if $hostgroups_parameter != "" { >> Nagios_host["$hostname"] { >> hostgroups => $hostgroups_parameter, >> } >> } >> }
I now changed it to: $hostgroups_parameter = generate (some command) @@nagios_host { "$hostname": use => "generic-host", address => $fqdn, alias => $hostname, ensure => present, target => "$nagios::common::nagios_conf_test/host-$hostname.cfg", hostgroups => $hostgroups_parameter ? { "" => undef, default => "$hostgroups_parameter", }, } but the error remains. Pointers still very much appreciated!! Best regards, Martijn. -- 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.