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 4E6111FF0AA for ; Tue, 22 Sep 2026 16:43:42 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 383B3214EF; Tue, 22 Sep 2026 16:43:38 +0200 (CEST) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Tue, 22 Sep 2026 16:43:32 +0200 Message-Id: To: "Fiona Ebner" , =?utf-8?q?Michael_K=C3=B6ppl?= , Subject: Re: [PATCH pve-cluster v5 2/7] datacenter config: add unique-next-id to schema From: =?utf-8?q?Michael_K=C3=B6ppl?= X-Mailer: aerc 0.22.0 References: <20260921155410.938337-1-m.koeppl@proxmox.com> <20260921155410.938337-3-m.koeppl@proxmox.com> <8c347489-ccfe-498a-846b-6485e4014201@proxmox.com> In-Reply-To: <8c347489-ccfe-498a-846b-6485e4014201@proxmox.com> X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1790088212351 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.514 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_MED -2.3 Sender listed at https://www.dnswl.org/, medium 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: NPIR4E3A4UKQNNGEPZTHRQJHTQ2HLYZK X-Message-ID-Hash: NPIR4E3A4UKQNNGEPZTHRQJHTQ2HLYZK X-MailFrom: m.koeppl@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 Tue Sep 22, 2026 at 4:22 PM CEST, Fiona Ebner wrote: > Am 21.09.26 um 5:54 PM schrieb Michael K=C3=B6ppl: >> From: Severen Redwood >> >> Add the `unique-next-id` property to the datacenter config schema to >> track whether only unique (ie. neither currently nor previously in use) >> VM/CT IDs should be suggested by the `/cluster/nextid` API endpoint. >> >> Co-authored-by: Daniel Krambrock >> Signed-off-by: Severen Redwood >> [MK: use datacenter in commit message instead of datacentre] >> Signed-off-by: Michael K=C3=B6ppl >> --- >> src/PVE/DataCenterConfig.pm | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/src/PVE/DataCenterConfig.pm b/src/PVE/DataCenterConfig.pm >> index 004122e..54f9c10 100644 >> --- a/src/PVE/DataCenterConfig.pm >> +++ b/src/PVE/DataCenterConfig.pm >> @@ -415,6 +415,12 @@ my $datacenter_schema =3D { >> format =3D> $next_id_format, >> description =3D> "Control the range for the free VMID auto-= selection pool.", > > Should we add this as a sub-property of the next-id property string > instead rather than a separate new option? Thanks for having a look! Yeah, I think this would also work better in the web UI if we also change the option there to "Next Free VMID" and simply add a "unique" checkbox. Just my 2 cents, though. > >> }, >> + 'unique-next-id' =3D> { >> + optional =3D> 1, >> + type =3D> 'boolean', >> + description =3D> >> + "Only suggest VMIDs that are neither currently in use n= or have previously been used.", > > Style nit: line too long > Nit: guest ID instead of VMID I mostly kept this as VMID because in the description for next-id we also use VMID and I wanted to avoid using different nomenclature for what essentially affects the same kind of ID. If we make it a sub-property, should we use "Next Free Guest ID" in the web UI as well as "guest ID" in the description here? If we keep them as separate properties, it would IMO make sense to also adapt the next-id description to make it clear that this refers to the same thing. > >> + }, >> migration =3D> { >> optional =3D> 1, >> type =3D> 'string',