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 D55551FF141 for ; Fri, 13 Feb 2026 11:51:52 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 1DBF336808; Fri, 13 Feb 2026 11:52:37 +0100 (CET) Message-ID: <5296fd4d-e207-4e0f-9e3f-af5be4e2453a@proxmox.com> Date: Fri, 13 Feb 2026 11:52:01 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: [pve-devel] [PATCH guest-common v2 1/1] helpers: exec hookscript: add optional parameters To: =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= , Proxmox VE development discussion References: <20260123132611.974310-1-d.csapak@proxmox.com> <20260123132611.974310-2-d.csapak@proxmox.com> <1770979568.hk0p54ucxy.astroid@yuna.none> Content-Language: en-US From: Dominik Csapak In-Reply-To: <1770979568.hk0p54ucxy.astroid@yuna.none> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1770979918725 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.032 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 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: SWXRRJWWYR4PJJWNCJTSRJ7QW5B4JP65 X-Message-ID-Hash: SWXRRJWWYR4PJJWNCJTSRJ7QW5B4JP65 X-MailFrom: d.csapak@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: On 2/13/26 11:47 AM, Fabian Grünbichler wrote: > On January 23, 2026 2:25 pm, Dominik Csapak wrote: >> 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}; > > this should really have some sort of static prefix, both to avoid > clashes, and to allow the hookscript to find all such parameters (e.g. > for logging purposes) by filtering all set env variables. > > PVE_HOOKSCRIPT_PARAM_... > > or something similar would do the trick? yep make sense, but maybe something a bit shorter? PVE_PARAM_ PVE_HS_PARAM_ PVE_HS_ ? > >> + } >> + >> 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 >> >> >> > > > >