From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 1E9CA1FF13E for ; Fri, 23 Jan 2026 14:26:25 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 05DCDD9F4; Fri, 23 Jan 2026 14:26:45 +0100 (CET) From: Dominik Csapak To: pve-devel@lists.proxmox.com Date: Fri, 23 Jan 2026 14:25:47 +0100 Message-ID: <20260123132611.974310-2-d.csapak@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260123132611.974310-1-d.csapak@proxmox.com> References: <20260123132611.974310-1-d.csapak@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.030 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH guest-common v2 1/1] helpers: exec hookscript: add optional parameters X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" sometimes we may want to call the hookscript with additional parameters in some phases, e.g. we want to call it for each pci device that was prepared before starting with the correct uuid or pci id. Add these new parameters to the environment instead of the positional parameters of the hookscript, since that is more future proof and we get a key/value pair instead of just the position. Signed-off-by: Dominik Csapak --- changes from v1: * use a hash instead of a list for the parameters, and give them to the hookscript via the environment instead of positional parameters, like we do for the vzdump hookscript src/PVE/GuestHelpers.pm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/PVE/GuestHelpers.pm b/src/PVE/GuestHelpers.pm index f8d112b..b4122e6 100644 --- a/src/PVE/GuestHelpers.pm +++ b/src/PVE/GuestHelpers.pm @@ -115,14 +115,22 @@ sub check_hookscript { } sub exec_hookscript { - my ($conf, $vmid, $phase, $stop_on_error) = @_; + my ($conf, $vmid, $phase, $stop_on_error, $params) = @_; return if !$conf->{hookscript}; + $params //= {}; + eval { my $hookscript = check_hookscript($conf->{hookscript}); die $@ if $@; + local %ENV; + + for my $key (keys $params->%*) { + $ENV{ uc($key) } = $params->{$key}; + } + PVE::Tools::run_command([$hookscript, $vmid, $phase]); }; if (my $err = $@) { -- 2.47.3 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel