From 032f93af1d9704dc218ef411e9e81befbe1c70a3 Mon Sep 17 00:00:00 2001 From: Tomas Doran Date: Fri, 18 Jul 2014 14:36:09 -0700 Subject: [PATCH] Fix strict_variables = true --- lib/puppet/parser/functions/getvar.rb | 5 ++++- lib/puppet/parser/functions/has_interface_with.rb | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/puppet/parser/functions/getvar.rb b/lib/puppet/parser/functions/getvar.rb index 162114995..fb336b6ac 100644 --- a/lib/puppet/parser/functions/getvar.rb +++ b/lib/puppet/parser/functions/getvar.rb @@ -19,7 +19,10 @@ module Puppet::Parser::Functions raise Puppet::ParseError, ("getvar(): wrong number of arguments (#{args.length}; must be 1)") end - self.lookupvar("#{args[0]}") + begin + self.lookupvar("#{args[0]}") + rescue Puppet::ParseError # Eat the exception if strict_variables = true is set + end end diff --git a/lib/puppet/parser/functions/has_interface_with.rb b/lib/puppet/parser/functions/has_interface_with.rb index 927b0dfeb..10ad5427c 100644 --- a/lib/puppet/parser/functions/has_interface_with.rb +++ b/lib/puppet/parser/functions/has_interface_with.rb @@ -41,7 +41,12 @@ module Puppet::Parser::Functions result = false interfaces.each do |iface| - if value == lookupvar("#{kind}_#{iface}") + factval = nil + begin + factval = lookupvar("#{kind}_#{iface}") + rescue Puppet::ParseError # Eat the exception if strict_variables = true is set + end + if value == factval result = true break end