From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 72E8E1FF0B2 for ; Mon, 24 Aug 2026 17:33:42 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 541C42163E; Mon, 24 Aug 2026 17:33:40 +0200 (CEST) Message-ID: <328e1266-003a-42fd-bfea-2801b5afb88d@proxmox.com> Date: Mon, 24 Aug 2026 17:33:35 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH container] api: template: allow creating template from ct with disk on LVM To: Lukas Sichert , pve-devel@lists.proxmox.com References: <20260312182714.108583-1-l.sichert@proxmox.com> Content-Language: en-US From: Fiona Ebner In-Reply-To: <20260312182714.108583-1-l.sichert@proxmox.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1787585586014 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.817 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: A42PJTARSSHS6KGSC4MWRXVIBU6HJXD3 X-Message-ID-Hash: A42PJTARSSHS6KGSC4MWRXVIBU6HJXD3 X-MailFrom: f.ebner@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: Am 12.03.26 um 7:26 PM schrieb Lukas Sichert: > Currently, in the UI, one can create a template from a VM with a disk on > LVM storage, but not from a container. This is because the LVM plugin > does not have the functionality to create base images from disks > implemented. While the system simply skips this function for VMs, it > throws an error and aborts for LXC containers. > > To allow converting to a template, skip the volumes where the required > functionality is not present by exiting early instead of aborting. > I feel like we should properly implement the feature the LVM plugin instead and maybe start requiring the feature for VMs with the next major version too, but not super important. The implementation for the LVM plugin can be similar to what is done for LVM-thin, i.e. rename and set readonly and activationskip flags. > Signed-off-by: Lukas Sichert > --- > src/PVE/LXC.pm | 12 +----------- > 1 file changed, 1 insertion(+), 11 deletions(-) > > diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm > index caba952..e77d208 100644 > --- a/src/PVE/LXC.pm > +++ b/src/PVE/LXC.pm > @@ -1613,17 +1613,7 @@ sub template_create { > > my $volid = $mountpoint->{volume}; > > - die "Template feature is not available for '$volid'\n" > - if !PVE::Storage::volume_has_feature($storecfg, 'template', $volid); > - }, > - ); > - > - PVE::LXC::Config->foreach_volume( > - $conf, > - sub { > - my ($ms, $mountpoint) = @_; > - > - my $volid = $mountpoint->{volume}; > + return if !PVE::Storage::volume_has_feature($storecfg, 'template', $volid); > > PVE::Storage::activate_volumes($storecfg, [$volid]); >