From 7844ca815c0593b0ec5b98102af4d2125c1f395f Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Tue, 31 Jul 2018 10:19:37 +0200 Subject: [PATCH 1/1] Make sure nodeinfo['misc']['v[46]addrs'] always exists, possibly empty. --- modules/ferm/manifests/init.pp | 8 +++----- .../puppetmaster/lib/puppet/parser/functions/nodeinfo.rb | 4 ++++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/ferm/manifests/init.pp b/modules/ferm/manifests/init.pp index 527881682..c1e3c528f 100644 --- a/modules/ferm/manifests/init.pp +++ b/modules/ferm/manifests/init.pp @@ -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'), ',') diff --git a/modules/puppetmaster/lib/puppet/parser/functions/nodeinfo.rb b/modules/puppetmaster/lib/puppet/parser/functions/nodeinfo.rb index 4927002df..812ff0c9c 100644 --- a/modules/puppetmaster/lib/puppet/parser/functions/nodeinfo.rb +++ b/modules/puppetmaster/lib/puppet/parser/functions/nodeinfo.rb @@ -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 -- 2.20.1