11require 'rexml/document'
22
3- Puppet ::Type . type ( :ha_crm_property ) . provide ( :crm ) do
3+ Puppet ::Type . type ( :ha_crm_parameter ) . provide ( :crm ) do
44
55 commands :crm_resource => "crm_resource"
66
77 def create
8- if resource [ :meta ]
8+ if resource [ :meta ] == :true
99 crm_resource "-m" , "-r" , resource [ :resource ] , "-p" , resource [ :name ] , "-v" , resource [ :value ]
1010 else
1111 crm_resource "-r" , resource [ :resource ] , "-p" , resource [ :name ] , "-v" , resource [ :value ]
1212 end
1313 end
1414
1515 def destroy
16- if resource [ :meta ]
16+ if resource [ :meta ] == :true
1717 crm_resource "-m" , "-r" , resource [ :resource ] , "-d" , resource [ :name ]
1818 else
1919 crm_resource "-r" , resource [ :resource ] , "-d" , resource [ :name ]
2020 end
2121 end
2222
2323 def exists?
24- if resource [ :only_run_on_dc ] and Facter . value ( :ha_cluster_dc ) != Facter . value ( :fqdn )
25- resource [ :value ]
24+ if resource [ :only_run_on_dc ] and ( Facter . value ( :ha_cluster_dc ) != Facter . value ( :fqdn ) )
25+ true
2626 else
2727 cib = REXML ::Document . new File . open ( "/var/lib/heartbeat/crm/cib.xml" )
28- if resource [ :meta ]
28+ if resource [ :meta ] == :true
2929 type = "meta"
3030 else
3131 type = "instance"
@@ -35,9 +35,13 @@ def exists?
3535 nvpair = REXML ::XPath . first ( cib , "//master[@id='#{ resource [ :resource ] } ']/#{ type } _attributes/nvpair[@name='#{ resource [ :name ] } ']" ) if nvpair . nil?
3636 nvpair = REXML ::XPath . first ( cib , "//clone[@id='#{ resource [ :resource ] } ']/#{ type } _attributes/nvpair[@name='#{ resource [ :name ] } ']" ) if nvpair . nil?
3737 if nvpair . nil?
38- :absent
38+ false
3939 else
40- nvpair . attribute ( :value ) . value
40+ if nvpair . attribute ( :value ) . value == resource [ :value ]
41+ true
42+ else
43+ false
44+ end
4145 end
4246 end
4347 end
0 commit comments