From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 1C45C1FF13A for ; Wed, 22 Jul 2026 16:02:44 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id F29AE21562; Wed, 22 Jul 2026 16:02:30 +0200 (CEST) From: Daniel Kral To: pve-devel@lists.proxmox.com Subject: [PATCH qemu-server 5/7] fix #7230: api: vm_shutdown: make HA resources acknowledge config timeout Date: Wed, 22 Jul 2026 16:01:47 +0200 Message-ID: <20260722140149.296952-6-d.kral@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260722140149.296952-1-d.kral@proxmox.com> References: <20260722140149.296952-1-d.kral@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1784728918011 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.227 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_LOW -0.7 Sender listed at https://www.dnswl.org/, low trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: 7U5TKNJ64XKWJCNRJOP5EQRX75AXVBNB X-Message-ID-Hash: 7U5TKNJ64XKWJCNRJOP5EQRX75AXVBNB X-MailFrom: d.kral@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Allow users to configure the shutdown timeout of HA resources by acknowledging the shutdown timeout value from the VM config. This does only partially fix #7230 as HA resources are still force-stopped as the LRM will always set the flag. Signed-off-by: Daniel Kral --- src/PVE/API2/Qemu.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm index 304805dc..2613aea0 100644 --- a/src/PVE/API2/Qemu.pm +++ b/src/PVE/API2/Qemu.pm @@ -3899,6 +3899,12 @@ __PACKAGE__->register_method({ raise_param_exc({ keepActive => "Only root may use this option." }) if $keepActive && $authuser ne 'root@pam'; + my $timeout = extract_param($param, 'timeout'); + if (!defined($timeout)) { + my $conf = PVE::QemuConfig->load_config($vmid); + $timeout = PVE::QemuServer::Helpers::config_aware_shutdown_timeout($conf); + } + my $storecfg = PVE::Storage::config(); my $shutdown = 1; @@ -3916,7 +3922,6 @@ __PACKAGE__->register_method({ if (PVE::HA::Config::vm_is_ha_managed($vmid) && $rpcenv->{type} ne 'ha') { - my $timeout = $param->{timeout} // 60; my $hacmd = sub { my $upid = shift; @@ -3941,7 +3946,7 @@ __PACKAGE__->register_method({ $vmid, $skiplock, 0, - $param->{timeout}, + $timeout, $shutdown, $param->{forceStop}, $keepActive, -- 2.47.3