use new #from_name logic to handle sanity checks
This commit is contained in:
parent
2947139632
commit
4df1f5c40f
@ -35,13 +35,14 @@ module Pacemaker
|
||||
|
||||
def from_name(name)
|
||||
definition = get_definition(name)
|
||||
return nil unless definition
|
||||
return nil unless definition and ! definition.empty?
|
||||
obj_type = type(definition)
|
||||
subclass = @@subclasses[obj_type]
|
||||
unless subclass
|
||||
raise "No subclass of #{self.name} was registered with type '#{obj_type}'"
|
||||
end
|
||||
obj = subclass.from_definition(definition)
|
||||
return nil unless obj
|
||||
unless name == obj.name
|
||||
raise "Name '#{obj.name}' in definition didn't match name '#{name}' used for retrieval"
|
||||
end
|
||||
|
@ -17,7 +17,7 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
require ::File.join(::File.dirname(__FILE__), *%w(.. libraries pacemaker cib_object))
|
||||
require ::File.join(::File.dirname(__FILE__), *%w(.. libraries pacemaker))
|
||||
|
||||
# For vagrant env, switch to the following 'require' command.
|
||||
#require "/srv/chef/file_store/cookbooks/pacemaker/providers/helper"
|
||||
@ -89,18 +89,17 @@ end
|
||||
def load_current_resource
|
||||
name = @new_resource.name
|
||||
|
||||
primitive = Pacemaker::Resource::Primitive.new(name)
|
||||
begin
|
||||
primitive.load_definition
|
||||
rescue Pacemaker::ObjectTypeMismatch => e
|
||||
Chef::Log.warn e.message
|
||||
return
|
||||
end
|
||||
|
||||
if ! primitive.definition or primitive.definition.empty?
|
||||
primitive = Pacemaker::CIBObject.from_name(name)
|
||||
unless primitive
|
||||
Chef::Log.debug "CIB object definition nil or empty"
|
||||
return
|
||||
end
|
||||
|
||||
unless primitive.is_a? Pacemaker::Resource::Primitive
|
||||
Chef::Log.warn "CIB object '#{name}' was a #{primitive.type} not a resource primitive"
|
||||
return
|
||||
end
|
||||
|
||||
Chef::Log.debug "CIB object definition #{primitive.definition}"
|
||||
@current_resource_definition = primitive.definition
|
||||
primitive.parse_definition
|
||||
|
Loading…
x
Reference in New Issue
Block a user