Re: [pve-devel] [PATCH pve-storage 2/5] qcow2: add external snapshot support

2025-05-20 Thread Fabian Grünbichler
> DERUMIER, Alexandre hat am 19.05.2025 > 14:08 CEST geschrieben: > > > > > sub free_image { > > my ($class, $storeid, $scfg, $volname, $isBase, $format) = @_; > >   > > @@ -980,6 +994,51 @@ sub free_image { > >  # TODO taken from PVE/QemuServer/Drive.pm, avoiding duplication > > would b

[pve-devel] [PATCH container v6 1/4] fix #3711: lxc: print warning if storage for mounted volume does not exist anymore

2025-05-20 Thread Michael Köppl
An explicit check for the existence of the storage is added to print a warning and continue with the removal of the container without deleting the mount point in case the storage does not exist anymore. For other errors, the function should still die. Originally-by: Stefan Hrdlicka Signed-off-by:

[pve-devel] [PATCH container v6 2/4] config: apply_pending: get unused volid through parse_volume()

2025-05-20 Thread Michael Köppl
The volume ID returned by parse_volume() is used here as opposed to $conf->{$opt} used for regular mount points because $conf->{$opt} is not necessarily a valid volume ID in this case. This distinction is important because is_volume_in_use does internally not consider 'unused*' a valid volume key a

[pve-devel] [PATCH container/qemu-server v6 0/7] fix #3711 and adapt drive detach/remove behavior

2025-05-20 Thread Michael Köppl
This series aims to fix #3711 [0] and streamline the detach/remove behavior around volumes that are either mounted into a container or attached to a VM as a hard disk. It is a continuation of a series from 2022 [1], but makes the following changes: Changes v5 -> v6: - Fix links in cover letter - U

[pve-devel] [PATCH qemu-server v6 1/3] adapt linked clone check to not die if an error occurs during check

2025-05-20 Thread Michael Köppl
Align error handling behavior when checking for linked clones with the rest of destroy_vm's error handling approach. Unlike the LXC destroy implementation, this version continues execution when encountering errors during the check, since: 1. The same validation occurs later in the process 2. This

[pve-devel] [PATCH container v6 3/4] fix #3711: lxc: allow removing unused mp if storage no longer exists

2025-05-20 Thread Michael Köppl
Detaching a mount point with a removed underlying storage causes it to be labeled as an unused disk. With this change, removing an unused disk with a removed underlying storage causes it to be removed from the configuration instead of failing. Deleting the mount point is skipped in this case to avo

[pve-devel] [PATCH container v6 4/4] add linked clone check when destroying container

2025-05-20 Thread Michael Köppl
This behavior matches the behavior already implemented for VMs and prevents partial storage deletion if a container template has a linked clone. In such cases, the destruction of the container template will now fail, informing the user that the base volume is still in use by the linked clone. Orig

[pve-devel] [PATCH qemu-server v6 2/3] print warning for PVE::Storage::path errors instead of failing

2025-05-20 Thread Michael Köppl
Co-authored-by: Stefan Hrdlicka Signed-off-by: Michael Köppl --- PVE/QemuServer.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index e02bf7d4..68bbf4ce 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -2132,7 +2132,8 @@ sub

[pve-devel] [PATCH qemu-server v6 3/3] mark volumes pending detach as unused if storage was removed

2025-05-20 Thread Michael Köppl
If the storage backing the volume was removed, the volume will be marked as unused when pending actions are processed (e.g. volume was detached). Previously, the volume would simply disappear from the config. Co-authored-by: Stefan Hrdlicka Signed-off-by: Michael Köppl --- PVE/QemuServer.pm | 6

Re: [pve-devel] [PATCH pve-storage 2/5] qcow2: add external snapshot support

2025-05-20 Thread Fabian Grünbichler
> DERUMIER, Alexandre hat am 19.05.2025 > 15:01 CEST geschrieben: > > > > + #if first snapshot,as it should be bigger,  we merge child, and > > rename the snapshot to child > > + if(!$parentsnap) { > > +     print "commit: merge content of $childpath into $snappath\n"; > > +     $cmd = ['/usr

Re: [pve-devel] [PATCH container v5 2/4] lxc: get volid through parse_volume()

2025-05-20 Thread Michael Köppl
On 5/19/25 10:09, Thomas Lamprecht wrote: > Am 19.05.25 um 09:50 schrieb Michael Köppl: >> Thanks for the hint! It seems I have missed that option, wasn't sure how >> to handle it otherwise. Will use it in the future. If a v6 of this >> series becomes necessary, I'll add Stefan's former email addre

Re: [pve-devel] [PATCH pve-docs] fix #5644: Moved the section on ZFS

2025-05-20 Thread Fiona Ebner
The commit title seems to be cut off/incomplete and is missing the "v4". Sending patches to existing threads is usually done only in exceptional cases and almost always just for follow-ups. Please send a stand-alone v5 next time. Am 14.05.25 um 18:49 schrieb Alexander Abraham: > I moved the secti

[pve-devel] [PATCH pve_flutter_frontend] fix: ui: null check operator used on null value error on resource tab

2025-05-20 Thread Shan Shaji
The issue occurred because the null assertion operator (!) was used on the `template`` variable, which was potentially null. When the `PveGuestIcon` widget started rendering, it first checked the if condition inside the build method. If the `template` variable was null at that point, Flutter threw

Re: [pve-devel] [PATCH zfsonlinux 0/8] update to ZFS 2.3.1

2025-05-20 Thread Thomas Lamprecht
On Mon, 31 Mar 2025 15:41:20 +0200, Stoiko Ivanov wrote: > the following patchset updates ZFS to version 2.3.1, and synchronizes our > packaging with upstream debian[0], where it makes sense. > > Apart from the usual patch-refreshing and updating of the submodule the > patches include: > * one ZFS

[pve-devel] [PATCH pve_flutter_frontend] chore: ui: add launch screen for iOS

2025-05-20 Thread Shan Shaji
All apps that are submitted to Apple app store must provide a launch screen with an Xcode storyboard. Previously the launch screen were showing only a white background. This commit fixes it by adding the proxmox logo and setting the storyboard view background color to black. References: - https://

Re: [pve-devel] [PATCH container v6 3/4] fix #3711: lxc: allow removing unused mp if storage no longer exists

2025-05-20 Thread Fiona Ebner
Am 20.05.25 um 11:08 schrieb Michael Köppl: > Detaching a mount point with a removed underlying storage causes it to > be labeled as an unused disk. With this change, removing an unused disk > with a removed underlying storage causes it to be removed from the > configuration instead of failing. Del

Re: [pve-devel] [PATCH container v6 4/4] add linked clone check when destroying container

2025-05-20 Thread Fiona Ebner
Nit: destroy template: add early check for linked clones of volumes Am 20.05.25 um 11:08 schrieb Michael Köppl: > This behavior matches the behavior already implemented for VMs and > prevents partial storage deletion if a container template has a linked > clone. In such cases, the destruction of t

[pve-devel] [PATCH container/proxmox{, -perl-rs}/storage 0/9] support OCI images as container templates

2025-05-20 Thread Filip Schauer
Add basic support for OCI (Open Container Initiative) images [0] as container templates. An OCI image can be for example obtained from Docker Hub: ``` $ docker pull httpd $ docker save httpd > httpd.tar ``` The tarball can be uploaded to a storage as a container template and then used during con

Re: [pve-devel] Proposal For Podman Container Support

2025-05-20 Thread Filip Schauer
Sent a patch series: https://lore.proxmox.com/pve-devel/20250520124257.165949-1-f.scha...@proxmox.com/T/#u I ended up using OCI images as container templates. ___ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mai

Re: [pve-devel] [PATCH container v6 1/4] fix #3711: lxc: print warning if storage for mounted volume does not exist anymore

2025-05-20 Thread Fiona Ebner
Am 20.05.25 um 11:08 schrieb Michael Köppl: > An explicit check for the existence of the storage is added to print a > warning and continue with the removal of the container without deleting > the mount point in case the storage does not exist anymore. For other > errors, the function should still

[pve-devel] [PATCH qemu-server 5/5] test: adapt all tests to use verbose disk size suffixes

2025-05-20 Thread Fiona Ebner
The 'disk-size' format in the JSON schema in pve-common was changed to print more verbose, non-ambiguous disk size suffixes. While the previous commit changed the necessary test cases to not fail, adapt all tests to match how configurations are actually written now. Add a dedicated restore test wh

Re: [pve-devel] [PATCH container v6 2/4] config: apply_pending: get unused volid through parse_volume()

2025-05-20 Thread Fiona Ebner
Am 20.05.25 um 15:45 schrieb Fiona Ebner: > Am 20.05.25 um 11:08 schrieb Michael Köppl: >> The volume ID returned by parse_volume() is used here as opposed to >> $conf->{$opt} used for regular mount points because $conf->{$opt} is not >> necessarily a valid volume ID in this case. This distinction

[pve-devel] [PATCH network] api: controller: iterate over keys instead of whole map

2025-05-20 Thread Gabriel Goller
Previously, we iterated over the entire hash (keys and values), which added unnecessary data to the configuration. This commit changes the loop to iterate only over the hash keys. Nothing should change as the garbled properties were removed down the line anyway. Signed-off-by: Gabriel Goller ---

[pve-devel] [PATCH qemu-server] migrate: code cleanup: factor out variables for transferred memory and vfio

2025-05-20 Thread Fiona Ebner
Signed-off-by: Fiona Ebner --- I'll apply together with this follow-up if somebody gives me a T-b/R-b PVE/QemuMigrate.pm | 26 +++--- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm index f72a9d33..5a54f173 100644 --- a

Re: [pve-devel] [PATCH container v6 2/4] config: apply_pending: get unused volid through parse_volume()

2025-05-20 Thread Fiona Ebner
Am 20.05.25 um 11:08 schrieb Michael Köppl: > The volume ID returned by parse_volume() is used here as opposed to > $conf->{$opt} used for regular mount points because $conf->{$opt} is not > necessarily a valid volume ID in this case. This distinction is > important because is_volume_in_use does in

[pve-devel] [PATCH proxmox_dart_api_client/pve_flutter_frontend 0/2] fix: ui: missing guest in resources tab when status is `paused`

2025-05-20 Thread Shan Shaji
On the resources tab, when the status of a guest is set to `paused`, the guest is not shown in the resource tab, which makes it harder to resume the guest again. This patch series adds: - A new `paused` status filter in the filter sheet and seperate the filter sheets into seperate widget. The fi

[pve-devel] [PATCH pve_flutter_frontend 1/2] fix: ui: missing guests in resource tab when status is `paused`

2025-05-20 Thread Shan Shaji
When the guest status is set to `paused` the guest was not showing in the resources tab. Also there were no option in the resources filter to select the `paused` status under the status section. This commit fixes the issue by adding the `paused` status under the status section in the resources fil

[pve-devel] [PATCH proxmox_dart_api_client 2/2] fix: ui: add missing `paused` status check

2025-05-20 Thread Shan Shaji
The `getStatus` function was not returning the corresponding `PveResourceStatusType` when the status was `paused`. This commit adds the missing status check. Signed-off-by: Shan Shaji --- .../models/pve_cluster_resources_model.dart | 24 +++ 1 file changed, 24 insertions(+) di

[pve-devel] Plans for Realtime Kernel and Realtime Configuration Support in Proxmox?

2025-05-20 Thread Florent Carli via pve-devel
--- Begin Message --- Hello, After trying the user forum first, I'm turning to you here. I did a quick Google search to make sure the question hadn't already been answered (apparently not). Now I'm reaching out to the real experts :) I’m currently exploring Proxmox for some use cases that require

[pve-devel] applied: [PATCH cluster] datacenter config: document that the migration network affects replications

2025-05-20 Thread Fiona Ebner
Applied, thanks! [1/1] datacenter config: document that the migration network affects replications commit: a042611c9d06ea24d02423387005fa97319f9f2e ___ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailma

[pve-devel] [PATCH container 9/9] manage DHCP for containers with custom entrypoint

2025-05-20 Thread Filip Schauer
Containers that do not use the default `/sbin/init` entrypoint may lack in‑container network management. A previous commit already handles static IP addresses. Now this commit also handles DHCP. This is done using a `dhclient` process for each network interface. Signed-off-by: Filip Schauer ---

[pve-devel] [PATCH container 5/9] add support for OCI images as container templates

2025-05-20 Thread Filip Schauer
This aims to add basic support for the Open Container Initiative image format according to the specification. [0] [0] https://github.com/opencontainers/image-spec/blob/main/spec.md Signed-off-by: Filip Schauer --- src/PVE/API2/LXC.pm | 53 ++--- 1 file ch

[pve-devel] [PATCH proxmox 1/9] add proxmox-oci crate

2025-05-20 Thread Filip Schauer
This crate can parse and extract an OCI image bundled as a tar archive. Signed-off-by: Filip Schauer --- Cargo.toml | 1 + proxmox-oci/Cargo.toml | 21 proxmox-oci/debian/changelog | 5 + proxmox-oci/debian/control | 45 proxmox-oci/d

[pve-devel] [PATCH container 7/9] configure static IP in LXC config for custom entrypoint

2025-05-20 Thread Filip Schauer
When a container uses the default `/sbin/init` entrypoint, network interface configuration is usually managed by processes within the container. However, containers with a different entrypoint might not have any internal network management process. Consequently, IP addresses might not be assigned.

[pve-devel] [PATCH container 4/9] config: whitelist lxc.init.cwd

2025-05-20 Thread Filip Schauer
This parameter allows setting the working directory of the init process in the container. This can be used by containers created from an OCI image, that specifies a custom working directory. Signed-off-by: Filip Schauer --- src/PVE/LXC/Config.pm | 1 + 1 file changed, 1 insertion(+) diff --git

[pve-devel] [PATCH container 6/9] config: add entrypoint parameter

2025-05-20 Thread Filip Schauer
Signed-off-by: Filip Schauer --- src/PVE/API2/LXC.pm | 2 +- src/PVE/LXC.pm| 2 ++ src/PVE/LXC/Config.pm | 12 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm index 520b926..d4b074a 100644 --- a/src/PVE/API2/LXC.pm

[pve-devel] [PATCH proxmox-perl-rs 2/9] add Perl mapping for OCI container image parser

2025-05-20 Thread Filip Schauer
Signed-off-by: Filip Schauer --- pve-rs/Cargo.toml | 2 ++ pve-rs/Makefile | 1 + pve-rs/src/lib.rs | 1 + pve-rs/src/oci.rs | 20 4 files changed, 24 insertions(+) create mode 100644 pve-rs/src/oci.rs diff --git a/pve-rs/Cargo.toml b/pve-rs/Cargo.toml index 82ebce4..2

[pve-devel] [PATCH storage 3/9] allow .tar container templates

2025-05-20 Thread Filip Schauer
This is needed for OCI container images bundled as tar files, as generated by `docker save`. OCI images do not need additional compression, since the content is usually compressed already. Signed-off-by: Filip Schauer --- src/PVE/Storage.pm| 2 +- src/PVE/Storage/Plugin.pm | 2 +- 2 file

[pve-devel] [PATCH container 8/9] setup: debian: create /etc/network path if missing

2025-05-20 Thread Filip Schauer
This prevents an error during Debian container setup when the /etc/network directory is missing. Signed-off-by: Filip Schauer --- src/PVE/LXC/Setup/Debian.pm | 1 + 1 file changed, 1 insertion(+) diff --git a/src/PVE/LXC/Setup/Debian.pm b/src/PVE/LXC/Setup/Debian.pm index 8f7f524..b607c44 10064