Make the redfish stonith agent a manual agent and add two workaround

Due to  https://bugzilla.redhat.com/show_bug.cgi?id=1677020 we will
actually have pcs complaining if we use --system_uri or --redfish_uri.
The history about this problem starts with this commit
de490e0590

While this commit created obsolete and deprecated options in the
metadata xml, pcs never picked that up and always favours the parameters
with '-'. In the past they added workarounds for
fence_{compute,evacuate} but it was never a generic solution
(https://bugzilla.redhat.com/show_bug.cgi?id=1623181)

So for the time being we need to just workaround this by leaving the
puppet parameters as they are but then using the dash as opposed to the
underscore. Otherwise we will get the following error:

  pcs -f /var/lib/pacemaker/cib/puppet-cib-backup20190213-128853-ah8530
  create failed: Error: invalid stonith option 'systems_uri', allowed
  options are: action, debug, delay, gnutlscli_path, inet4_only,
  inet6_only, ipaddr, ipport, login, login_timeout, passwd, passwd_script,
  pcmk_action_limit, pcmk_delay_base, pcmk_delay_max, pcmk_host_argument,
  pcmk_host_check, pcmk_host_list, pcmk_host_map, pcmk_list_action,
  pcmk_list_retries, pcmk_list_timeout, pcmk_monitor_action,
  pcmk_monitor_retries, pcmk_monitor_timeout, pcmk_off_action,
  pcmk_off_retries, pcmk_off_timeout, pcmk_on_action, pcmk_on_retries,
  pcmk_on_timeout, pcmk_reboot_action, pcmk_reboot_retries,
  pcmk_reboot_timeout, pcmk_status_action, pcmk_status_retries,
  pcmk_status_timeout, port, port_as_ip, power_timeout, power_wait,
  priority, quiet, redfish-uri, retry_on, shell_timeout, ssl,
  ssl_insecure, ssl_secure, systems-uri, verbose, use --force to override

And no, we cannot have nice things.

Tested this with Ic85855b6789dbad918f709fdeeabc6934876ce72 and got a
proper redfish stonith configuration:
 stonith-fence_redfish-52540069824c     (stonith:fence_redfish):        Started controller-1
 stonith-fence_redfish-5254008adae4     (stonith:fence_redfish):        Started controller-2
 stonith-fence_redfish-5254004c56a8     (stonith:fence_redfish):        Started controller-1

Change-Id: I96fa203c706858f13d5bd6732c31003ecb193b62
This commit is contained in:
Michele Baldessari 2019-02-14 10:48:37 +01:00
parent bc7b472896
commit 5deba125b1
2 changed files with 7 additions and 3 deletions

View File

@ -27,7 +27,6 @@ cmd_pkg_map=(
"fence_ipmilan:fence-agents-ipmilan"
"fence_ironic:None"
"fence_kdump:fence-agents-kdump"
"fence_redfish:fence-agents-redfish"
"fence_rhevm:fence-agents-rhevm"
"fence_rsb:fence-agents-rsb"
"fence_scsi:fence-agents-scsi"
@ -37,4 +36,7 @@ cmd_pkg_map=(
# These have manual changes and need to be updated manually:
# "fence_xvm:fence-virt"
# Until https://bugzilla.redhat.com/show_bug.cgi?id=1677020 is fixed properly
# we need to manually use deprecated parameters
#"fence_redfish:fence-agents-redfish"
)

View File

@ -236,9 +236,10 @@ define pacemaker::stonith::fence_redfish (
undef => '',
default => "port=\"${port}\"",
}
# Manual workaround s/_/-/ needed due to https://bugzilla.redhat.com/show_bug.cgi?id=1677020
$redfish_uri_chunk = $redfish_uri ? {
undef => '',
default => "redfish_uri=\"${redfish_uri}\"",
default => "redfish-uri=\"${redfish_uri}\"",
}
$ssl_chunk = $ssl ? {
undef => '',
@ -252,9 +253,10 @@ define pacemaker::stonith::fence_redfish (
undef => '',
default => "ssl_secure=\"${ssl_secure}\"",
}
# Manual workaround s/_/-/ needed due to https://bugzilla.redhat.com/show_bug.cgi?id=1677020
$systems_uri_chunk = $systems_uri ? {
undef => '',
default => "systems_uri=\"${systems_uri}\"",
default => "systems-uri=\"${systems_uri}\"",
}
$username_chunk = $username ? {
undef => '',