From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 68B8E90C4 for ; Thu, 17 Nov 2022 10:40:09 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 47A1529BCD for ; Thu, 17 Nov 2022 10:39:39 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (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 firstgate.proxmox.com (Proxmox) with ESMTPS for ; Thu, 17 Nov 2022 10:39:38 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 4F23043E33 for ; Thu, 17 Nov 2022 10:39:38 +0100 (CET) From: Daniel Tschlatscher To: pve-devel@lists.proxmox.com Date: Thu, 17 Nov 2022 10:39:31 +0100 Message-Id: <20221117093932.343751-1-d.tschlatscher@proxmox.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: =?UTF-8?Q?0=0A=09?=AWL -0.149 Adjusted score from AWL reputation of From: =?UTF-8?Q?address=0A=09?=BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict =?UTF-8?Q?Alignment=0A=09?=SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF =?UTF-8?Q?Record=0A=09?=SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH container 1/2] fix: clean up config when invalid ostemplate is given 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: , X-List-Received-Date: Thu, 17 Nov 2022 09:40:09 -0000 Before, if an invalid/non-existant ostemplate parameter was passed, the task would abort, but would leave an empty config file behind. This also applies to errors for invalid mount point configurations. In both cases, the empty config will now be removed. Signed-off-by: Daniel Tschlatscher --- src/PVE/API2/LXC.pm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm index 79aecaa..7cc64af 100644 --- a/src/PVE/API2/LXC.pm +++ b/src/PVE/API2/LXC.pm @@ -443,7 +443,14 @@ __PACKAGE__->register_method({ } } }; - die "$emsg $@" if $@; + + if (my $reason = $@) { + if (!$same_container_exists) { + eval { PVE::LXC::Config->destroy_config($vmid) }; + $remove_lock = 0; + } + die "$emsg $reason"; + } # up until here we did not modify the container, besides the lock $remove_lock = 0; -- 2.30.2