Add force parameter for all pcmk_ types
Currently only the property class supports the 'force' boolean to add --force for all pcs calls. Let's add this support to the other resource classes as well. Background for this is we want to be able to create an OCF resource inside a bundle even when that OCF resource does not exist on the host and in this case pcs requires --force or it will fail with: Error: pcs -f /var/lib/pacemaker/cib/puppet-cib-backup20200219-57341-tcztxb create failed: Error: Agent 'ocf:ovn:ovndb-servers' is not installed or does not provide valid metadata: Metadata query for ocf:ovn:ovndb-servers failed: Input/output error, use --force to override Tested by deploying a full TripleO overcloud with a single OCF resource passing 'force => true'. Related-Bug: #1863442 Change-Id: I20eb78a061a334b20f6b2274591c5d313a0af532
This commit is contained in:
parent
83d23b3f34
commit
2b6d519180
|
@ -43,8 +43,13 @@ Puppet::Type.type(:pcmk_bundle).provide(:default) do
|
|||
docker_cmd = container_backend
|
||||
end
|
||||
|
||||
if @resource[:force]
|
||||
force_cmd = '--force '
|
||||
else
|
||||
force_cmd = ''
|
||||
end
|
||||
# Build the 'pcs resource create' command. Check out the pcs man page :-)
|
||||
cmd = 'resource bundle ' + create_cmd + ' ' + @resource[:name] + ' container ' + docker_cmd + ' image=' + @resource[:image]
|
||||
cmd = force_cmd + 'resource bundle ' + create_cmd + ' ' + @resource[:name] + ' container ' + docker_cmd + ' image=' + @resource[:image]
|
||||
if replicas
|
||||
cmd += " replicas=#{replicas}"
|
||||
end
|
||||
|
|
|
@ -27,8 +27,13 @@ Puppet::Type.type(:pcmk_resource).provide(:default) do
|
|||
create_cmd = ' create '
|
||||
end
|
||||
|
||||
if @resource[:force]
|
||||
force_cmd = '--force '
|
||||
else
|
||||
force_cmd = ''
|
||||
end
|
||||
# Build the 'pcs resource create' command. Check out the pcs man page :-)
|
||||
cmd = 'resource' + create_cmd + @resource[:name] + ' ' + @resource[:resource_type]
|
||||
cmd = force_cmd + 'resource' + create_cmd + @resource[:name] + ' ' + @resource[:resource_type]
|
||||
if @resource[:resource_type] == 'remote'
|
||||
if not_empty_string(@resource[:remote_address])
|
||||
cmd += ' server=' + @resource[:remote_address]
|
||||
|
|
|
@ -74,6 +74,12 @@ Puppet::Type.newtype(:pcmk_bundle) do
|
|||
defaultto false
|
||||
end
|
||||
|
||||
newparam(:force, :boolean => true, :parent => Puppet::Parameter::Boolean) do
|
||||
desc "Wheter to use --force with pcs"
|
||||
|
||||
defaultto false
|
||||
end
|
||||
|
||||
newproperty(:image) do
|
||||
desc "docker image"
|
||||
end
|
||||
|
|
|
@ -38,6 +38,12 @@ Puppet::Type.newtype(:pcmk_remote) do
|
|||
defaultto 0
|
||||
end
|
||||
|
||||
newparam(:force, :boolean => true, :parent => Puppet::Parameter::Boolean) do
|
||||
desc "Wheter to use --force with pcs"
|
||||
|
||||
defaultto false
|
||||
end
|
||||
|
||||
## borrowed from exec.rb
|
||||
newparam(:tries) do
|
||||
desc "The number of times to attempt to create a pcs resource.
|
||||
|
|
|
@ -77,6 +77,12 @@ Puppet::Type.newtype(:pcmk_resource) do
|
|||
defaultto false
|
||||
end
|
||||
|
||||
newparam(:force, :boolean => true, :parent => Puppet::Parameter::Boolean) do
|
||||
desc "Wheter to use --force with pcs"
|
||||
|
||||
defaultto false
|
||||
end
|
||||
|
||||
newproperty(:op_params) do
|
||||
desc "op parameters"
|
||||
end
|
||||
|
|
|
@ -67,6 +67,10 @@
|
|||
# (optional) Whether to verify creation of resource
|
||||
# Defaults to false
|
||||
#
|
||||
# [*force*]
|
||||
# (optional) Whether to force creation via pcs --force
|
||||
# Defaults to false
|
||||
#
|
||||
# [*location_rule*]
|
||||
# (optional) Add a location constraint before actually enabling
|
||||
# the resource. Must be a hash like the following example:
|
||||
|
@ -130,6 +134,7 @@ define pacemaker::resource::bundle(
|
|||
$tries = 1,
|
||||
$try_sleep = 0,
|
||||
$verify_on_create = false,
|
||||
$force = false,
|
||||
$location_rule = undef,
|
||||
$container_backend = 'docker',
|
||||
$deep_compare = hiera('pacemaker::resource::bundle::deep_compare', false),
|
||||
|
@ -159,6 +164,7 @@ define pacemaker::resource::bundle(
|
|||
tries => $tries,
|
||||
try_sleep => $try_sleep,
|
||||
verify_on_create => $verify_on_create,
|
||||
force => $force,
|
||||
location_rule => $location_rule,
|
||||
container_backend => $container_backend,
|
||||
deep_compare => $deep_compare,
|
||||
|
|
|
@ -66,6 +66,10 @@
|
|||
# (optional) Verify creation of resource
|
||||
# Defaults to false
|
||||
#
|
||||
# [*force*]
|
||||
# (optional) Whether to force creation via pcs --force
|
||||
# Defaults to false
|
||||
#
|
||||
# [*location_rule*]
|
||||
# (optional) Add a location constraint before actually enabling
|
||||
# the resource. Must be a hash like the following example:
|
||||
|
@ -132,6 +136,7 @@ define pacemaker::resource::filesystem(
|
|||
$tries = 1,
|
||||
$try_sleep = 0,
|
||||
$verify_on_create = false,
|
||||
$force = false,
|
||||
$location_rule = undef,
|
||||
$deep_compare = false,
|
||||
$update_settle_secs = hiera('pacemaker::resource::filesystem::update_settle_secs', 600),
|
||||
|
@ -156,6 +161,7 @@ define pacemaker::resource::filesystem(
|
|||
tries => $tries,
|
||||
try_sleep => $try_sleep,
|
||||
verify_on_create => $verify_on_create,
|
||||
force => $force,
|
||||
location_rule => $location_rule,
|
||||
deep_compare => $deep_compare,
|
||||
update_settle_secs => $update_settle_secs,
|
||||
|
|
|
@ -61,6 +61,10 @@
|
|||
# (optional) Whether to verify creation of resource
|
||||
# Defaults to false
|
||||
#
|
||||
# [*force*]
|
||||
# (optional) Whether to force creation via pcs --force
|
||||
# Defaults to false
|
||||
#
|
||||
# [*location_rule*]
|
||||
# (optional) Add a location constraint before actually enabling
|
||||
# the resource. Must be a hash like the following example:
|
||||
|
@ -125,6 +129,7 @@ define pacemaker::resource::ip(
|
|||
$tries = 1,
|
||||
$try_sleep = 0,
|
||||
$verify_on_create = false,
|
||||
$force = false,
|
||||
$location_rule = undef,
|
||||
$deep_compare = hiera('pacemaker::resource::ip::deep_compare', false),
|
||||
$update_settle_secs = hiera('pacemaker::resource::ip::update_settle_secs', 600),
|
||||
|
@ -162,6 +167,7 @@ define pacemaker::resource::ip(
|
|||
tries => $tries,
|
||||
try_sleep => $try_sleep,
|
||||
verify_on_create => $verify_on_create,
|
||||
force => $force,
|
||||
location_rule => $location_rule,
|
||||
deep_compare => $deep_compare,
|
||||
update_settle_secs => $update_settle_secs,
|
||||
|
|
|
@ -57,6 +57,10 @@
|
|||
# (optional) Whether to verify creation of resource
|
||||
# Defaults to false
|
||||
#
|
||||
# [*force*]
|
||||
# (optional) Whether to force creation via pcs --force
|
||||
# Defaults to false
|
||||
#
|
||||
# [*location_rule*]
|
||||
# (optional) Add a location constraint before actually enabling
|
||||
# the resource. Must be a hash like the following example:
|
||||
|
@ -120,6 +124,7 @@ define pacemaker::resource::lsb(
|
|||
$tries = 1,
|
||||
$try_sleep = 0,
|
||||
$verify_on_create = false,
|
||||
$force = false,
|
||||
$location_rule = undef,
|
||||
$deep_compare = false,
|
||||
$update_settle_secs = hiera('pacemaker::resource::lsb::update_settle_secs', 600),
|
||||
|
@ -137,6 +142,7 @@ define pacemaker::resource::lsb(
|
|||
tries => $tries,
|
||||
try_sleep => $try_sleep,
|
||||
verify_on_create => $verify_on_create,
|
||||
force => $force,
|
||||
location => $location_rule,
|
||||
deep_compare => $deep_compare,
|
||||
update_settle_secs => $update_settle_secs,
|
||||
|
|
|
@ -61,6 +61,10 @@
|
|||
# (optional) Whether to verify creation of resource
|
||||
# Defaults to false
|
||||
#
|
||||
# [*force*]
|
||||
# (optional) Whether to force creation via pcs --force
|
||||
# Defaults to false
|
||||
#
|
||||
# [*location_rule*]
|
||||
# (optional) Add a location constraint before actually enabling
|
||||
# the resource. Must be a hash like the following example:
|
||||
|
@ -125,6 +129,7 @@ define pacemaker::resource::ocf(
|
|||
$tries = 1,
|
||||
$try_sleep = 0,
|
||||
$verify_on_create = false,
|
||||
$force = false,
|
||||
$location_rule = undef,
|
||||
$deep_compare = hiera('pacemaker::resource::ocf::deep_compare', false),
|
||||
$update_settle_secs = hiera('pacemaker::resource::ocf::update_settle_secs', 600),
|
||||
|
@ -143,6 +148,7 @@ define pacemaker::resource::ocf(
|
|||
tries => $tries,
|
||||
try_sleep => $try_sleep,
|
||||
verify_on_create => $verify_on_create,
|
||||
force => $force,
|
||||
location_rule => $location_rule,
|
||||
deep_compare => $deep_compare,
|
||||
update_settle_secs => $update_settle_secs,
|
||||
|
|
|
@ -46,6 +46,10 @@
|
|||
# (optional) Whether to verify creation of resource
|
||||
# Defaults to false
|
||||
#
|
||||
# [*force*]
|
||||
# (optional) Whether to force creation via pcs --force
|
||||
# Defaults to false
|
||||
#
|
||||
# [*location_rule*]
|
||||
# (optional) Add a location constraint before actually enabling
|
||||
# the resource. Must be a hash like the following example:
|
||||
|
@ -106,6 +110,7 @@ define pacemaker::resource::remote(
|
|||
$tries = 1,
|
||||
$try_sleep = 0,
|
||||
$verify_on_create = false,
|
||||
$force = false,
|
||||
$pcs_user = 'hacluster',
|
||||
$pcs_password = undef,
|
||||
$location_rule = undef,
|
||||
|
@ -126,6 +131,7 @@ define pacemaker::resource::remote(
|
|||
pcs_password => $pcs_password,
|
||||
deep_compare => $deep_compare,
|
||||
update_settle_secs => $update_settle_secs,
|
||||
force => $force,
|
||||
}
|
||||
} else {
|
||||
pcmk_resource { $name:
|
||||
|
@ -140,6 +146,7 @@ define pacemaker::resource::remote(
|
|||
tries => $tries,
|
||||
try_sleep => $try_sleep,
|
||||
verify_on_create => $verify_on_create,
|
||||
force => $force,
|
||||
location_rule => $location_rule,
|
||||
deep_compare => $deep_compare,
|
||||
update_settle_secs => $update_settle_secs,
|
||||
|
|
|
@ -56,6 +56,10 @@
|
|||
# (optional) Whether to verify creation of resource
|
||||
# Defaults to false
|
||||
#
|
||||
# [*force*]
|
||||
# (optional) Whether to force creation via pcs --force
|
||||
# Defaults to false
|
||||
#
|
||||
# [*location_rule*]
|
||||
# (optional) Add a location constraint before actually enabling
|
||||
# the resource. Must be a hash like the following example:
|
||||
|
@ -119,6 +123,7 @@ define pacemaker::resource::route(
|
|||
$tries = 1,
|
||||
$try_sleep = 0,
|
||||
$verify_on_create = false,
|
||||
$force = false,
|
||||
$location_rule = undef,
|
||||
$deep_compare = false,
|
||||
$update_settle_secs = hiera('pacemaker::resource::route::update_settle_secs', 600),
|
||||
|
@ -155,6 +160,7 @@ define pacemaker::resource::route(
|
|||
tries => $tries,
|
||||
try_sleep => $try_sleep,
|
||||
verify_on_create => $verify_on_create,
|
||||
force => $force,
|
||||
location_rule => $location_rule,
|
||||
deep_compare => $deep_compare,
|
||||
update_settle_secs => $update_settle_secs,
|
||||
|
|
|
@ -57,6 +57,10 @@
|
|||
# (optional) Whether to verify creation of resource
|
||||
# Defaults to false
|
||||
#
|
||||
# [*force*]
|
||||
# (optional) Whether to force creation via pcs --force
|
||||
# Defaults to false
|
||||
#
|
||||
# [*location_rule*]
|
||||
# (optional) Add a location constraint before actually enabling
|
||||
# the resource. Must be a hash like the following example:
|
||||
|
@ -120,6 +124,7 @@ define pacemaker::resource::service(
|
|||
$tries = 1,
|
||||
$try_sleep = 0,
|
||||
$verify_on_create = false,
|
||||
$force = false,
|
||||
$location_rule = undef,
|
||||
$deep_compare = false,
|
||||
$update_settle_secs = hiera('pacemaker::resource::service::update_settle_secs', 600),
|
||||
|
@ -141,6 +146,7 @@ define pacemaker::resource::service(
|
|||
tries => $tries,
|
||||
try_sleep => $try_sleep,
|
||||
verify_on_create => $verify_on_create,
|
||||
force => $force,
|
||||
location_rule => $location_rule,
|
||||
deep_compare => $deep_compare,
|
||||
update_settle_secs => $update_settle_secs,
|
||||
|
|
|
@ -57,6 +57,10 @@
|
|||
# (optional) Whether to verify creation of resource
|
||||
# Defaults to false
|
||||
#
|
||||
# [*force*]
|
||||
# (optional) Whether to force creation via pcs --force
|
||||
# Defaults to false
|
||||
#
|
||||
# [*location_rule*]
|
||||
# (optional) Add a location constraint before actually enabling
|
||||
# the resource. Must be a hash like the following example:
|
||||
|
@ -120,6 +124,7 @@ define pacemaker::resource::systemd(
|
|||
$tries = 1,
|
||||
$try_sleep = 0,
|
||||
$verify_on_create = false,
|
||||
$force = false,
|
||||
$location_rule = undef,
|
||||
$deep_compare = false,
|
||||
$update_settle_secs = hiera('pacemaker::resource::systemd::update_settle_secs', 600),
|
||||
|
@ -137,6 +142,7 @@ define pacemaker::resource::systemd(
|
|||
tries => $tries,
|
||||
try_sleep => $try_sleep,
|
||||
verify_on_create => $verify_on_create,
|
||||
force => $force,
|
||||
location_rule => $location_rule,
|
||||
deep_compare => $deep_compare,
|
||||
update_settle_secs => $update_settle_secs,
|
||||
|
|
Loading…
Reference in New Issue