Initial support for properties managed by pcs 0.10
pcs0.10 removed support for 'pcs property --node'. The command to be used is 'pcs node attribute' We cannot detect the pcs version via facter as that breaks when pcs is not installed at the moment puppet is run. Doing it with an additional yum call like https://github.com/fsalum/puppet-redis/blob/master/lib/facter/redis_version.rb#L50 seems also suboptimal. Change-Id: I27b8aa930a7413069539eb4fac13c41822049889
This commit is contained in:
parent
c7b21ee0cb
commit
306b0e001a
|
@ -8,13 +8,18 @@ Puppet::Type.type(:pcmk_property).provide(:default) do
|
|||
property = @resource[:property]
|
||||
node = @resource[:node]
|
||||
value = @resource[:value]
|
||||
cmd = "property set"
|
||||
if not_empty_string(node)
|
||||
if Puppet::Util::Package.versioncmp(pcs_cli_version(), '0.10.0') >= 0
|
||||
cmd = "node attribute #{node}"
|
||||
else
|
||||
cmd = "property set --node #{node}"
|
||||
end
|
||||
else
|
||||
cmd = "property set"
|
||||
end
|
||||
if not_empty_string(@resource[:force])
|
||||
cmd += " --force"
|
||||
end
|
||||
if not_empty_string(node)
|
||||
cmd += " --node #{node}"
|
||||
end
|
||||
cmd += " #{property}=#{value}"
|
||||
ret = pcs('create', @resource[:property], cmd, @resource[:tries], @resource[:try_sleep])
|
||||
Puppet.debug("property create: #{cmd} -> #{ret}")
|
||||
|
@ -24,11 +29,15 @@ Puppet::Type.type(:pcmk_property).provide(:default) do
|
|||
def destroy
|
||||
property = @resource[:property]
|
||||
node = @resource[:node]
|
||||
cmd = "property unset"
|
||||
if not_empty_string(node)
|
||||
cmd += " --node #{node}"
|
||||
if Puppet::Util::Package.versioncmp(pcs_cli_version(), '0.10.0') >= 0
|
||||
cmd = "node attribute #{node} #{property}="
|
||||
else
|
||||
cmd = "property unset --node #{node} #{property}"
|
||||
end
|
||||
else
|
||||
cmd = "property unset #{property}"
|
||||
end
|
||||
cmd += " #{property}"
|
||||
ret = pcs('delete', @resource[:property], cmd, @resource[:tries], @resource[:try_sleep])
|
||||
Puppet.debug("property destroy: #{cmd} -> #{ret}")
|
||||
return ret
|
||||
|
@ -45,7 +54,11 @@ Puppet::Type.type(:pcmk_property).provide(:default) do
|
|||
else
|
||||
value = ''
|
||||
end
|
||||
cmd = "property show"
|
||||
if Puppet::Util::Package.versioncmp(pcs_cli_version(), '0.10.0') >= 0 and not_empty_string(node)
|
||||
cmd = "node attribute #{node}"
|
||||
else
|
||||
cmd = "property show"
|
||||
end
|
||||
# We need to distinguish between per node properties and global ones as the output is
|
||||
# different:
|
||||
# Cluster Properties:
|
||||
|
|
Loading…
Reference in New Issue