diff options
author | Mathias Klette <mathias.klette@magicinternet.de> | 2015-06-24 14:58:48 +0200 |
---|---|---|
committer | Mathias Klette <mathias.klette@magicinternet.de> | 2015-06-24 15:02:02 +0200 |
commit | e96a818782c944b4b1af5417d0bcffc08e95aadc (patch) | |
tree | c0a07a514411edec2b62cdb2e17dc25bc202ecdd /lib | |
parent | f820bb156038f638d8e488286d0c2b92c5636925 (diff) |
catch and rescue from looking up non-existent facts when looking for 'kind'
facter (2.x) only provides facts without interface suffix for
* ipaddress
* netmask
'macaddress' and 'network' facts will always have the related interface
name appended. in turns lookupvar throws errors when strict_variables is
enabled.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/parser/functions/has_interface_with.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/puppet/parser/functions/has_interface_with.rb b/lib/puppet/parser/functions/has_interface_with.rb index 3691524..e762798 100644 --- a/lib/puppet/parser/functions/has_interface_with.rb +++ b/lib/puppet/parser/functions/has_interface_with.rb @@ -38,8 +38,11 @@ has_interface_with("lo") => true # Bug with 3.7.1 - 3.7.3 when using future parser throws :undefined_variable # https://tickets.puppetlabs.com/browse/PUP-3597 factval = nil - catch :undefined_variable do - factval = lookupvar(kind) + begin + catch :undefined_variable do + factval = lookupvar(kind) + end + rescue Puppet::ParseError # Eat the exception if strict_variables = true is set end if factval == value return true |