From 890e1aa765b6809271d5bbc45ca01c2be8967db1 Mon Sep 17 00:00:00 2001 From: Oyvind Albrigtsen Date: Fri, 12 Sep 2025 09:57:22 +0200 Subject: [PATCH] - fence_kubevirt: use hard poweroff Resolves: RHEL-96179 --- RHEL-96179-fence_kubevirt-force-off.patch | 23 +++++++++++++++++++++++ fence-agents.spec | 8 +++++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 RHEL-96179-fence_kubevirt-force-off.patch diff --git a/RHEL-96179-fence_kubevirt-force-off.patch b/RHEL-96179-fence_kubevirt-force-off.patch new file mode 100644 index 0000000..ac2e281 --- /dev/null +++ b/RHEL-96179-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 f3196dc..2a9eba2 100644 --- a/fence-agents.spec +++ b/fence-agents.spec @@ -87,7 +87,7 @@ Name: fence-agents Summary: Set of unified programs capable of host isolation ("fencing") Version: 4.2.1 -Release: 129%{?alphatag:.%{alphatag}}%{?dist}.14 +Release: 129%{?alphatag:.%{alphatag}}%{?dist}.15 License: GPLv2+ and LGPLv2+ Group: System Environment/Base URL: https://github.com/ClusterLabs/fence-agents @@ -319,6 +319,7 @@ Patch146: RHEL-65025-fence_ibm_powervs-add-private-endpoint-and-token-file-suppo Patch147: RHEL-99338-fence_aliyun-update.patch Patch148: RHEL-107506-fence_ibm_vpc-add-apikey-file-support.patch Patch149: RHEL-109814-1-fence_aws-add-skipshutdown-parameter.patch +Patch150: RHEL-96179-fence_kubevirt-force-off.patch ### HA support libs/utils ### # all archs @@ -560,6 +561,7 @@ BuildRequires: python3-google-api-client python3-pip python3-wheel python3-jinja %patch -p1 -P 147 %patch -p1 -P 148 %patch -p1 -P 149 +%patch -p1 -P 150 # prevent compilation of something that won't get used anyway sed -i.orig 's|FENCE_ZVM=1|FENCE_ZVM=0|' configure.ac @@ -1609,6 +1611,10 @@ Fence agent for IBM z/VM over IP. %endif %changelog +* Fri Sep 12 2025 Oyvind Albrigtsen - 4.2.1-129.15 +- fence_kubevirt: use hard poweroff + Resolves: RHEL-96179 + * Thu Aug 21 2025 Oyvind Albrigtsen - 4.2.1-129.14 - fence_aws: add skip_os_shutdown parameter Resolves: RHEL-109814