From 41ba81d0ef6b2f04bc0f4eeffc7d3fd32483691a Mon Sep 17 00:00:00 2001 From: Oyvind Albrigtsen Date: Fri, 13 Jun 2025 13:34:08 +0200 Subject: [PATCH] - fence_kubevirt: use hard poweroff Resolves: RHEL-95379 --- RHEL-95379-fence_kubevirt-force-off.patch | 23 +++++++++++++++++++++++ fence-agents.spec | 8 +++++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 RHEL-95379-fence_kubevirt-force-off.patch diff --git a/RHEL-95379-fence_kubevirt-force-off.patch b/RHEL-95379-fence_kubevirt-force-off.patch new file mode 100644 index 0000000..ac2e281 --- /dev/null +++ b/RHEL-95379-fence_kubevirt-force-off.patch @@ -0,0 +1,23 @@ +From b6e05c57a73e5d9bdde7d133ba7ec43737a7c6b7 Mon Sep 17 00:00:00 2001 +From: Oyvind Albrigtsen +Date: Tue, 25 Feb 2025 16:11:32 +0100 +Subject: [PATCH] fence_kubevirt: set grace_period_seconds=0 to immediately + power off the node + +--- + agents/kubevirt/fence_kubevirt.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/agents/kubevirt/fence_kubevirt.py b/agents/kubevirt/fence_kubevirt.py +index e3817b0fb..8ba8ce8db 100755 +--- a/agents/kubevirt/fence_kubevirt.py ++++ b/agents/kubevirt/fence_kubevirt.py +@@ -108,7 +108,7 @@ def define_new_opts(): + def virtctl_vm_action(conn, action, namespace, name, apiversion): + path = '/apis/subresources.{api_version}/namespaces/{namespace}/virtualmachines/{name}/{action}' + path = path.format(api_version=apiversion, namespace=namespace, name=name, action=action) +- return conn.request('put', path, header_params={'accept': '*/*'}) ++ return conn.request('put', path, header_params={'accept': '*/*'}, body={'gracePeriod': 0} if action == 'stop' else None) + + # Main agent method + def main(): diff --git a/fence-agents.spec b/fence-agents.spec index 263130b..09df8e0 100644 --- a/fence-agents.spec +++ b/fence-agents.spec @@ -13,7 +13,7 @@ Name: fence-agents Summary: Set of unified programs capable of host isolation ("fencing") Version: 4.16.0 -Release: 10%{?alphatag:.%{alphatag}}%{?dist} +Release: 11%{?alphatag:.%{alphatag}}%{?dist} License: GPL-2.0-or-later AND LGPL-2.0-or-later URL: https://github.com/ClusterLabs/fence-agents Source0: https://fedorahosted.org/releases/f/e/fence-agents/%{name}-%{version}.tar.gz @@ -111,6 +111,7 @@ Patch10: RHEL-79799-fence_sbd-get-devices-from-SBD_DEVICE-if-devices-parameter-i Patch11: RHEL-68322-1-fence_nutanix_ahv-handle-api-rate-limits.patch Patch12: RHEL-68322-2-fence_nutanix_ahv-update-metadata.patch Patch13: RHEL-88569-fence_ibm_powervs-fix-plaintext-token-file-support.patch +Patch14: RHEL-95379-fence_kubevirt-force-off.patch %global supportedagents amt_ws apc apc_snmp bladecenter brocade cisco_mds cisco_ucs drac5 eaton_snmp emerson eps hpblade ibmblade ibm_powervs ibm_vpc ifmib ilo ilo_moonshot ilo_mp ilo_ssh intelmodular ipdu ipmilan kdump kubevirt lpar mpath nutanix_ahv redfish rhevm rsa rsb sbd scsi vmware_rest vmware_soap wti %ifarch x86_64 @@ -233,6 +234,7 @@ BuildRequires: %{systemd_units} %patch -p1 -P 11 %patch -p1 -P 12 %patch -p1 -P 13 +%patch -p1 -P 14 # prevent compilation of something that won't get used anyway sed -i.orig 's|FENCE_ZVM=1|FENCE_ZVM=0|' configure.ac @@ -1205,6 +1207,10 @@ are located on corosync cluster nodes. %endif %changelog +* Fri Jun 13 2025 Oyvind Albrigtsen - 4.16.0-11 +- fence_kubevirt: use hard poweroff + Resolves: RHEL-95379 + * Mon Apr 28 2025 Oyvind Albrigtsen - 4.16.0-10 - fence_ibm_powervs: fix plaintext token file support Resolves: RHEL-88569