Re: [pve-devel] [RFC cluster/ha-manager 00/16] HA colocation rules

2025-03-31 Thread DERUMIER, Alexandre
Hi Daniel, thanks for working on this ! >>I chose the name "colocation" in favor of affinity/anti-affinity, >>since >>it is a bit more concise that it is about co-locating services >>between >>each other in contrast to locating services on nodes, but no hard >>feelings to change it (same for an

Re: [pve-devel] [PATCH proxmox-ve-rs 01/17] add proxmox-network-types crate

2025-03-31 Thread Thomas Lamprecht
Am 31.03.25 um 16:38 schrieb Stefan Hanreich: > Yes, the second approach sounds sensible imo, the OpenFabric / OSPF > types are quite specific... > > Christoph also expressed interested in the network-types (for the > installer) so moving the general ones to a crate in proxmox is fine by > me and

[pve-devel] [PATCH storage v6 12/37] plugin: introduce new_backup_provider() method

2025-03-31 Thread Fiona Ebner
The new_backup_provider() method can be used by storage plugins for external backup providers. If the method returns a provider, Proxmox VE will use callbacks to that provider for backups and restore instead of using its usual backup/restore mechanisms. The backup provider API is split into two pa

Re: [pve-devel] [PATCH v1 pve-storage 4/8] pluginbase: document general plugin methods

2025-03-31 Thread Fabian Grünbichler
On March 26, 2025 3:20 pm, Max Carrara wrote: > Add docstrings for the following methods: > - check_connection > - activate_storage > - deactivate_storage > - status > - cluster_lock_storage > - parse_volname > - get_subdir > - filesystem_path > - path > - find_free_diskname > > Signed-off-by: Max

[pve-devel] [PATCH qemu 5/6] savevm-async: use dedicated iothread for state file

2025-03-31 Thread Fiona Ebner
Having the state file be in the iohandler context means that a blk_drain_all() call in the main thread or vCPU thread that happens while the snapshot is running will result in a deadlock. For example, the main thread might be stuck in: > 0 0x7300ac9552d6 in __ppoll (fds=0x64bd5a411a50, nfds=

[pve-devel] [PATCH qemu 6/6] savevm-async: treat failure to set iothread context as a hard failure

2025-03-31 Thread Fiona Ebner
This is not expected to ever fail and there might be assumptions about having the expected context down the line. Signed-off-by: Fiona Ebner --- migration/savevm-async.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/migration/savevm-async.c b/migration/savevm-async.c

[pve-devel] [PATCH qemu v6 08/37] PVE backup: backup-access api: indicate situation where a bitmap was recreated

2025-03-31 Thread Fiona Ebner
The backup-access api keeps track of what bitmap names got used for which devices and thus knows when a bitmap went missing. Propagate this information to the QMP user with a new 'missing-recreated' variant for the taken bitmap action. Signed-off-by: Fiona Ebner --- pve-backup.c | 6

Re: [pve-devel] [PATCH proxmox-ve-rs 1/1] clippy: elided lifetime has a name

2025-03-31 Thread Gabriel Goller
bump, still applies ___ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

[pve-devel] [PATCH qemu 2/6] savevm-async: rename saved_vm_running to vm_needs_start

2025-03-31 Thread Fiona Ebner
This is what the variable actually expresses. Otherwise, setting it to false after starting the VM doesn't make sense. Signed-off-by: Fiona Ebner --- migration/savevm-async.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/migration/savevm-async.c b/migration

Re: [pve-devel] [PATCH v1 pve-storage 6/8] pluginbase: document image operation methods

2025-03-31 Thread Fabian Grünbichler
On March 26, 2025 3:20 pm, Max Carrara wrote: > Add documentation for the following methods: > - list_images > - create_base > - clone_image > - alloc_image > - free_image > > Signed-off-by: Max Carrara > Co-authored-by: Maximiliano Sandoval > --- > src/PVE/Storage/PluginBase.pm | 111 +

Re: [pve-devel] [PATCH v1 pve-storage 1/8] pluginbase: introduce PVE::Storage::PluginBase with doc scaffold

2025-03-31 Thread Fabian Grünbichler
On March 26, 2025 3:20 pm, Max Carrara wrote: > Add PVE::Storage::PluginBase, which defines stubs for all methods that > storage plugins should implement in order to conform to our plugin > API. This makes it much easier for (third-party) developers to see > which methods should be implemented. >

Re: [pve-devel] [PATCH v1 pve-storage 2/8] pluginbase: add high-level plugin API description

2025-03-31 Thread Fabian Grünbichler
On March 26, 2025 3:20 pm, Max Carrara wrote: > Add a short paragraph in DESCRIPTION serving as an introduction as > well as the GENERAL PARAMETERS and CACHING EXPENSIVE OPERATIONS > sections. > > These sections are added in order to avoid repeatedly describing the > same parameters as well as to

Re: [pve-devel] [PATCH v1 pve-storage 3/8] pluginbase: document SectionConfig methods

2025-03-31 Thread Fabian Grünbichler
On March 26, 2025 3:20 pm, Max Carrara wrote: > This commit adds docstrings for the relevant PVE::SectionConfig > methods in the context of the storage plugin API. > > Signed-off-by: Max Carrara > --- > src/PVE/Storage/PluginBase.pm | 194 +- > 1 file changed, 192

Re: [pve-devel] [PATCH-SERIES qemu 0/6] async snapshot improvements

2025-03-31 Thread Fiona Ebner
Am 31.03.25 um 16:55 schrieb Fiona Ebner: > Most importantly, start using a dedicated IO thread for the state > file when doing a live snapshot. > > Having the state file be in the iohandler context means that a > blk_drain_all() call in the main thread or vCPU thread that happens > while the snap

Re: [pve-devel] [PATCH proxmox-ve-rs 12/17] ve-config: add openfabric section-config

2025-03-31 Thread Gabriel Goller
On 31.03.2025 15:48, Christoph Heiss wrote: On Fri Mar 28, 2025 at 6:13 PM CET, Gabriel Goller wrote: This is the main openfabric configuration. It is used to parse from the section-config file (`/etc/pve/sdn/fabrics/openfabric.cfg`) and is also returned from the api. Signed-off-by: Gabriel Gol

[pve-devel] [PATCH qemu 1/6] savevm-async: improve setting state of snapshot operation in savevm-end handler

2025-03-31 Thread Fiona Ebner
One of the callers of wait_for_close_co() already sets the state to SAVE_STATE_DONE before, but that is not fully correct, because at that moment, the operation is not fully done. In particular, if closing the target later fails, the state would even be set to SAVE_STATE_ERROR afterwards. DONE -> E

[pve-devel] [PATCH qemu 4/6] savevm-async: cleanup error handling in savevm_start

2025-03-31 Thread Fiona Ebner
The 'restart' label is a complete misnomer since the last commit and the single operation of setting the error in the snapshot state can be inlined everywhere. Also adds it in two branches it was missing. Lastly, improve the code style for checking whether migrate_init() failed by explicitly compa

[pve-devel] [PATCH qemu 3/6] savevm-async: improve runstate preservation

2025-03-31 Thread Fiona Ebner
Determine if VM needs to be started after finishing right before actually stopping the VM instead of at the beginning. In qmp_savevm_start(), the only path stopping the VM returns right aftwards, so there is no need for the vm_start() handling after errors. The next commit will inline the remainin

Re: [pve-devel] [PATCH proxmox-ve-rs 16/17] ve-config: add section-config to frr types conversion

2025-03-31 Thread Stefan Hanreich
On 3/31/25 15:51, Christoph Heiss wrote: > The (new) dependency on librust-similar-asserts-dev is missing in > debian/control, just noticed while trying to build the package :^) > > Didn't review further (yet). Interesting, I just rechecked my sbuild log and seems like it worked there because

[pve-devel] applied: [PATCH common v6 09/37] syscall: expose fallocate syscall

2025-03-31 Thread Thomas Lamprecht
Am 31.03.25 um 15:19 schrieb Fiona Ebner: > Signed-off-by: Fiona Ebner > --- > src/PVE/Syscall.pm | 1 + > 1 file changed, 1 insertion(+) > > applied this one already, thanks! ___ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.prox

[pve-devel] applied: [PATCH manager] api: subscription: add missing semicolon

2025-03-31 Thread Thomas Lamprecht
Am 31.03.25 um 11:15 schrieb Christoph Heiss: > Fixes a build failure. > > Fixes: 52f670250 ("api subscription: output generic apt-auth stanza for ceph") > Signed-off-by: Christoph Heiss > --- > PVE/API2/Subscription.pm | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > applied, thank

[pve-devel] [PATCH 1/4] cargo: set edition to 2024

2025-03-31 Thread Maximiliano Sandoval
Signed-off-by: Maximiliano Sandoval --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index dc7f312..2d3f50d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ resolver = "2" [workspace.package] authors = ["Proxmox Support Team "]

[pve-devel] [PATCH qemu v6 02/37] PVE backup: factor out helper to clear backup state's bitmap list

2025-03-31 Thread Fiona Ebner
Suggested-by: Wolfgang Bumiller Signed-off-by: Fiona Ebner --- New in v6. pve-backup.c | 28 ++-- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/pve-backup.c b/pve-backup.c index 2408f182bc..915649b5f9 100644 --- a/pve-backup.c +++ b/pve-backup.c @@ -81

[pve-devel] [PATCH pve-manager v5 4/4] Add configuration options for AMD SEV-SNP

2025-03-31 Thread Philipp Giersfeld
Expand input panel with AMD SEV-SNP selection, and relevant optional parameters similar to existing options for AMD SEV(-ES). Further, upon selecting AMD SEV-SNP, issue a warning that EFI disks are not included when using SEV-SNP. Signed-off-by: Philipp Giersfeld --- changes since v4: https:/

Re: [pve-devel] [PATCH proxmox-ve-rs 01/17] add proxmox-network-types crate

2025-03-31 Thread Thomas Lamprecht
Am 28.03.25 um 18:12 schrieb Gabriel Goller: > This is a common crate that is gonna be reused between > proxmox-ve-config, proxmox-frr and proxmox-perl-rs. It holds different > networking primitives, such as Ipv4/Ipv6-Cidr, NET and e.g. > HelloInterval (openfabric attribute) types. The decision for

Re: [pve-devel] [PATCH storage/manager v4] allow down/upload & import of images in the web UI

2025-03-31 Thread Filip Schauer
Tested with (.img.raw/.raw), .qcow2, .vmdk and different combinations of target storages/formats. Everything worked fine except for one thing: The upload dialog allows the user to manually change the file name. When changing the file extension to ".img". Clicking "Upload" is allowed but after the

[pve-devel] [PATCH manager 1/2] window: migrate: make all user-visible strings translatable

2025-03-31 Thread Christoph Heiss
Quite a few user-visible strings in the dialog currently are not using gettext(), thus not making them translatable. While at it, also remove some contractions from error/warning messages. Not strictly necessary per our style guide, but it avoids escaping single quotes and reads quite a bit nicer

[pve-devel] [PATCH qemu-server v5 3/4] config: add AMD SEV-SNP support.

2025-03-31 Thread Philipp Giersfeld
This patch is for enabling AMD SEV-SNP support. Where applicable, it extends support for existing SEV(-ES) variables to SEV-SNP. This means that it retains no-debug and kernel-hashes options, but the no-key-sharing option is removed. The default policy value is identical to QEMU’s, and the theref

[pve-devel] [PATCH qemu-server v5 2/4] Convert policy calculation

2025-03-31 Thread Philipp Giersfeld
Convert policy calculation to use shift operators and OR operation instead of binary numbers and addition. Signed-off-by: Philipp Giersfeld Reviewed-by: Fiona Ebner --- no changes since last version PVE/QemuServer/CPUConfig.pm | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-)

[pve-devel] [PATCH edk2-firmware v5 1/4] Add OVMF targets for AMD SEV-ES and SEV-SNP

2025-03-31 Thread Philipp Giersfeld
AMD SEV-SNP boots with a single volatile firmware image OVMF.fd via the -bios option. This requires building the `OvmfPkg/OvmfPkgX64.dsc` target. Also, SEV-ES and SEV-SNP do not support SMM [1,2]. Therefore, introduce a new target build-ovmf-cvm that builds OVMF firmware suitable for AMD SEV. [1

[pve-devel] [PATCH edk2-firmware/qemu-server/manager v5 0/4] AMD SEV-SNP

2025-03-31 Thread Philipp Giersfeld
This patch series adds support for AMD SEV-SNP. Where possible it mimics the existing support for AMD SEV(-ES). Running SEV-SNP VMs requires a specific OVMF firmware image. Contrary to other setups, SEV-SNP does not support loading the firmware via pflash. Instead, the firmware image is loaded v

[pve-devel] [PATCH qemu] d/rules: remove outdated workaround against historic changelog file

2025-03-31 Thread Fiona Ebner
There is no top-level 'Changelog' file in the QEMU submodule repository anymore since QEMU v5.2, to be precise commit e83029fa60 ("CHANGELOG: remove disused file"). Signed-off-by: Fiona Ebner --- debian/rules | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/debian/rules b/de

[pve-devel] [PATCH qemu v6 03/37] PVE backup: factor out helper to initialize backup state stat struct

2025-03-31 Thread Fiona Ebner
Suggested-by: Wolfgang Bumiller Signed-off-by: Fiona Ebner --- New in v6. pve-backup.c | 62 1 file changed, 38 insertions(+), 24 deletions(-) diff --git a/pve-backup.c b/pve-backup.c index 915649b5f9..88a981f81c 100644 --- a/pve-backup.c +

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

2025-03-31 Thread Stoiko Ivanov
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-upstream fix from 2.3.2-staging[1] - fixing userspace<->kernel bre

Re: [pve-devel] [PATCH proxmox-ve-rs 12/17] ve-config: add openfabric section-config

2025-03-31 Thread Christoph Heiss
On Fri Mar 28, 2025 at 6:13 PM CET, Gabriel Goller wrote: > This is the main openfabric configuration. It is used to parse from the > section-config file (`/etc/pve/sdn/fabrics/openfabric.cfg`) and is also > returned from the api. > > Signed-off-by: Gabriel Goller > --- > proxmox-ve-config/Cargo.

[pve-devel] [PATCH zfsonlinux 8/8] cherry-pick fix for ABI break from zfs 2.3.2-staging

2025-03-31 Thread Stoiko Ivanov
without this patch many common operations break when running with a kernel module < 2.3.1. Noticed while testing replication with our current 2.2.7 module and userspace from 2.3.1 Signed-off-by: Stoiko Ivanov --- ...ount-matches-and-injections-for-each.patch | 500 ++ debian/patc

[pve-devel] [PATCH zfsonlinux 7/8] d/control: add Multi-Arch attributes for binary packages

2025-03-31 Thread Stoiko Ivanov
follows debian-upstream commit e83f1857d5dbf4efd0c3f1351644c8ce88bc2654 Signed-off-by: Stoiko Ivanov --- debian/control | 9 + 1 file changed, 9 insertions(+) diff --git a/debian/control b/debian/control index 5a3ac6867..50196019f 100644 --- a/debian/control +++ b/debian/control @@ -28,

[pve-devel] [PATCH zfsonlinux 1/8] update zfs submodule to 2.3.1 and refresh patches

2025-03-31 Thread Stoiko Ivanov
Signed-off-by: Stoiko Ivanov --- ...META-and-DCH-consistency-in-autoconf.patch | 2 +- .../0002-always-load-ZFS-module-on-boot.patch | 2 +- ...o-the-zed-binary-on-the-systemd-unit.patch | 2 +- ...ith-d-dev-disk-by-id-in-scan-service.patch | 2 +- debian/patches/0005-Enable-zed-emails.pa

[pve-devel] [PATCH zfsonlinux 2/8] Install new manpages for zpool-{ddtprune, prefetch}

2025-03-31 Thread Stoiko Ivanov
Signed-off-by: Shengqi Chen (cherry picked from commit 4d3133d3e1d6073969972cefd9bd7254d342ab8f) Signed-off-by: Stoiko Ivanov --- debian/zfsutils-linux.install | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debian/zfsutils-linux.install b/debian/zfsutils-linux.install index 2fd7aefe7..0ed

[pve-devel] [PATCH proxmox-ve-rs] clippy: elide some lifetimes

2025-03-31 Thread Gabriel Goller
Elide some lifetimes to avoid clippy warnings: warning: the following explicit lifetimes could be elided: 'a --> proxmox-ve-config/src/firewall/parse.rs:319:11 | 319 | impl<'de, 'a, E> serde::de::Deserializer<'de> for SomeStrDeserializer<'a, E> | ^^

Re: [pve-devel] [PATCH widget-toolkit 1/1] close #3181: ui: add guest name to safe destroy dialog window

2025-03-31 Thread Michael Köppl
On 3/28/25 13:03, Michael Köppl wrote: On 3/25/25 19:27, Thomas Lamprecht wrote: Am 25.03.25 um 16:01 schrieb Michael Köppl: While the format_task_description function is used in other parts of the UI, this still leaves these use cases intact. The guest name is an optional addition in paranthes

[pve-devel] [PATCH manager v2 1/1] close #3181: ui: display guest name in confirm dialogs

2025-03-31 Thread Michael Köppl
The confirmation dialogs of the following actions are affected by this change: * Remove * Clone * Migrate * Snapshot * Snapshot restore * Backup VM/CT from config view * Restore VM/CT from config view A combination of VM/CT id and name is added to each confirmation dialog. The order of id and name

[pve-devel] [PATCH widget-toolkit v2 1/1] close #3181: ui: add formatted guest identifier to safe destroy dialog window

2025-03-31 Thread Michael Köppl
Adds a formatted guest identifier (e.g. "VMID (VM name)") to the SafeDestroy window. The formatted identifier is only used if it is explicitly set by the caller. Otherwise, the VMID is used, avoiding changes in behavior for other components. Signed-off-by: Michael Köppl --- src/window/SafeDestro

[pve-devel] [PATCH manager/widget-toolkit v2 0/2] close #3181: ui: display guest name in confirm dialogs

2025-03-31 Thread Michael Köppl
Closes #3181 [0]. The goal of this series is to extend the information displayed in the confirmation dialogs when cloning, migrating, removing VMs or CTs by adding the guest name in addition to the VM ID. This also unifies the displayed information since there are multiple actions that already inc

[pve-devel] [PATCH manager v6 36/37] ui: backup: also check for backup subtype to classify archive

2025-03-31 Thread Fiona Ebner
In anticipation of future storage plugins that might not have PBS-specific formats or adhere to the vzdump naming scheme for backups. Signed-off-by: Fiona Ebner --- www/manager6/Utils.js | 10 ++ www/manager6/grid/BackupView.js| 4 ++-- www/manager6/storage/BackupView.j

[pve-devel] [POC storage v6 16/37] add backup provider example

2025-03-31 Thread Fiona Ebner
The example uses a simple directory structure to save the backups, grouped by guest ID. VM backups are saved as configuration files and qcow2 images, with backing files when doing incremental backups. Container backups are saved as configuration files and a tar file or squashfs image (added to test

[pve-devel] [PATCH container v6 34/37] restore tar archive: check potentially untrusted archive

2025-03-31 Thread Fiona Ebner
'tar' itself already protects against '..' in component names and strips absolute member names when extracting (if not used with the --absolute-names option) and in general seems sane for extracting. Additionally, the extraction already happens in the user namespace associated to the container. So

[pve-devel] [POC storage v6 17/37] Borg example plugin

2025-03-31 Thread Fiona Ebner
Archive names start with the guest type and ID and then the same timestamp format as PBS. Container archives have the following structure: guest.config firewall.config filesystem/ # containing the whole filesystem structure VM archives have the following structure guest.config firewall.config vol

[pve-devel] [PATCH qemu-server v6 23/37] image convert: collect options in hash argument

2025-03-31 Thread Fiona Ebner
In preparation to add another option and to improve style for the callers. One of the test cases that specified $is_zero_initialized is for a non-existent storage, so the option was not added there. Signed-off-by: Fiona Ebner --- New in v6. PVE/QemuServer.pm | 19 +++---

[pve-devel] [PATCH container v6 30/37] backup: implement backup for external providers

2025-03-31 Thread Fiona Ebner
The filesystem structure is made available as a directory in a consistent manner (with details depending on the vzdump backup mode) just like for regular backup via tar. The backup_container() method of the backup provider is executed in a user namespace with the container's ID mapping applied. Th

[pve-devel] [PATCH qemu v6 06/37] PVE backup: implement backup access setup and teardown API for external providers

2025-03-31 Thread Fiona Ebner
For external backup providers, the state of the VM's disk images at the time the backup is started is preserved via a snapshot-access block node. Old data is moved to the fleecing image when new guest writes come in. The snapshot-access block node, as well as the associated bitmap in case of increm

[pve-devel] [PATCH qemu v6 07/37] PVE backup: implement bitmap support for external backup access

2025-03-31 Thread Fiona Ebner
There can be one dirty bitmap for each backup target ID (which are tracked in the backup_access_bitmaps hash table). The QMP user can specify the ID of the bitmap it likes to use. This ID is then compared to the current one for the given target. If they match, the bitmap is re-used (should it still

[pve-devel] [PATCH qemu-server v6 27/37] backup: support 'missing-recreated' bitmap action

2025-03-31 Thread Fiona Ebner
A new 'missing-recreated' action was added on the QEMU side. Signed-off-by: Fiona Ebner --- PVE/VZDump/QemuServer.pm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PVE/VZDump/QemuServer.pm b/PVE/VZDump/QemuServer.pm index 0d4949a8..02e2c5af 100644 --- a/PVE/VZDump/QemuServer.pm +++ b/PVE

[pve-devel] [PATCH qemu-server v6 26/37] backup: future-proof checks for QEMU feature support

2025-03-31 Thread Fiona Ebner
The features returned by the 'query-proxmox-support' QMP command are booleans, so just checking for definedness is not enough in principle. In practice, a feature is currently always true if defined. Still, fix the checks, should the need to disable support for a feature ever arise in the future an

[pve-devel] [PATCH qemu-server v6 21/37] backup: implement backup for external providers

2025-03-31 Thread Fiona Ebner
The state of the VM's disk images at the time the backup is started is preserved via a snapshot-access block node. Old data is moved to the fleecing image when new guest writes come in. The snapshot-access block node, as well as the associated bitmap in case of incremental backup, will be made avai

[pve-devel] [PATCH qemu-server v6 20/37] backup: allow adding fleecing images also for EFI and TPM

2025-03-31 Thread Fiona Ebner
For the external backup API, it will be necessary to add a fleecing image even for small disks like EFI and TPM, because there is no other place the old data could be copied to when a new guest write comes in. Signed-off-by: Fiona Ebner --- PVE/VZDump/QemuServer.pm | 14 -- 1 file ch

[pve-devel] [PATCH storage v6 15/37] extract backup config: delegate to backup provider for storages that support it

2025-03-31 Thread Fiona Ebner
Signed-off-by: Fiona Ebner --- Changes in v6: * Adapt to renamed archive_get_guest_config() method. src/PVE/Storage.pm | 11 +++ 1 file changed, 11 insertions(+) diff --git a/src/PVE/Storage.pm b/src/PVE/Storage.pm index 10a4abc..7174f0f 100755 --- a/src/PVE/Storage.pm +++ b/src/PVE/St

[pve-devel] [PATCH storage v6 13/37] config api/plugins: let plugins define sensitive properties themselves

2025-03-31 Thread Fiona Ebner
Hard-coding a list of sensitive properties means that custom plugins cannot define their own sensitive properties for the on_add/on_update hooks. Have plugins declare the list of their sensitive properties in the plugin data. For backwards compatibility, return the previously hard-coded list if no

[pve-devel] [PATCH container v6 29/37] add LXC::Namespaces module

2025-03-31 Thread Fiona Ebner
The module includes a run_in_userns() helper to run a Perl subroutine in a user namespace. The first use case is running the container backup subroutine for external providers inside a user namespace. That allows them to see the filesystem to back-up from the containers perspective and also improv

[pve-devel] [PATCH qemu-server v6 25/37] backup: implement restore for external providers

2025-03-31 Thread Fiona Ebner
First, the provider is asked about what restore mechanism to use. Currently, only 'qemu-img' is possible. Then the configuration files are restored, the provider gives information about volumes contained in the backup and finally the volumes are restored via 'qemu-img convert'. The code for the re

[pve-devel] [PATCH qemu-server v6 28/37] backup: bitmap action to human: lie about TPM state

2025-03-31 Thread Fiona Ebner
The TPM state drive is newly attached each time, so it is fully expected that a bitmap from last time would be missing. Signed-off-by: Fiona Ebner --- PVE/VZDump/QemuServer.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/PVE/VZDump/QemuServer.pm b/PVE/VZDump/QemuServer.pm index 02e2c5af

[pve-devel] [PATCH container v6 35/37] api: add early check against restoring privileged container from external source

2025-03-31 Thread Fiona Ebner
While restore_external_archive() already has a check, that happens after an existing container is destroyed. Signed-off-by: Fiona Ebner --- src/PVE/API2/LXC.pm | 14 ++ 1 file changed, 14 insertions(+) diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm index 7cb5122..6cd771c 100

[pve-devel] [PATCH storage v6 14/37] plugin api: bump api version and age

2025-03-31 Thread Fiona Ebner
Changes for version 11: * Allow declaring storage features via plugin data. * Introduce new_backup_provider() plugin method. * Allow declaring sensitive properties via plugin data. See the api changelog file for details. Signed-off-by: Fiona Ebner --- ApiChangeLog | 32 ++

[pve-devel] [PATCH storage v6 11/37] common: add deallocate helper function

2025-03-31 Thread Fiona Ebner
For punching holes via fallocate. This will be useful for the external backup provider API to discard parts of the source. The 'file-handle' mechanism there uses a fuse mount, which does not implement the BLKDISCARD ioctl, but does implement fallocate. Signed-off-by: Fiona Ebner --- src/PVE/Stor

[pve-devel] [PATCH qemu v6 05/37] PVE backup: get device info: allow caller to specify filter for which devices use fleecing

2025-03-31 Thread Fiona Ebner
For providing snapshot-access to external backup providers, EFI and TPM also need an associated fleecing image. The new caller will thus need a different filter. Signed-off-by: Fiona Ebner --- pve-backup.c | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pve-backup.c

[pve-devel] [PATCH qemu v6 04/37] PVE backup: add target ID in backup state

2025-03-31 Thread Fiona Ebner
In preparation for allowing multiple backup providers and potentially multiple targets for a given provider. Each backup target can then have its own dirty bitmap and there can be additional checks that the current backup state is actually associated to the expected target. Signed-off-by: Fiona Eb

[pve-devel] [PATCH common v6 09/37] syscall: expose fallocate syscall

2025-03-31 Thread Fiona Ebner
Signed-off-by: Fiona Ebner --- src/PVE/Syscall.pm | 1 + 1 file changed, 1 insertion(+) diff --git a/src/PVE/Syscall.pm b/src/PVE/Syscall.pm index 9ef3d5d..f3193a3 100644 --- a/src/PVE/Syscall.pm +++ b/src/PVE/Syscall.pm @@ -19,6 +19,7 @@ BEGIN { mknod => &SYS_mknod, faccessat =>

[pve-devel] [PATCH qemu v6 01/37] PVE backup: clean up directly in setup_snapshot_access() when it fails

2025-03-31 Thread Fiona Ebner
The only thing that might need to be cleaned up after setup_snapshot_access() failed is dropping the cbw filter. Do so in the single branch it matters inside setup_snapshot_access() itself. This avoids the need that callers of setup_snapshot_access() use cleanup_snapshot_access() when the call fail

Re: [pve-devel] [RFC v1 pve-storage 1/2] (rfc) example: sshfs plugin: add custom storage plugin for sshfs

2025-03-31 Thread Fiona Ebner
Am 28.03.25 um 18:12 schrieb Max Carrara: > - What would be the preferred way to allow specifying whether a > (custom) plugin is shared or not via our API? > > E.g. some external plugins do the following, which (I suppose) > wasn't originally part of the API, but is now, due it being used in

[pve-devel] [PATCH manager] api: subscription: add missing semicolon

2025-03-31 Thread Christoph Heiss
Fixes a build failure. Fixes: 52f670250 ("api subscription: output generic apt-auth stanza for ceph") Signed-off-by: Christoph Heiss --- PVE/API2/Subscription.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PVE/API2/Subscription.pm b/PVE/API2/Subscription.pm index 838d1bc0

[pve-devel] [PATCH installer 1/2] auto: answer: add option to poweroff the machine instead of reboot

2025-03-31 Thread Christoph Heiss
Fixes #5880 [0]. Add a new option `global.reboot_mode` to the answer file, which allows users to optionally power off the machine after a successful installation, instead of rebooting. The option is completely backwards-compatible, i.e. defaults to "reboot", keeping the current behaviour. This c

[pve-devel] [PATCH installer 0/2] auto: add option to poweroff system after installation

2025-03-31 Thread Christoph Heiss
Fixes #5880 [0]. This can be useful for certain scenarios, such as being able to provision a stack of servers using the auto-installer and afterwards being able to work on the servers without time pressure, such as e.g. removing the installation medium, before booting them into the OS for the firs

[pve-devel] [PATCH installer 2/2] post-hook: add `reboot_mode` field

2025-03-31 Thread Christoph Heiss
This just takes the option from the answer file and reproduces it for the post-hook. Signed-off-by: Christoph Heiss --- proxmox-auto-installer/src/answer.rs | 2 +- proxmox-post-hook/src/main.rs| 7 +-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/proxmox-auto-insta

[pve-devel] [PATCH manager 2/2] window: migrate: use predefined constant for error alert title

2025-03-31 Thread Christoph Heiss
This is already defined, so use it where possible. Signed-off-by: Christoph Heiss --- www/manager6/window/Migrate.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/www/manager6/window/Migrate.js b/www/manager6/window/Migrate.js index c300f8d35..0e97cfe62 100644 --- a/www

Re: [pve-devel] [PATCH common 1/2] encrypt_pw: allow yescrypt in addition to sha256

2025-03-31 Thread Shannon Sterz
On Mon Mar 31, 2025 at 12:03 PM CEST, Fabian Grünbichler wrote: > this has been the default for Debian since Bullseye[0]. > > besides password setting for the PAM/PVE/PMG realms, this is also used > to hash cloud-init passwords for Linux VMs, where only a subset of > prefixes is currently allowed.

Re: [pve-devel] [PATCH perl-rs v4 1/1] fix #4234: openid: adjust openid verification function for userinfo option

2025-03-31 Thread Mira Limbeck
On 3/24/25 04:37, Thomas Skinner wrote: > Signed-off-by: Thomas Skinner > --- > pve-rs/src/openid/mod.rs | 7 ++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/pve-rs/src/openid/mod.rs b/pve-rs/src/openid/mod.rs > index 1fa7572..095ef26 100644 > --- a/pve-rs/src/openid/mo

Re: [pve-devel] [PATCH SERIES access-control/docs/manager/proxmox-openid v5] fix #4411: add support for openid groups

2025-03-31 Thread Mira Limbeck
On 3/27/25 02:49, Thomas Skinner wrote: > Changes since v4: > - remove invalid section from docs > > access-control: > > Thomas Skinner (1): > fix #4411: openid: add logic for openid groups support > > src/PVE/API2/OpenId.pm | 83 > src/PVE/AccessCon

Re: [pve-devel] [PATCH access-control v5 1/1] fix #4411: openid: add logic for openid groups support

2025-03-31 Thread Mira Limbeck
forgot the link [0] in my previous reply: https://pve.proxmox.com/wiki/Perl_Style_Guide ___ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Re: [pve-devel] [PATCH access-control v5 1/1] fix #4411: openid: add logic for openid groups support

2025-03-31 Thread Mira Limbeck
On 3/27/25 02:50, Thomas Skinner wrote: > Signed-off-by: Thomas Skinner > --- > src/PVE/API2/OpenId.pm | 83 > src/PVE/AccessControl.pm | 2 +- > src/PVE/Auth/OpenId.pm | 25 > src/PVE/Auth/Plugin.pm | 1 + > 4 files changed, 110 inser

[pve-devel] [PATCH common 1/2] encrypt_pw: allow yescrypt in addition to sha256

2025-03-31 Thread Fabian Grünbichler
this has been the default for Debian since Bullseye[0]. besides password setting for the PAM/PVE/PMG realms, this is also used to hash cloud-init passwords for Linux VMs, where only a subset of prefixes is currently allowed. 'j9T' is the default cost factor for yescrypt. 0: https://www.debian.o

[pve-devel] [PATCH common 2/2] encrypt_pw: check return value matches expected format

2025-03-31 Thread Fabian Grünbichler
since this manually constructs the input string for `crypt`, which looks different depending on used prefix/hashing algorithm, ensure that it was understood by crypt and that it returned a proper hashed password line. Signed-off-by: Fabian Grünbichler --- Notes: alternatively, we could switc

[pve-devel] [PATCH access-control 1/1] PVE/PAM: switch to yescrypt by default

2025-03-31 Thread Fabian Grünbichler
this will hash the password of new users or rehash the password on password changes using 'yescrypt', which is the default in Debian since Bullseye[0]. 0: https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.en.html#pam-default-password Reported-by: Trent W. Buck Signed-o

[pve-devel] [RFC access-control/common 0/3] hash passwords using yescrypt

2025-03-31 Thread Fabian Grünbichler
Debian switched the default hash algorithm for /etc/shadow to yescrypt for Bullseye. Our installer uses it for the root password set during installation. But any PAM/PVE user created over the API, or any password change triggered afterwards for such users, will fallback to sha256crypt. Since the h

[pve-devel] [PATCH manager] report: add WWN column to lsblk output

2025-03-31 Thread Friedrich Weber
WWNs (WWIDs) are useful information for debugging setups where multipath is not (correctly) set up, as the WWN reveals which block devices point to the same LUN. The report currently does not provide WWNs in such scenarios. There is a symlink for the WWN under /dev/disk/by-id/wwn-*, but if there ar

Re: [pve-devel] [PATCH pve-docs 1/1] fabrics: add initial documentation for sdn fabrics

2025-03-31 Thread Shannon Sterz
On Fri Mar 28, 2025 at 6:13 PM CET, Gabriel Goller wrote: > Add initial documentation for the openfabric and ospf options. > > Signed-off-by: Gabriel Goller > --- > pvesdn.adoc | 155 > 1 file changed, 155 insertions(+) > > diff --git a/pvesdn.