diff --git a/SOURCES/bz1722004-1-fencing-inetX_only-SSH-fence_zvmip.patch b/SOURCES/bz1722004-1-fencing-inetX_only-SSH-fence_zvmip.patch new file mode 100644 index 0000000..6ee722d --- /dev/null +++ b/SOURCES/bz1722004-1-fencing-inetX_only-SSH-fence_zvmip.patch @@ -0,0 +1,756 @@ +From cecf3b3edeccbac6293b95073b0c0ad4f02a8652 Mon Sep 17 00:00:00 2001 +From: Oyvind Albrigtsen +Date: Tue, 12 Nov 2019 17:25:57 +0100 +Subject: [PATCH] fencing: only use inetX_only parameters for SSH based agents + and fence_zvmip, and fixed syntax issue for Gawk v5+ + +--- + agents/zvm/fence_zvmip.py | 2 +- + lib/fencing.py.py | 4 ++-- + make/agentpycheck.mk | 2 +- + tests/data/metadata/fence_amt.xml | 10 ---------- + tests/data/metadata/fence_amt_ws.xml | 10 ---------- + tests/data/metadata/fence_apc_snmp.xml | 10 ---------- + tests/data/metadata/fence_cisco_mds.xml | 10 ---------- + tests/data/metadata/fence_cisco_ucs.xml | 10 ---------- + tests/data/metadata/fence_docker.xml | 10 ---------- + tests/data/metadata/fence_drac.xml | 10 ---------- + tests/data/metadata/fence_eaton_snmp.xml | 10 ---------- + tests/data/metadata/fence_emerson.xml | 10 ---------- + tests/data/metadata/fence_eps.xml | 10 ---------- + tests/data/metadata/fence_ibmblade.xml | 10 ---------- + tests/data/metadata/fence_idrac.xml | 10 ---------- + tests/data/metadata/fence_ifmib.xml | 10 ---------- + tests/data/metadata/fence_ilo.xml | 10 ---------- + tests/data/metadata/fence_ilo2.xml | 10 ---------- + tests/data/metadata/fence_ilo3.xml | 10 ---------- + tests/data/metadata/fence_ilo4.xml | 10 ---------- + tests/data/metadata/fence_imm.xml | 10 ---------- + tests/data/metadata/fence_intelmodular.xml | 10 ---------- + tests/data/metadata/fence_ipdu.xml | 10 ---------- + tests/data/metadata/fence_ipmilan.xml | 10 ---------- + tests/data/metadata/fence_netio.xml | 10 ---------- + tests/data/metadata/fence_powerman.xml | 10 ---------- + tests/data/metadata/fence_pve.xml | 10 ---------- + tests/data/metadata/fence_raritan.xml | 10 ---------- + tests/data/metadata/fence_redfish.xml | 10 ---------- + tests/data/metadata/fence_rhevm.xml | 10 ---------- + tests/data/metadata/fence_sanbox2.xml | 10 ---------- + tests/data/metadata/fence_tripplite_snmp.xml | 10 ---------- + tests/data/metadata/fence_vmware_rest.xml | 10 ---------- + tests/data/metadata/fence_vmware_soap.xml | 10 ---------- + tests/data/metadata/fence_vmware_vcloud.xml | 10 ---------- + 36 files changed, 4 insertions(+), 334 deletions(-) + +diff --git a/agents/zvm/fence_zvmip.py b/agents/zvm/fence_zvmip.py +index e6bb01d1..5b272bb9 100644 +--- a/agents/zvm/fence_zvmip.py ++++ b/agents/zvm/fence_zvmip.py +@@ -146,7 +146,7 @@ def get_list_of_images(options, command, data_as_plug): + return (return_code, reason_code, images) + + def main(): +- device_opt = ["ipaddr", "login", "passwd", "port", "method", "missing_as_off"] ++ device_opt = ["ipaddr", "login", "passwd", "port", "method", "missing_as_off", "inet4_only", "inet6_only"] + + atexit.register(atexit_handler) + +diff --git a/lib/fencing.py.py b/lib/fencing.py.py +index 2a0b0b91..4b54aa7c 100644 +--- a/lib/fencing.py.py ++++ b/lib/fencing.py.py +@@ -459,9 +459,9 @@ + "delay", "quiet"], + "passwd" : ["passwd_script"], + "sudo" : ["sudo_path"], +- "secure" : ["identity_file", "ssh_options", "ssh_path"], ++ "secure" : ["identity_file", "ssh_options", "ssh_path", "inet4_only", "inet6_only"], + "telnet" : ["telnet_path"], +- "ipaddr" : ["ipport", "inet4_only", "inet6_only"], ++ "ipaddr" : ["ipport"], + "port" : ["separator"], + "ssl" : ["ssl_secure", "ssl_insecure", "gnutlscli_path"], + "snmp" : ["snmp_auth_prot", "snmp_sec_level", "snmp_priv_prot", \ +diff --git a/make/agentpycheck.mk b/make/agentpycheck.mk +index 58122c65..13482bf2 100644 +--- a/make/agentpycheck.mk ++++ b/make/agentpycheck.mk +@@ -1,5 +1,5 @@ + DATADIR:=$(abs_top_srcdir)/tests/data/metadata +-AWK_VAL='BEGIN {store=-1} /name=\".*_path\"/ {store=2} {if (store!=0) {print}; store--}' ++AWK_VAL='BEGIN {store=-1} /name=".*_path"/ {store=2} {if (store!=0) {print}; store--}' + + TEST_TARGET=$(filter-out $(TEST_TARGET_SKIP),$(TARGET)) + +diff --git a/tests/data/metadata/fence_amt.xml b/tests/data/metadata/fence_amt.xml +index c1e24db9..5f0adc98 100644 +--- a/tests/data/metadata/fence_amt.xml ++++ b/tests/data/metadata/fence_amt.xml +@@ -19,16 +19,6 @@ + + Change the default boot behavior of the machine. + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_amt_ws.xml b/tests/data/metadata/fence_amt_ws.xml +index 07c22db3..86f36f6c 100644 +--- a/tests/data/metadata/fence_amt_ws.xml ++++ b/tests/data/metadata/fence_amt_ws.xml +@@ -19,16 +19,6 @@ + + Change the default boot behavior of the machine. + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_apc_snmp.xml b/tests/data/metadata/fence_apc_snmp.xml +index 26661d6a..7f1c616c 100644 +--- a/tests/data/metadata/fence_apc_snmp.xml ++++ b/tests/data/metadata/fence_apc_snmp.xml +@@ -14,16 +14,6 @@ + + Set the community string + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_cisco_mds.xml b/tests/data/metadata/fence_cisco_mds.xml +index 1917595e..15d7798c 100644 +--- a/tests/data/metadata/fence_cisco_mds.xml ++++ b/tests/data/metadata/fence_cisco_mds.xml +@@ -13,16 +13,6 @@ + + Set the community string + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_cisco_ucs.xml b/tests/data/metadata/fence_cisco_ucs.xml +index 40581da7..848e72f8 100644 +--- a/tests/data/metadata/fence_cisco_ucs.xml ++++ b/tests/data/metadata/fence_cisco_ucs.xml +@@ -8,16 +8,6 @@ + + Fencing action + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_docker.xml b/tests/data/metadata/fence_docker.xml +index fdd6324c..3285314c 100644 +--- a/tests/data/metadata/fence_docker.xml ++++ b/tests/data/metadata/fence_docker.xml +@@ -8,16 +8,6 @@ + + Fencing action + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_drac.xml b/tests/data/metadata/fence_drac.xml +index 405d660a..2184ee0c 100644 +--- a/tests/data/metadata/fence_drac.xml ++++ b/tests/data/metadata/fence_drac.xml +@@ -18,16 +18,6 @@ + + Force Python regex for command prompt + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_eaton_snmp.xml b/tests/data/metadata/fence_eaton_snmp.xml +index 33957ed1..3dd92dd2 100644 +--- a/tests/data/metadata/fence_eaton_snmp.xml ++++ b/tests/data/metadata/fence_eaton_snmp.xml +@@ -13,16 +13,6 @@ + + Set the community string + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_emerson.xml b/tests/data/metadata/fence_emerson.xml +index 87205c1b..f6886469 100644 +--- a/tests/data/metadata/fence_emerson.xml ++++ b/tests/data/metadata/fence_emerson.xml +@@ -13,16 +13,6 @@ + + Set the community string + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_eps.xml b/tests/data/metadata/fence_eps.xml +index 68d8fb69..26e75477 100644 +--- a/tests/data/metadata/fence_eps.xml ++++ b/tests/data/metadata/fence_eps.xml +@@ -15,16 +15,6 @@ Agent basically works by connecting to hidden page and pass appropriate argument + + Name of hidden page + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_ibmblade.xml b/tests/data/metadata/fence_ibmblade.xml +index eff551f6..5084b3a0 100644 +--- a/tests/data/metadata/fence_ibmblade.xml ++++ b/tests/data/metadata/fence_ibmblade.xml +@@ -13,16 +13,6 @@ + + Set the community string + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_idrac.xml b/tests/data/metadata/fence_idrac.xml +index f4588b35..55d9ced3 100644 +--- a/tests/data/metadata/fence_idrac.xml ++++ b/tests/data/metadata/fence_idrac.xml +@@ -32,16 +32,6 @@ + + Hexadecimal-encoded Kg key for IPMIv2 authentication + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_ifmib.xml b/tests/data/metadata/fence_ifmib.xml +index b5f3b1d4..c07a6e1f 100644 +--- a/tests/data/metadata/fence_ifmib.xml ++++ b/tests/data/metadata/fence_ifmib.xml +@@ -15,16 +15,6 @@ It was written with managed ethernet switches in mind, in order to fence iSCSI S + + Set the community string + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_ilo.xml b/tests/data/metadata/fence_ilo.xml +index eb2e7a72..44b3c43a 100644 +--- a/tests/data/metadata/fence_ilo.xml ++++ b/tests/data/metadata/fence_ilo.xml +@@ -9,16 +9,6 @@ + + Fencing action + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_ilo2.xml b/tests/data/metadata/fence_ilo2.xml +index b14aa2fb..e9cae6d2 100644 +--- a/tests/data/metadata/fence_ilo2.xml ++++ b/tests/data/metadata/fence_ilo2.xml +@@ -9,16 +9,6 @@ + + Fencing action + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_ilo3.xml b/tests/data/metadata/fence_ilo3.xml +index deaeaaf0..2a99e0a4 100644 +--- a/tests/data/metadata/fence_ilo3.xml ++++ b/tests/data/metadata/fence_ilo3.xml +@@ -32,16 +32,6 @@ + + Hexadecimal-encoded Kg key for IPMIv2 authentication + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_ilo4.xml b/tests/data/metadata/fence_ilo4.xml +index bbf0833b..68790266 100644 +--- a/tests/data/metadata/fence_ilo4.xml ++++ b/tests/data/metadata/fence_ilo4.xml +@@ -32,16 +32,6 @@ + + Hexadecimal-encoded Kg key for IPMIv2 authentication + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_imm.xml b/tests/data/metadata/fence_imm.xml +index 22cb54e7..e22e4723 100644 +--- a/tests/data/metadata/fence_imm.xml ++++ b/tests/data/metadata/fence_imm.xml +@@ -32,16 +32,6 @@ + + Hexadecimal-encoded Kg key for IPMIv2 authentication + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_intelmodular.xml b/tests/data/metadata/fence_intelmodular.xml +index 4f2e8c49..5e0d3b19 100644 +--- a/tests/data/metadata/fence_intelmodular.xml ++++ b/tests/data/metadata/fence_intelmodular.xml +@@ -15,16 +15,6 @@ Note: Since firmware update version 2.7, SNMP v2 write support is removed, and r + + Set the community string + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_ipdu.xml b/tests/data/metadata/fence_ipdu.xml +index 0b615852..546e372c 100644 +--- a/tests/data/metadata/fence_ipdu.xml ++++ b/tests/data/metadata/fence_ipdu.xml +@@ -13,16 +13,6 @@ + + Set the community string + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_ipmilan.xml b/tests/data/metadata/fence_ipmilan.xml +index b9ce66f8..3e13d288 100644 +--- a/tests/data/metadata/fence_ipmilan.xml ++++ b/tests/data/metadata/fence_ipmilan.xml +@@ -32,16 +32,6 @@ + + Hexadecimal-encoded Kg key for IPMIv2 authentication + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_netio.xml b/tests/data/metadata/fence_netio.xml +index e6350ed4..79d27af3 100644 +--- a/tests/data/metadata/fence_netio.xml ++++ b/tests/data/metadata/fence_netio.xml +@@ -8,16 +8,6 @@ + + Fencing action + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_powerman.xml b/tests/data/metadata/fence_powerman.xml +index f0499d86..ce72e002 100644 +--- a/tests/data/metadata/fence_powerman.xml ++++ b/tests/data/metadata/fence_powerman.xml +@@ -8,16 +8,6 @@ + + Fencing action + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_pve.xml b/tests/data/metadata/fence_pve.xml +index b727a7e8..5d744903 100644 +--- a/tests/data/metadata/fence_pve.xml ++++ b/tests/data/metadata/fence_pve.xml +@@ -8,16 +8,6 @@ + + Fencing action + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_raritan.xml b/tests/data/metadata/fence_raritan.xml +index c75783fd..565eebc7 100644 +--- a/tests/data/metadata/fence_raritan.xml ++++ b/tests/data/metadata/fence_raritan.xml +@@ -8,16 +8,6 @@ + + Fencing action + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_redfish.xml b/tests/data/metadata/fence_redfish.xml +index e1c18584..91b483b7 100644 +--- a/tests/data/metadata/fence_redfish.xml ++++ b/tests/data/metadata/fence_redfish.xml +@@ -8,16 +8,6 @@ + + Fencing action + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_rhevm.xml b/tests/data/metadata/fence_rhevm.xml +index 2b6b02b2..73c9906f 100644 +--- a/tests/data/metadata/fence_rhevm.xml ++++ b/tests/data/metadata/fence_rhevm.xml +@@ -8,16 +8,6 @@ + + Fencing action + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_sanbox2.xml b/tests/data/metadata/fence_sanbox2.xml +index 9832841e..7e20c8ce 100644 +--- a/tests/data/metadata/fence_sanbox2.xml ++++ b/tests/data/metadata/fence_sanbox2.xml +@@ -18,16 +18,6 @@ + + Force Python regex for command prompt + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_tripplite_snmp.xml b/tests/data/metadata/fence_tripplite_snmp.xml +index 22d3db5d..d3769133 100644 +--- a/tests/data/metadata/fence_tripplite_snmp.xml ++++ b/tests/data/metadata/fence_tripplite_snmp.xml +@@ -14,16 +14,6 @@ + + Set the community string + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_vmware_rest.xml b/tests/data/metadata/fence_vmware_rest.xml +index 1e1f790f..5b497a6a 100644 +--- a/tests/data/metadata/fence_vmware_rest.xml ++++ b/tests/data/metadata/fence_vmware_rest.xml +@@ -8,16 +8,6 @@ + + Fencing action + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_vmware_soap.xml b/tests/data/metadata/fence_vmware_soap.xml +index 46d29116..da6a1002 100644 +--- a/tests/data/metadata/fence_vmware_soap.xml ++++ b/tests/data/metadata/fence_vmware_soap.xml +@@ -10,16 +10,6 @@ Name of virtual machine (-n / port) has to be used in inventory path format (e.g + + Fencing action + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + +diff --git a/tests/data/metadata/fence_vmware_vcloud.xml b/tests/data/metadata/fence_vmware_vcloud.xml +index 69269a2d..505eaf2b 100644 +--- a/tests/data/metadata/fence_vmware_vcloud.xml ++++ b/tests/data/metadata/fence_vmware_vcloud.xml +@@ -8,16 +8,6 @@ + + Fencing action + +- +- +- +- Forces agent to use IPv4 addresses only +- +- +- +- +- Forces agent to use IPv6 addresses only +- + + + diff --git a/SOURCES/bz1722004-2-fence_redfish-fence_vmware_soap-suppress-warning.patch b/SOURCES/bz1722004-2-fence_redfish-fence_vmware_soap-suppress-warning.patch new file mode 100644 index 0000000..889c6f9 --- /dev/null +++ b/SOURCES/bz1722004-2-fence_redfish-fence_vmware_soap-suppress-warning.patch @@ -0,0 +1,51 @@ +From 559771f2c5a638f7e14ec9c0ef1068c86ee9d40e Mon Sep 17 00:00:00 2001 +From: Oyvind Albrigtsen +Date: Tue, 26 Nov 2019 14:09:14 +0100 +Subject: [PATCH] fence_redfish/fence_vmware_soap: suppress warnings correctly + with new python-requests + +python-requests doesnt suppress warnings anymore, so it needs to be done in urllib3: https://stackoverflow.com/questions/27981545/suppress-insecurerequestwarning-unverified-https-request-is-being-made-in-pytho/28002687#28002687 +--- + agents/redfish/fence_redfish.py | 4 ++-- + agents/vmware_soap/fence_vmware_soap.py | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/agents/redfish/fence_redfish.py b/agents/redfish/fence_redfish.py +index 390a4827..c7c6492c 100644 +--- a/agents/redfish/fence_redfish.py ++++ b/agents/redfish/fence_redfish.py +@@ -12,7 +12,6 @@ + import atexit + sys.path.append("@FENCEAGENTSLIBDIR@") + +-from requests.packages.urllib3.exceptions import InsecureRequestWarning + from fencing import * + from fencing import fail_usage, run_delay + +@@ -143,7 +142,8 @@ def main(): + + # Disable insecure-certificate-warning message + if "--ssl-insecure" in opt: +- requests.packages.urllib3.disable_warnings(InsecureRequestWarning) ++ import urllib3 ++ urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) + + # backwards compatibility for : + if options["--ip"].count(":") == 1: +diff --git a/agents/vmware_soap/fence_vmware_soap.py b/agents/vmware_soap/fence_vmware_soap.py +index dd1a4ed6..53e8d8f4 100644 +--- a/agents/vmware_soap/fence_vmware_soap.py ++++ b/agents/vmware_soap/fence_vmware_soap.py +@@ -37,10 +37,10 @@ def soap_login(options): + if "--ssl" in options or "--ssl-secure" in options or "--ssl-insecure" in options: + if "--ssl-insecure" in options: + import ssl +- from requests.packages.urllib3.exceptions import InsecureRequestWarning ++ import urllib3 + if hasattr(ssl, '_create_unverified_context'): + ssl._create_default_https_context = ssl._create_unverified_context +- requests.packages.urllib3.disable_warnings(InsecureRequestWarning) ++ urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) + verify = False + else: + verify = True diff --git a/SOURCES/bz1734812-fence_iloX_ssh-monitor-timeout-warning.patch b/SOURCES/bz1734812-fence_iloX_ssh-monitor-timeout-warning.patch new file mode 100644 index 0000000..ba26ed3 --- /dev/null +++ b/SOURCES/bz1734812-fence_iloX_ssh-monitor-timeout-warning.patch @@ -0,0 +1,25 @@ +From 7c1348d53aa8080f2fcfc344a2f4a2372739a62c Mon Sep 17 00:00:00 2001 +From: Oyvind Albrigtsen +Date: Tue, 6 Aug 2019 13:06:13 +0200 +Subject: [PATCH] fence_ilo_ssh*: add timeout warning in metadata/manpage + +--- + agents/ilo_ssh/fence_ilo_ssh.py | 5 ++++- + 5 files changed, 16 insertions(+), 5 deletions(-) + +diff --git a/agents/ilo_ssh/fence_ilo_ssh.py b/agents/ilo_ssh/fence_ilo_ssh.py +index 88f13d17..a27e3418 100644 +--- a/agents/ilo_ssh/fence_ilo_ssh.py ++++ b/agents/ilo_ssh/fence_ilo_ssh.py +@@ -51,7 +51,10 @@ def main(): + docs = {} + docs["shortdesc"] = "Fence agent for HP iLO over SSH" + docs["longdesc"] = "fence_ilo_ssh is a fence agent that connects to iLO device. It logs into \ +-device via ssh and reboot a specified outlet. " ++device via ssh and reboot a specified outlet.\ ++\n.P\n\ ++WARNING: The monitor-action is prone to timeouts. Use the fence_ilo-equivalent \ ++to avoid this issue." + docs["vendorurl"] = "http://www.hp.com" + docs["symlink"] = [("fence_ilo3_ssh", "Fence agent for HP iLO3 over SSH"), + ("fence_ilo4_ssh", "Fence agent for HP iLO4 over SSH"), diff --git a/SOURCES/bz1751702-fence_mpath-fix-watchdog-trigger-multipath-disconnect.patch b/SOURCES/bz1751702-fence_mpath-fix-watchdog-trigger-multipath-disconnect.patch new file mode 100644 index 0000000..8c804c2 --- /dev/null +++ b/SOURCES/bz1751702-fence_mpath-fix-watchdog-trigger-multipath-disconnect.patch @@ -0,0 +1,40 @@ +From 2df8abf25eddc8da71c193ca29f6be51e66b02f0 Mon Sep 17 00:00:00 2001 +From: Hideo Yamauchi +Date: Thu, 12 Sep 2019 08:44:49 +0900 +Subject: [PATCH] High: mpath: Correction of failure detection behavior from + watchdog service. + +--- + agents/mpath/fence_mpath.py | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/agents/mpath/fence_mpath.py b/agents/mpath/fence_mpath.py +index e4f59836..b17388eb 100644 +--- a/agents/mpath/fence_mpath.py ++++ b/agents/mpath/fence_mpath.py +@@ -117,12 +117,14 @@ def get_reservation_key(options, dev): + match = re.search(r"\s+key\s*=\s*0x(\S+)\s+", out["out"], re.IGNORECASE) + return match.group(1) if match else None + +-def get_registration_keys(options, dev): ++def get_registration_keys(options, dev, fail=True): + keys = [] + cmd = options["--mpathpersist-path"] + " -i -k -d " + dev + out = run_cmd(options, cmd) + if out["err"]: +- fail_usage("Cannot get registration keys") ++ fail_usage("Cannot get registration keys", fail) ++ if not fail: ++ return [] + for line in out["out"].split("\n"): + match = re.search(r"\s+0x(\S+)\s*", line) + if match: +@@ -183,7 +185,7 @@ def mpath_check(hardreboot=False): + logging.error("No devices found") + return 0 + for dev, key in list(devs.items()): +- if key in get_registration_keys(options, dev): ++ if key in get_registration_keys(options, dev, fail=False): + logging.debug("key " + key + " registered with device " + dev) + return 0 + else: diff --git a/SOURCES/bz1753229-fence_mpath-1-add-plug-parameter-support.patch b/SOURCES/bz1753229-fence_mpath-1-add-plug-parameter-support.patch new file mode 100644 index 0000000..216f48c --- /dev/null +++ b/SOURCES/bz1753229-fence_mpath-1-add-plug-parameter-support.patch @@ -0,0 +1,197 @@ +From d866e11213ebeab8da280b41371a968ae12410bd Mon Sep 17 00:00:00 2001 +From: Oyvind Albrigtsen +Date: Fri, 13 Sep 2019 12:48:46 +0200 +Subject: [PATCH] fence_mpath: use -n/--plug/port parameter to be able to use + pcmk_host_map + +--- + agents/mpath/fence_mpath.py | 63 +++++++++++++++++------------ + tests/data/metadata/fence_mpath.xml | 12 +++++- + 2 files changed, 49 insertions(+), 26 deletions(-) + +diff --git a/agents/mpath/fence_mpath.py b/agents/mpath/fence_mpath.py +index e4f59836..dfc5657b 100644 +--- a/agents/mpath/fence_mpath.py ++++ b/agents/mpath/fence_mpath.py +@@ -16,11 +16,11 @@ def get_status(conn, options): + status = "off" + for dev in options["devices"]: + is_block_device(dev) +- if options["--key"] in get_registration_keys(options, dev): ++ if options["--plug"] in get_registration_keys(options, dev): + status = "on" + else: + logging.debug("No registration for key "\ +- + options["--key"] + " on device " + dev + "\n") ++ + options["--plug"] + " on device " + dev + "\n") + + if options["--action"] == "monitor": + dev_read(options) +@@ -36,10 +36,10 @@ def set_status(conn, options): + is_block_device(dev) + + register_dev(options, dev) +- if options["--key"] not in get_registration_keys(options, dev): ++ if options["--plug"] not in get_registration_keys(options, dev): + count += 1 + logging.debug("Failed to register key "\ +- + options["--key"] + "on device " + dev + "\n") ++ + options["--plug"] + "on device " + dev + "\n") + continue + dev_write(options, dev) + +@@ -48,7 +48,7 @@ def set_status(conn, options): + and get_reservation_key(options, dev) is None: + count += 1 + logging.debug("Failed to create reservation (key="\ +- + options["--key"] + ", device=" + dev + ")\n") ++ + options["--plug"] + ", device=" + dev + ")\n") + + else: + dev_keys = dev_read(options) +@@ -56,14 +56,14 @@ def set_status(conn, options): + for dev in options["devices"]: + is_block_device(dev) + +- if options["--key"] in get_registration_keys(options, dev): ++ if options["--plug"] in get_registration_keys(options, dev): + preempt_abort(options, dev_keys[dev], dev) + + for dev in options["devices"]: +- if options["--key"] in get_registration_keys(options, dev): ++ if options["--plug"] in get_registration_keys(options, dev): + count += 1 + logging.debug("Failed to remove key "\ +- + options["--key"] + " on device " + dev + "\n") ++ + options["--plug"] + " on device " + dev + "\n") + continue + + if not get_reservation_key(options, dev): +@@ -97,16 +97,16 @@ def is_block_device(dev): + + # cancel registration + def preempt_abort(options, host, dev): +- cmd = options["--mpathpersist-path"] + " -o --preempt-abort --prout-type=5 --param-rk=" + host +" --param-sark=" + options["--key"] +" -d " + dev ++ cmd = options["--mpathpersist-path"] + " -o --preempt-abort --prout-type=5 --param-rk=" + host +" --param-sark=" + options["--plug"] +" -d " + dev + return not bool(run_cmd(options, cmd)["err"]) + + def register_dev(options, dev): +- cmd = options["--mpathpersist-path"] + " -o --register --param-sark=" + options["--key"] + " -d " + dev ++ cmd = options["--mpathpersist-path"] + " -o --register --param-sark=" + options["--plug"] + " -d " + dev + #cmd return code != 0 but registration can be successful + return not bool(run_cmd(options, cmd)["err"]) + + def reserve_dev(options, dev): +- cmd = options["--mpathpersist-path"] + " -o --reserv --prout-type=5 --param-rk=" + options["--key"] + " -d " + dev ++ cmd = options["--mpathpersist-path"] + " -o --reserv --prout-type=5 --param-rk=" + options["--plug"] + " -d " + dev + return not bool(run_cmd(options, cmd)["err"]) + + def get_reservation_key(options, dev): +@@ -141,7 +141,7 @@ def dev_write(options, dev): + fail_usage("Failed: Cannot open file \""+ file_path + "\"") + out = store_fh.read() + if not re.search(r"^" + dev + r"\s+", out): +- store_fh.write(dev + "\t" + options["--key"] + "\n") ++ store_fh.write(dev + "\t" + options["--plug"] + "\n") + store_fh.close() + + def dev_read(options, fail=True): +@@ -209,12 +209,9 @@ def define_new_opts(): + all_opt["key"] = { + "getopt" : "k:", + "longopt" : "key", +- "help" : "-k, --key=[key] Key to use for the current operation", +- "required" : "1", +- "shortdesc" : "Key to use for the current operation. This key should be \ +-unique to a node and have to be written in /etc/multipath.conf. For the \"on\" action, the key specifies the key use to \ +-register the local node. For the \"off\" action, this key specifies the key to \ +-be removed from the device(s).", ++ "help" : "-k, --key=[key] Replaced by -n, --plug", ++ "required" : "0", ++ "shortdesc" : "Replaced by -n, --plug", + "order": 1 + } + all_opt["mpathpersist_path"] = { +@@ -240,10 +237,18 @@ def main(): + atexit.register(atexit_handler) + + device_opt = ["no_login", "no_password", "devices", "key", "sudo", \ +- "fabric_fencing", "on_target", "store_path", "mpathpersist_path", "force_on"] ++ "fabric_fencing", "on_target", "store_path", \ ++ "mpathpersist_path", "force_on", "port", "no_port"] + + define_new_opts() + ++ all_opt["port"]["help"] = "Key to use for the current operation" ++ all_opt["port"]["shortdesc"] = "Key to use for the current operation. \ ++This key should be unique to a node and have to be written in \ ++/etc/multipath.conf. For the \"on\" action, the key specifies the key use to \ ++register the local node. For the \"off\" action, this key specifies the key to \ ++be removed from the device(s)." ++ + # fence_mpath_check + if os.path.basename(sys.argv[0]) == "fence_mpath_check": + sys.exit(mpath_check()) +@@ -252,6 +257,17 @@ def main(): + + options = check_input(device_opt, process_input(device_opt), other_conditions=True) + ++ # hack to remove list/list-status actions which are not supported ++ options["device_opt"] = [ o for o in options["device_opt"] if o != "separator" ] ++ ++ # workaround to avoid regressions ++ if "--key" in options: ++ options["--plug"] = options["--key"] ++ del options["--key"] ++ elif options["--action"] in ["off", "on", "reboot", "status"] \ ++ and "--plug" not in options: ++ fail_usage("Failed: You have to enter plug number or machine identification", stop) ++ + docs = {} + docs["shortdesc"] = "Fence agent for multipath persistent reservation" + docs["longdesc"] = "fence_mpath is an I/O fencing agent that uses SCSI-3 \ +@@ -271,16 +287,13 @@ def main(): + run_delay(options) + + # Input control BEGIN +- if not "--key" in options: +- fail_usage("Failed: key is required") +- + if options["--action"] == "validate-all": + sys.exit(0) + +- options["devices"] = options["--devices"].split(",") +- +- if not options["devices"]: ++ if not ("--devices" in options and options["--devices"]): + fail_usage("Failed: No devices found") ++ ++ options["devices"] = options["--devices"].split(",") + # Input control END + + result = fence_action(None, options, set_status, get_status) +diff --git a/tests/data/metadata/fence_mpath.xml b/tests/data/metadata/fence_mpath.xml +index bbe9ad2b..fe9378df 100644 +--- a/tests/data/metadata/fence_mpath.xml ++++ b/tests/data/metadata/fence_mpath.xml +@@ -14,9 +14,19 @@ The fence_mpath agent works by having a unique key for each node that has to be + + List of devices to use for current operation. Devices can be comma-separated list of device-mapper multipath devices (eg. /dev/mapper/3600508b400105df70000e00000ac0000 or /dev/mapper/mpath1). Each device must support SCSI-3 persistent reservations. + +- ++ + + ++ Replaced by -n, --plug ++ ++ ++ ++ ++ Key to use for the current operation. This key should be unique to a node and have to be written in /etc/multipath.conf. For the "on" action, the key specifies the key use to register the local node. For the "off" action, this key specifies the key to be removed from the device(s). ++ ++ ++ ++ + Key to use for the current operation. This key should be unique to a node and have to be written in /etc/multipath.conf. For the "on" action, the key specifies the key use to register the local node. For the "off" action, this key specifies the key to be removed from the device(s). + + diff --git a/SOURCES/bz1753229-fence_mpath-2-fix-plug-parameter-issues.patch b/SOURCES/bz1753229-fence_mpath-2-fix-plug-parameter-issues.patch new file mode 100644 index 0000000..d668e27 --- /dev/null +++ b/SOURCES/bz1753229-fence_mpath-2-fix-plug-parameter-issues.patch @@ -0,0 +1,73 @@ +From 868c494d17952eecc6736683c6df04aa9d3a3199 Mon Sep 17 00:00:00 2001 +From: Oyvind Albrigtsen +Date: Fri, 20 Sep 2019 12:06:55 +0200 +Subject: [PATCH] fence_mpath: fix fail_usage() issue and a couple of other + minor issues w/the newly added plug/port parameter + +--- + agents/mpath/fence_mpath.py | 12 +++++++----- + tests/data/metadata/fence_mpath.xml | 10 +++++----- + 2 files changed, 12 insertions(+), 10 deletions(-) + +diff --git a/agents/mpath/fence_mpath.py b/agents/mpath/fence_mpath.py +index 25aeb052..73517851 100644 +--- a/agents/mpath/fence_mpath.py ++++ b/agents/mpath/fence_mpath.py +@@ -213,7 +213,7 @@ def define_new_opts(): + "longopt" : "key", + "help" : "-k, --key=[key] Replaced by -n, --plug", + "required" : "0", +- "shortdesc" : "Replaced by -n, --plug", ++ "shortdesc" : "Replaced by port/-n/--plug", + "order": 1 + } + all_opt["mpathpersist_path"] = { +@@ -244,7 +244,8 @@ def main(): + + define_new_opts() + +- all_opt["port"]["help"] = "Key to use for the current operation" ++ all_opt["port"]["required"] = "0" ++ all_opt["port"]["help"] = "-n, --plug=[key] Key to use for the current operation" + all_opt["port"]["shortdesc"] = "Key to use for the current operation. \ + This key should be unique to a node and have to be written in \ + /etc/multipath.conf. For the \"on\" action, the key specifies the key use to \ +@@ -266,9 +267,10 @@ def main(): + if "--key" in options: + options["--plug"] = options["--key"] + del options["--key"] +- elif options["--action"] in ["off", "on", "reboot", "status"] \ +- and "--plug" not in options: +- fail_usage("Failed: You have to enter plug number or machine identification", stop) ++ elif "--help" not in options and options["--action"] in ["off", "on", \ ++ "reboot", "status", "validate-all"] and "--plug" not in options: ++ stop_after_error = False if options["--action"] == "validate-all" else True ++ fail_usage("Failed: You have to enter plug number or machine identification", stop_after_error) + + docs = {} + docs["shortdesc"] = "Fence agent for multipath persistent reservation" +diff --git a/tests/data/metadata/fence_mpath.xml b/tests/data/metadata/fence_mpath.xml +index fe9378df..f5e60823 100644 +--- a/tests/data/metadata/fence_mpath.xml ++++ b/tests/data/metadata/fence_mpath.xml +@@ -17,15 +17,15 @@ The fence_mpath agent works by having a unique key for each node that has to be + + + +- Replaced by -n, --plug ++ Replaced by port/-n/--plug + +- +- ++ ++ + + Key to use for the current operation. This key should be unique to a node and have to be written in /etc/multipath.conf. For the "on" action, the key specifies the key use to register the local node. For the "off" action, this key specifies the key to be removed from the device(s). + +- +- ++ ++ + + Key to use for the current operation. This key should be unique to a node and have to be written in /etc/multipath.conf. For the "on" action, the key specifies the key use to register the local node. For the "off" action, this key specifies the key to be removed from the device(s). + diff --git a/SPECS/fence-agents.spec b/SPECS/fence-agents.spec index 346ffe1..005a91e 100644 --- a/SPECS/fence-agents.spec +++ b/SPECS/fence-agents.spec @@ -66,7 +66,7 @@ Name: fence-agents Summary: Fence Agents for Red Hat Cluster Version: 4.2.1 -Release: 24%{?alphatag:.%{alphatag}}%{?dist} +Release: 30%{?alphatag:.%{alphatag}}%{?dist} License: GPLv2+ and LGPLv2+ Group: System Environment/Base URL: https://github.com/ClusterLabs/fence-agents @@ -116,6 +116,12 @@ Patch30: bz1670460-fence_rhevm-2-fix-debug-encoding-issues.patch Patch31: bz1709879-fence_mpath-fix-watchdog-hardreboot.patch Patch32: bz1713665-fence_redfish-full-redfish-spec-compliance.patch Patch33: bz1653700-3-fence_scsi-watchdog-fix-retry-failing-on-first-try.patch +Patch34: bz1734812-fence_iloX_ssh-monitor-timeout-warning.patch +Patch35: bz1751702-fence_mpath-fix-watchdog-trigger-multipath-disconnect.patch +Patch36: bz1753229-fence_mpath-1-add-plug-parameter-support.patch +Patch37: bz1753229-fence_mpath-2-fix-plug-parameter-issues.patch +Patch38: bz1722004-1-fencing-inetX_only-SSH-fence_zvmip.patch +Patch39: bz1722004-2-fence_redfish-fence_vmware_soap-suppress-warning.patch # bundle patches Patch1000: bz1568753-4-fence_gce-bundled-libs.patch Patch1001: bz1568753-5-%{oauth2client}-docs-build-fix.patch @@ -199,6 +205,12 @@ BuildRequires: python-six >= 1.6.1 %patch31 -p1 %patch32 -p1 %patch33 -p1 -F1 +%patch34 -p1 +%patch35 -p1 +%patch36 -p1 +%patch37 -p1 +%patch38 -p1 +%patch39 -p1 %ifarch x86_64 # bundles @@ -227,7 +239,7 @@ cp %{fasteners_dir}/LICENSE %{fasteners}_LICENSE cp %{fasteners_dir}/README.rst %{fasteners}_README.rst # python-keyring bundle -unzip %SOURCE5 -d %{bundled_lib_dir} +unzip -q %SOURCE5 -d %{bundled_lib_dir} mv %{bundled_lib_dir}/%{keyring}-%{keyring_version} %{keyring_dir} cp %{keyring_dir}/README.rst %{keyring}_README.rst @@ -308,7 +320,7 @@ popd # python-keyring bundle pushd %{keyring_dir} %patch1008 -p1 -rm -frv keyring.egg-info +rm -fr keyring.egg-info # Drop redundant shebangs. sed -i '1{\@^#!/usr/bin/env python@d}' keyring/cli.py # Drop slags from upstream of using his own versioning system. @@ -499,8 +511,8 @@ Requires: fence-agents-lpar >= %{version}-%{release} %ifarch s390x Requires: fence-agents-zvm >= %{version}-%{release} %endif -Provides: fence-agents = %{version}-%{release} -Obsoletes: fence-agents < 3.1.13 +Provides: %{name} >= %{version}-%{release} +Obsoletes: %{name} < %{version}-%{release} %description all Red Hat Fence Agents is a collection of all supported fence agents. %files all @@ -519,7 +531,7 @@ Provides: bundled(python-aliyun-sdk-core) = %{aliyunsdkcore_version} Provides: bundled(python-aliyun-sdk-ecs) = %{aliyunsdkecs_version} # python-aliyun-sdk-vpc bundle Provides: bundled(python-aliyun-sdk-vpc) = %{aliyunsdkvpc_version} -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description aliyun The fence-agents-aliyun package contains a fence agent for Alibaba Cloud (Aliyun) instances. %files aliyun @@ -539,7 +551,7 @@ Group: System Environment/Base Summary: Fence agent for AMT (WS-Man) devices Requires: fence-agents-common >= %{version}-%{release} Requires: openwsman-python >= 2.6.3-1.git4391e5c.el7 -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description amt-ws The fence-agents-amt-ws package contains a fence agent for AMT (WS-Man) devices. %files amt-ws @@ -553,7 +565,7 @@ Group: System Environment/Base Summary: Fence agent for APC devices Requires: fence-agents-common >= %{version}-%{release} Requires: telnet openssh-clients -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description apc The fence-agents-apc package contains a fence agent for APC devices that are accessed via telnet or SSH. %files apc @@ -567,7 +579,7 @@ Group: System Environment/Base Summary: Fence agent for APC devices (SNMP) Requires: fence-agents-common >= %{version}-%{release} Requires: net-snmp-utils -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description apc-snmp The fence-agents-apc-snmp package contains a fence agent for APC devices that are accessed via the SNMP protocol. %files apc-snmp @@ -582,7 +594,7 @@ Group: System Environment/Base Summary: Fence agent for Amazon AWS Requires: fence-agents-common >= %{version}-%{release} Requires: python-boto3 -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description aws The fence-agents-aws package contains a fence agent for Amazon AWS instances. %files aws @@ -598,7 +610,7 @@ Group: System Environment/Base Summary: Fence agent for Azure Resource Manager Requires: fence-agents-common >= %{version}-%{release} Requires: python-azure-sdk >= 4.0.0 -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description azure-arm The fence-agents-azure-arm package contains a fence agent for Azure instances. %files azure-arm @@ -614,7 +626,7 @@ Group: System Environment/Base Summary: Fence agent for IBM BladeCenter Requires: fence-agents-common >= %{version}-%{release} Requires: telnet openssh-clients -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description bladecenter The fence-agents-bladecenter package contains a fence agent for IBM BladeCenter devices that are accessed via telnet or SSH. %files bladecenter @@ -628,7 +640,7 @@ Group: System Environment/Base Summary: Fence agent for HP Brocade Requires: fence-agents-common >= %{version}-%{release} Requires: telnet openssh-clients -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description brocade The fence-agents-brocade package contains a fence agent for HP Brocade devices that are accessed via telnet or SSH. %files brocade @@ -642,7 +654,7 @@ Group: System Environment/Base Summary: Fence agent for Cisco MDS 9000 series Requires: fence-agents-common >= %{version}-%{release} Requires: net-snmp-utils -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description cisco-mds The fence-agents-cisco-mds package contains a fence agent for Cisco MDS 9000 series devices that are accessed via the SNMP protocol. %files cisco-mds @@ -655,7 +667,7 @@ License: GPLv2+ and LGPLv2+ Group: System Environment/Base Summary: Fence agent for Cisco UCS series Requires: fence-agents-common >= %{version}-%{release} -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description cisco-ucs The fence-agents-cisco-ucs package contains a fence agent for Cisco UCS series devices that are accessed via the SNMP protocol. %files cisco-ucs @@ -669,7 +681,7 @@ Group: System Environment/Base Summary: Fence agent for Nova compute nodes Requires: fence-agents-common >= %{version}-%{release} Requires: python-requests -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description compute The fence-agents-compute package contains a fence agent for Nova compute nodes. %files compute @@ -685,7 +697,7 @@ Group: System Environment/Base Summary: Fence agent for Dell DRAC 5 Requires: fence-agents-common >= %{version}-%{release} Requires: telnet openssh-clients -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description drac5 The fence-agents-drac5 package contains a fence agent for Dell DRAC 5 series devices that are accessed via telnet or SSH. %files drac5 @@ -699,7 +711,7 @@ Group: System Environment/Base Summary: Fence agent for Eaton network power switches Requires: fence-agents-common >= %{version}-%{release} Requires: net-snmp-utils -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description eaton-snmp The fence-agents-eaton-snmp package contains a fence agent for Eaton network power switches that are accessed via the SNMP protocol. %files eaton-snmp @@ -712,7 +724,7 @@ License: GPLv2+ and LGPLv2+ Group: System Environment/Base Summary: Fence agent for Emerson devices (SNMP) Requires: fence-agents-common >= %{version}-%{release} -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description emerson The fence-agents-emerson package contains a fence agent for Emerson devices that are accessed via the SNMP protocol. %files emerson @@ -725,7 +737,7 @@ License: GPLv2+ and LGPLv2+ Group: System Environment/Base Summary: Fence agent for ePowerSwitch 8M+ power switches Requires: fence-agents-common >= %{version}-%{release} -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description eps The fence-agents-eps package contains a fence agent for ePowerSwitch 8M+ power switches that are accessed via the HTTP(s) protocol. %files eps @@ -752,7 +764,7 @@ Provides: bundled(python-%{fasteners}) = %{fasteners_version} Provides: bundled(python-%{keyring}) = %{keyring_version} # python-uritemplate bundle Provides: bundled(python-%{uritemplate}) = %{uritemplate_version} -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description gce The fence-agents-gce package contains a fence agent for GCE (Google Cloud Engine) instances. %files gce @@ -773,7 +785,7 @@ License: GPLv2+ and LGPLv2+ Group: System Environment/Base Summary: Fence agent used to control other fence agents based on ping-heuristics Requires: fence-agents-common >= %{version}-%{release} -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description heuristics-ping The fence-agents-heuristics-ping package contains fence agent used to control other fence agents based on ping-heuristics @@ -788,7 +800,7 @@ Group: System Environment/Base Summary: Fence agent for HP BladeSystem devices Requires: fence-agents-common >= %{version}-%{release} Requires: telnet openssh-clients -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description hpblade The fence-agents-hpblade package contains a fence agent for HP BladeSystem devices that are accessed via telnet or SSH. %files hpblade @@ -802,7 +814,7 @@ Group: System Environment/Base Summary: Fence agent for IBM BladeCenter Requires: fence-agents-common >= %{version}-%{release} Requires: net-snmp-utils -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description ibmblade The fence-agents-ibmblade package contains a fence agent for IBM BladeCenter devices that are accessed via the SNMP protocol. %files ibmblade @@ -816,7 +828,7 @@ Group: System Environment/Base Summary: Fence agent for devices with IF-MIB interfaces Requires: fence-agents-common >= %{version}-%{release} Requires: net-snmp-utils -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description ifmib The fence-agents-ifmib package contains a fence agent for IF-MIB interfaces that are accessed via the SNMP protocol. %files ifmib @@ -830,7 +842,7 @@ Group: System Environment/Base Summary: Fence agent for HP iLO2 devices Requires: fence-agents-common >= %{version}-%{release} Requires: gnutls-utils -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description ilo2 The fence-agents-ilo2 package contains a fence agent for HP iLO2 devices that are accessed via the HTTP(s) protocol. %files ilo2 @@ -846,7 +858,7 @@ Group: System Environment/Base Summary: Fence agent for HP iLO Moonshot devices Requires: telnet openssh-clients Requires: fence-agents-common >= %{version}-%{release} -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description ilo-moonshot The fence-agents-ilo-moonshot package contains a fence agent for HP iLO Moonshot devices that are accessed via telnet or SSH. %files ilo-moonshot @@ -860,7 +872,7 @@ Group: System Environment/Base Summary: Fence agent for HP iLO MP devices Requires: fence-agents-common >= %{version}-%{release} Requires: telnet openssh-clients -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description ilo-mp The fence-agents-ilo-mp package contains a fence agent for HP iLO MP devices that are accessed via telnet or SSH. %files ilo-mp @@ -874,7 +886,7 @@ Group: System Environment/Base Summary: Fence agent for HP iLO devices via SSH Requires: fence-agents-common >= %{version}-%{release} Requires: telnet openssh-clients -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description ilo-ssh The fence-agents-ilo-ssh package contains a fence agent for HP iLO devices that are accessed via SSH. %files ilo-ssh @@ -894,7 +906,7 @@ Group: System Environment/Base Summary: Fence agent for devices with Intel Modular interfaces Requires: fence-agents-common >= %{version}-%{release} Requires: net-snmp-utils -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description intelmodular The fence-agents-intelmodular package contains a fence agent for Intel Modular interfaces that are accessed via the SNMP protocol. %files intelmodular @@ -908,7 +920,7 @@ Group: System Environment/Base Summary: Fence agent for IBM iPDU network power switches Requires: fence-agents-common >= %{version}-%{release} Requires: net-snmp-utils -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description ipdu The fence-agents-ipdu package contains a fence agent for IBM iPDU network power switches that are accessed via the SNMP protocol. %files ipdu @@ -922,7 +934,7 @@ Group: System Environment/Base Summary: Fence agent for devices with IPMI interface Requires: fence-agents-common >= %{version}-%{release} Requires: /usr/bin/ipmitool -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description ipmilan The fence-agents-ipmilan package contains a fence agent for devices with IPMI interface. %files ipmilan @@ -946,7 +958,7 @@ Group: System Environment/Base Summary: Fence agent for reservations over Device Mapper Multipath Requires: fence-agents-common >= %{version}-%{release} Requires: device-mapper-multipath -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description mpath The fence-agents-mpath package contains fence agent for SCSI persistent reservation over Device Mapper Multipath %files mpath @@ -960,7 +972,7 @@ License: GPLv2+ and LGPLv2+ Group: System Environment/Base Summary: Fence agent for use with kdump crash recovery service Requires: fence-agents-common >= %{version}-%{release} -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description kdump The fence-agents-kdump package contains a fence agent for use with kdump crash recovery service. %files kdump @@ -977,7 +989,7 @@ Group: System Environment/Base Summary: Fence agent for IBM LPAR Requires: fence-agents-common >= %{version}-%{release} Requires: telnet openssh-clients -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description lpar The fence-agents-lpar package contains a fence agent for IBM LPAR devices that are accessed via telnet or SSH. %files lpar @@ -992,7 +1004,7 @@ Group: System Environment/Base Summary: Fence agent for Redfish Requires: fence-agents-common >= %{version}-%{release} Requires: python-requests -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description redfish The fence-agents-redfish package contains a fence agent for Redfish %files redfish @@ -1005,7 +1017,7 @@ License: GPLv2+ and LGPLv2+ Group: System Environment/Base Summary: Fence agent for RHEV-M Requires: fence-agents-common >= %{version}-%{release} -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description rhevm The fence-agents-rhevm package contains a fence agent for RHEV-M via REST API %files rhevm @@ -1019,7 +1031,7 @@ Group: System Environment/Base Summary: Fence agent for IBM RSA II Requires: fence-agents-common >= %{version}-%{release} Requires: telnet openssh-clients -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description rsa The fence-agents-rsa package contains a fence agent for IBM RSA II devices that are accessed via telnet or SSH. %files rsa @@ -1033,7 +1045,7 @@ Group: System Environment/Base Summary: Fence agent for Fujitsu RSB Requires: fence-agents-common >= %{version}-%{release} Requires: telnet openssh-clients -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description rsb The fence-agents-rsb package contains a fence agent for Fujitsu RSB devices that are accessed via telnet or SSH. %files rsb @@ -1048,7 +1060,7 @@ Group: System Environment/Base Summary: Fence agent for QLogic SANBox2 FC switches Requires: fence-agents-common >= %{version}-%{release} Requires: telnet -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description sanbox2 The fence-agents-sanbox2 package contains a fence agent for QLogic SANBox2 switches that are accessed via telnet. %files sanbox2 @@ -1062,7 +1074,7 @@ License: GPLv2+ and LGPLv2+ Group: System Environment/Base Summary: Fence agent for SBD (storage-based death) Requires: fence-agents-common >= %{version}-%{release} -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description sbd The fence-agents-sbd package contains fence agent for SBD (storage-based death) %files sbd @@ -1075,7 +1087,7 @@ License: GPLv2+ and LGPLv2+ Group: System Environment/Base Summary: Fence agent for SCSI persistent reservations Requires: sg3_utils fence-agents-common >= %{version}-%{release} -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description scsi The fence-agents-scsi package contains fence agent for SCSI persistent reservations %files scsi @@ -1092,7 +1104,7 @@ Group: System Environment/Base Summary: Fence agent for virtual machines based on libvirt Requires: fence-agents-common >= %{version}-%{release} Requires: openssh-clients /usr/bin/virsh -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description virsh The fence-agents-virsh package contains a fence agent for virtual machines that are accessed via SSH. %files virsh @@ -1105,7 +1117,7 @@ License: GPLv2+ and LGPLv2+ Group: System Environment/Base Summary: Fence agent for VMWare with REST API Requires: fence-agents-common >= %{version}-%{release} -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description vmware-rest The fence-agents-vmware-rest package contains a fence agent for VMWare with REST API %files vmware-rest @@ -1119,7 +1131,7 @@ Group: System Environment/Base Summary: Fence agent for VMWare with SOAP API v4.1+ Requires: fence-agents-common >= %{version}-%{release} Requires: python-suds python-requests -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description vmware-soap The fence-agents-vmware-soap package contains a fence agent for VMWare with SOAP API v4.1+ %files vmware-soap @@ -1133,7 +1145,7 @@ Group: System Environment/Base Summary: Fence agent for WTI Network power switches Requires: fence-agents-common >= %{version}-%{release} Requires: telnet openssh-clients -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description wti The fence-agents-wti package contains a fence agent for WTI network power switches that are accessed via telnet or SSH. %files wti @@ -1148,7 +1160,7 @@ Group: System Environment/Base Summary: Fence agent for z/VM hypervisors Requires: fence-agents-common >= %{version}-%{release} Requires: telnet openssh-clients -Obsoletes: fence-agents +Obsoletes: %{name} < %{version}-%{release} %description zvm The fence-agents-zvm package contains a fence agent for z/VM hypervisors %files zvm @@ -1160,6 +1172,24 @@ The fence-agents-zvm package contains a fence agent for z/VM hypervisors %endif %changelog +* Tue Nov 26 2019 Oyvind Albrigtsen - 4.2.1-30 +- fencing: only use inetX_only parameters for SSH based agents and + fence_zvmip + Resolves: rhbz#1722004 + +* Fri Sep 20 2019 Oyvind Albrigtsen - 4.2.1-28 +- fence_mpath: add plug parameter support to be able to use pcmk_host_map + Resolves: rhbz#1753229 + +* Thu Sep 12 2019 Oyvind Albrigtsen - 4.2.1-26 +- fence_mpath: fix watchdog reboot not triggered when multipath + disconnected + Resolves: rhbz#1751702 + +* Wed Aug 21 2019 Oyvind Albrigtsen - 4.2.1-25 +- fence_ilo4_ssh/fence_ilo5_ssh: add monitor timeout warning + Resolves: rhbz#1734812 + * Thu Jun 13 2019 Oyvind Albrigtsen - 4.2.1-24 - fence_scsi watchdog: fix failing on first try when using retry Resolves: rhbz#1653700