diff options
author | David Schmitt <david@black.co.at> | 2016-06-29 21:33:00 +0100 |
---|---|---|
committer | David Schmitt <david@black.co.at> | 2016-06-29 21:33:00 +0100 |
commit | af875b11ff284cfe2ea95d208a614576a4342b2c (patch) | |
tree | 450f264f6fb674a7c4be7073e98c334f11a54b9b /lib/puppet/parser | |
parent | 50cf8bd5b77ba6353ab6477c4c76f437b834b6b0 (diff) |
(MODULES-3543) Fix define_with_params to handle undef properly
As described in PUP-6422,
ensure_resources('File[/tmp/a]', { owner => undef })
would not actually create the file. This fixes it, and adds tests to prove
it.
Diffstat (limited to 'lib/puppet/parser')
-rw-r--r-- | lib/puppet/parser/functions/defined_with_params.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/puppet/parser/functions/defined_with_params.rb b/lib/puppet/parser/functions/defined_with_params.rb index d7df306..ffc7241 100644 --- a/lib/puppet/parser/functions/defined_with_params.rb +++ b/lib/puppet/parser/functions/defined_with_params.rb @@ -26,7 +26,7 @@ ENDOFDOC ret = false if resource = findresource(reference.to_s) matches = params.collect do |key, value| - resource[key] == value + resource[key] == (value.eql?(:undef) ? nil : value) # eql? avoids bugs caused by monkeypatching in puppet end ret = params.empty? || !matches.include?(false) end |