From 9bdfe694bc6c60a48b45f8dd49c20c6da31445f7 Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Sat, 11 Sep 2010 10:23:38 -0500 Subject: Fix for Bug #4756 - Providers no longer respect missing features Restored deleted lines from type.rb and reinstated unit tests --- lib/puppet/type.rb | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/puppet') diff --git a/lib/puppet/type.rb b/lib/puppet/type.rb index 291179a02..ccb2b492a 100644 --- a/lib/puppet/type.rb +++ b/lib/puppet/type.rb @@ -472,6 +472,12 @@ class Type raise Puppet::Error, "Resource type #{self.class.name} does not support parameter #{name}" end + if provider and ! provider.class.supports_parameter?(klass) + missing = klass.required_features.find_all { |f| ! provider.class.feature?(f) } + info "Provider %s does not support features %s; not managing attribute %s" % [provider.class.name, missing.join(", "), name] + return nil + end + return @parameters[name] if @parameters.include?(name) @parameters[name] = klass.new(:resource => self) -- cgit