Make sure nodeinfo['misc']['v[46]addrs'] always exists, possibly empty.
authorPeter Palfrader <peter@palfrader.org>
Tue, 31 Jul 2018 08:19:37 +0000 (10:19 +0200)
committerPeter Palfrader <peter@palfrader.org>
Tue, 31 Jul 2018 08:19:44 +0000 (10:19 +0200)
modules/ferm/manifests/init.pp
modules/puppetmaster/lib/puppet/parser/functions/nodeinfo.rb

index 5278816..c1e3c52 100644 (file)
@@ -34,11 +34,9 @@ class ferm {
 
        munin::check { $munin_ips: script => 'ip_', }
 
-       if getfromhash($site::nodeinfo, 'misc', 'v6addrs') {
-               $munin6_ips = getfromhash($site::nodeinfo, 'misc', 'v6addrs')
-                       .map |$addr| { "ip_${addr}" }
-               munin::ipv6check { $munin6_ips: }
-       }
+       $munin6_ips = getfromhash($site::nodeinfo, 'misc', 'v6addrs')
+               .map |$addr| { "ip_${addr}" }
+       munin::ipv6check { $munin6_ips: }
 
        # get rid of old stuff
        $munin6_ip6s = split(regsubst($::v6ips, '([^,]+)', 'ip6_\1', 'G'), ',')
index 4927002..812ff0c 100644 (file)
@@ -33,11 +33,15 @@ module Puppet::Parser::Functions
           # find out if we are behind nat
           intersection = nodeinfo['misc']['v4addrs'] & nodeinfo['ldap']['ipHostNumber']
           nodeinfo['misc']['natted'] = intersection.empty?
+        else
+          nodeinfo['misc']['v4addrs'] = []
         end
 
         v6ips = lookupvar('::v6ips')
         if v6ips and v6ips.to_s != "" and v6ips.to_s != 'undefined'
           nodeinfo['misc']['v6addrs'] = v6ips.split(',')
+        else
+          nodeinfo['misc']['v6addrs'] = []
         end
       end