From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	by lore.proxmox.com (Postfix) with ESMTPS id 2ADB11FF161
	for <inbox@lore.proxmox.com>; Tue,  5 Nov 2024 03:01:30 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id A9D071603A;
	Tue,  5 Nov 2024 03:01:37 +0100 (CET)
To: pve-devel@lists.proxmox.com
Date: Tue,  5 Nov 2024 15:00:51 +1300
In-Reply-To: <20241105020054.215734-1-severen.redwood@sitehost.co.nz>
References: <mailman.712.1730771900.332.pve-devel@lists.proxmox.com>
 <20241105020054.215734-1-severen.redwood@sitehost.co.nz>
MIME-Version: 1.0
Message-ID: <mailman.713.1730772096.332.pve-devel@lists.proxmox.com>
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Post: <mailto:pve-devel@lists.proxmox.com>
From: Severen Redwood via pve-devel <pve-devel@lists.proxmox.com>
Precedence: list
Cc: Severen Redwood <severen.redwood@sitehost.co.nz>, t.lamprecht@proxmox.com
X-Mailman-Version: 2.1.29
X-BeenThere: pve-devel@lists.proxmox.com
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
Subject: [pve-devel] [PATCH container v3] api: record CT ID as used after a
 container is destroyed
Content-Type: multipart/mixed; boundary="===============7182967086500655624=="
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

--===============7182967086500655624==
Content-Type: message/rfc822
Content-Disposition: inline

Return-Path: <severen.redwood@sitehost.co.nz>
X-Original-To: pve-devel@lists.proxmox.com
Delivered-To: pve-devel@lists.proxmox.com
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by lists.proxmox.com (Postfix) with ESMTPS id 3C7F1CA487
	for <pve-devel@lists.proxmox.com>; Tue,  5 Nov 2024 03:01:36 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 14C2B16005
	for <pve-devel@lists.proxmox.com>; Tue,  5 Nov 2024 03:01:36 +0100 (CET)
Received: from mx3.ext.sitehost.co.nz (mx3.ext.sitehost.co.nz [120.138.20.239])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by firstgate.proxmox.com (Proxmox) with ESMTPS
	for <pve-devel@lists.proxmox.com>; Tue,  5 Nov 2024 03:01:35 +0100 (CET)
Received: from localhost (extmx1-new.vps.sitehost.co.nz [127.0.0.1])
	by mx3.ext.sitehost.co.nz (Postfix) with ESMTP id B6D1D180BF4;
	Tue,  5 Nov 2024 15:01:28 +1300 (NZDT)
X-Virus-Scanned: SiteHost Virus/Spam Prevention on mx3.ext.sitehost.co.nz
X-Spam-Flag: NO
X-Spam-Score: -3.45
X-Spam-Status: No, score=-3.45 tagged_above=-100 required=5
	tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, RP_MATCHES_RCVD=-0.55]
	autolearn=ham autolearn_force=no
Received: from mx3.ext.sitehost.co.nz ([127.0.0.1])
	by localhost (mx3.ext.sitehost.co.nz [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id CEX6C24J4XLx; Tue,  5 Nov 2024 15:01:24 +1300 (NZDT)
Received: from yggdrasill.. (oep.nct.sitehost.co.nz [120.138.23.30])
	by mx3.ext.sitehost.co.nz (Postfix) with ESMTPSA id E56BC180BA0;
	Tue,  5 Nov 2024 15:01:24 +1300 (NZDT)
From: Severen Redwood <severen.redwood@sitehost.co.nz>
To: pve-devel@lists.proxmox.com
Cc: a.lauterer@proxmox.com,
	t.lamprecht@proxmox.com,
	Severen Redwood <severen.redwood@sitehost.co.nz>,
	Daniel Krambrock <krambrock@hrz.uni-marburg.de>
Subject: [PATCH container v3] api: record CT ID as used after a container is destroyed
Date: Tue,  5 Nov 2024 15:00:51 +1300
Message-ID: <20241105020054.215734-3-severen.redwood@sitehost.co.nz>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20241105020054.215734-1-severen.redwood@sitehost.co.nz>
References: <mailman.712.1730771900.332.pve-devel@lists.proxmox.com>
 <20241105020054.215734-1-severen.redwood@sitehost.co.nz>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
	AWL                     0.082 Adjusted score from AWL reputation of From: address
	BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
	DMARC_PASS               -0.1 DMARC pass policy
	KAM_DMARC_STATUS         0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
	SPF_HELO_PASS          -0.001 SPF: HELO matches SPF record
	SPF_PASS               -0.001 SPF: sender matches SPF record

After a container is destroyed, record that its ID has been used via the
`PVE::UsedVmidList` module so that the `/cluster/nextids` endpoint can
later optionally avoid suggesting previously used IDs.

Co-authored-by: Daniel Krambrock <krambrock@hrz.uni-marburg.de>
Signed-off-by: Severen Redwood <severen.redwood@sitehost.co.nz>
---
Changed since v2 is the addition of the use statement for `PVE::UsedVmidList`.

 src/PVE/API2/LXC.pm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm
index 213e518..cc47c5c 100644
--- a/src/PVE/API2/LXC.pm
+++ b/src/PVE/API2/LXC.pm
@@ -28,6 +28,7 @@ use PVE::API2::LXC::Config;
 use PVE::API2::LXC::Status;
 use PVE::API2::LXC::Snapshot;
 use PVE::JSONSchema qw(get_standard_option);
+use PVE::UsedVmidList qw(add_vmid);
 use base qw(PVE::RESTHandler);
 
 BEGIN {
@@ -794,7 +795,9 @@ __PACKAGE__->register_method({
 		}
 	    }
 
-	    # only now remove the zombie config, else we can have reuse race
+	    # only now mark the CT ID as previously used and remove the zombie
+	    # config, else we can have reuse race
+	    PVE::UsedVmidList::add_vmid($vmid);
 	    PVE::LXC::Config->destroy_config($vmid);
 	};
 
-- 
2.47.0



--===============7182967086500655624==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

--===============7182967086500655624==--