Re: [pve-devel] [PATCH installer v5 00/36] add automated/unattended installation

2024-04-16 Thread Thomas Lamprecht
Am 16/04/2024 um 17:32 schrieb Aaron Lauterer: > patches until 31 got a [0,1] > > Tested-by: Christoph Heiss > Reviewed-by: Christoph Heiss why don't these patches include above trailers then? ___ pve-devel mailing list

[pve-devel] [PATCH pve-network] fix #5343 : isis: fix ipv6 && custom router config

2024-04-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Network/SDN/Controllers/IsisPlugin.pm| 3 ++- src/test/zones/evpn/isis/expected_controller_config | 2 ++ src/test/zones/evpn/isis_loopback/expected_controller_config | 2 ++ 3 files changed, 6

[pve-devel] [PATCH pve-network] fix #5319: frr.local: add support for bgp-community

2024-04-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Need to be inserted after ip prefix-list and before route map Signed-off-by: Alexandre Derumier --- src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 15 +-- 1 file changed, 9 insertions(+), 6 deletions(-) diff --git

[pve-devel] [PATCH pve-network] fix #5344: isis: add isis networkid parser

2024-04-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Network/SDN/Controllers/IsisPlugin.pm | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/PVE/Network/SDN/Controllers/IsisPlugin.pm b/src/PVE/Network/SDN/Controllers/IsisPlugin.pm index

[pve-devel] [PATCH installer v5 19/36] auto-installer: add proxmox-autoinst-helper tool

2024-04-16 Thread Aaron Lauterer
It can parse an answer file to check against syntax errors, test match filters against the current hardware and list properties of the current hardware to match against. Since this tool should be able to run outside of the installer environment, it does not rely on the device information provided

[pve-devel] [PATCH installer v5 21/36] auto-installer: fetch: add gathering of system identifiers and restructure code

2024-04-16 Thread Aaron Lauterer
They will be used as payload when POSTing a request for an answer file. The idea is, that with this information, it should be possible to identify the system and generate a matching answer file on the fly. Many of these properties can also be found on the machine or packaging of the machine and

[pve-devel] [PATCH installer v5 23/36] auto-installer: fetch: add http post utility module

2024-04-16 Thread Aaron Lauterer
It sends a http(s) POST request with the sysinfo as payload and expects an answer file in return. In order to handle non FQDN URLs (e.g. IP addresses) and self signed certificates, it can optionally take an SHA256 fingerprint of the certificate. This can of course also be used to pin a

[pve-devel] [PATCH installer v5 32/36] fetch-answer: move get_answer_file to utils

2024-04-16 Thread Aaron Lauterer
and switch to accepting the full path to the answer file. This makes it possible to use it in more situations than just the partition case. Signed-off-by: Aaron Lauterer --- .../src/fetch_plugins/partition.rs| 23 +-- .../src/fetch_plugins/utils/mod.rs|

[pve-devel] [PATCH installer v5 34/36] fetch-answer: use ISO specified configurations

2024-04-16 Thread Aaron Lauterer
This patch switches the behavior to use the settings that can be specified in the ISO. This means, that it is possible to control how the answer file should be fetched: * auto - as usually, go through the options until one works (partition, http) * included - the answer file is included in the

[pve-devel] [PATCH installer v5 30/36] add proxmox-chroot utility

2024-04-16 Thread Aaron Lauterer
it is meant as a helper utility to prepare an installation for chroot and clean up afterwards It tries to determine the used FS from the previous installation, will do what is necessary to mount/import the root FS to /target. It then will set up all bind mounts. Signed-off-by: Aaron Lauterer

[pve-devel] [PATCH installer v5 14/36] auto-installer: add auto-installer binary

2024-04-16 Thread Aaron Lauterer
It expects the contents of an answer file via stdin. It will then be parsed and the JSON for the low level installer is generated. It then calls the low level installer directly. The output of the installaton progress is kept rather simple for now. If configured in the answer file, commands will

[pve-devel] [PATCH installer v5 28/36] common: add deserializer for FsType

2024-04-16 Thread Aaron Lauterer
Signed-off-by: Aaron Lauterer --- proxmox-installer-common/Cargo.toml | 1 + proxmox-installer-common/src/options.rs | 10 ++--- proxmox-installer-common/src/setup.rs | 30 ++--- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git

[pve-devel] [PATCH installer v5 09/36] auto-installer: add answer file definition

2024-04-16 Thread Aaron Lauterer
Signed-off-by: Aaron Lauterer --- proxmox-auto-installer/Cargo.toml| 1 + proxmox-auto-installer/src/answer.rs | 248 +++ proxmox-auto-installer/src/lib.rs| 1 + 3 files changed, 250 insertions(+) create mode 100644 proxmox-auto-installer/src/answer.rs diff

[pve-devel] [PATCH installer v5 33/36] auto-installer: utils: define ISO specified settings

2024-04-16 Thread Aaron Lauterer
These will be expected on the ISO itself and define the behavior of the automated installation. Signed-off-by: Aaron Lauterer --- proxmox-auto-installer/src/utils.rs | 20 +++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/proxmox-auto-installer/src/utils.rs

[pve-devel] [PATCH installer v5 25/36] control: update build depends for auto installer

2024-04-16 Thread Aaron Lauterer
Signed-off-by: Aaron Lauterer --- debian/control | 10 ++ 1 file changed, 10 insertions(+) diff --git a/debian/control b/debian/control index 3ca208b..1326400 100644 --- a/debian/control +++ b/debian/control @@ -8,10 +8,20 @@ Build-Depends: cargo:native, libgtk3-perl,

[pve-devel] [PATCH installer v5 20/36] common: add Display trait to ProxmoxProduct

2024-04-16 Thread Aaron Lauterer
Signed-off-by: Aaron Lauterer --- proxmox-installer-common/src/setup.rs | 10 ++ 1 file changed, 10 insertions(+) diff --git a/proxmox-installer-common/src/setup.rs b/proxmox-installer-common/src/setup.rs index 8432a2c..25d0e9e 100644 --- a/proxmox-installer-common/src/setup.rs +++

[pve-devel] [PATCH installer v5 18/36] auto-installer: utils: make get_udev_index functions public

2024-04-16 Thread Aaron Lauterer
because we will need to access them directly in the future from a separate binary Signed-off-by: Aaron Lauterer --- proxmox-auto-installer/src/utils.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/proxmox-auto-installer/src/utils.rs

[pve-devel] [PATCH installer v5 12/36] auto-installer: add simple logging

2024-04-16 Thread Aaron Lauterer
Log to stdout and the file the binary needs to set up. This is a first variant. By using the log crate macros we can change that in the future without too much effort. Signed-off-by: Aaron Lauterer --- proxmox-auto-installer/Cargo.toml | 2 ++ proxmox-auto-installer/src/lib.rs | 1 +

[pve-devel] [PATCH installer v5 10/36] auto-installer: add struct to hold udev info

2024-04-16 Thread Aaron Lauterer
Signed-off-by: Aaron Lauterer --- proxmox-auto-installer/src/lib.rs | 1 + proxmox-auto-installer/src/udevinfo.rs | 9 + 2 files changed, 10 insertions(+) create mode 100644 proxmox-auto-installer/src/udevinfo.rs diff --git a/proxmox-auto-installer/src/lib.rs

[pve-devel] [PATCH installer v5 03/36] common: tui: use BTreeMap for predictable ordering

2024-04-16 Thread Aaron Lauterer
necessary for the disk selection and network interfaces maps to have tests with results that can be compared without much additional effort. Signed-off-by: Aaron Lauterer --- proxmox-installer-common/src/setup.rs | 8 proxmox-tui-installer/src/options.rs | 4 ++--

[pve-devel] [PATCH installer v5 02/36] common: make InstallZfsOption members public

2024-04-16 Thread Aaron Lauterer
as they will be used directly by the auto installer Signed-off-by: Aaron Lauterer --- proxmox-installer-common/src/setup.rs | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/proxmox-installer-common/src/setup.rs b/proxmox-installer-common/src/setup.rs index

[pve-devel] [PATCH installer v5 04/36] common: utils: add deserializer for CidrAddress

2024-04-16 Thread Aaron Lauterer
so it can be deserialized from a string Signed-off-by: Aaron Lauterer --- proxmox-installer-common/src/utils.rs | 11 +++ 1 file changed, 11 insertions(+) diff --git a/proxmox-installer-common/src/utils.rs b/proxmox-installer-common/src/utils.rs index 36b1d53..f6521eb 100644 ---

[pve-devel] [PATCH installer v5 36/36] autoinst-helper: add prepare-iso subcommand

2024-04-16 Thread Aaron Lauterer
This new subcommand makes it possible to prepare an ISO to use it for an automated installation. It is possible to control the behavior of the resulting automated ISO with optional parameters. If no target file is specified, the new ISO will be named with suffixes to indicate it as automated and

[pve-devel] [PATCH installer v5 26/36] auto installer: factor out fetch-answer and autoinst-helper

2024-04-16 Thread Aaron Lauterer
Putting proxmox-fetch-answer into it's own crate, will keep the use of OpenSSL localized to where we need it. Otherwise building other binaries will always depend on OpenSSL as well, even without actually needing it. Having a dedicated crate for the proxmox-autoinst-helper should make it easier

[pve-devel] [PATCH installer v5 11/36] auto-installer: add utils

2024-04-16 Thread Aaron Lauterer
contains several utility structs and functions. For example: a simple pattern matcher that matches wildcards at the beginning or end of the filter. It currently uses a dedicated function (parse_answer) to generate the InstallConfig struct instead of a From implementation. This is because for now

[pve-devel] [PATCH installer v5 24/36] auto-installer: fetch: add http plugin to fetch answer

2024-04-16 Thread Aaron Lauterer
This plugin will send a HTTP POST request with identifying sysinfo to fetch an answer file. The provided sysinfo can be used to identify the system and generate a matching answer file on demand. The URL to send the request to, can be defined in two ways. Via a custom DHCP option or a TXT record

[pve-devel] [PATCH installer v5 00/36] add automated/unattended installation

2024-04-16 Thread Aaron Lauterer
patches until 31 got a [0,1] Tested-by: Christoph Heiss Reviewed-by: Christoph Heiss changes since v4: Patches 32-36 finalize how to prepare an ISO for automated installation and introduce a slight change in behavior, as it is now also possible to include the needed parameters into the ISO

[pve-devel] [PATCH installer v5 15/36] auto-installer: add fetch answer binary

2024-04-16 Thread Aaron Lauterer
it is supposed to be run first and fetch an answer file. The initial implementation searches for a partition/filesystem called 'proxmoxinst' or 'PROXMOXINST' with an 'answer.toml' file in the root directory. Once it has an answer file, it will call the 'proxmox-auto-installer' and pipe in the

[pve-devel] [PATCH installer v5 22/36] auto-installer: helper: add subcommand to view indentifiers

2024-04-16 Thread Aaron Lauterer
It will collect the information from the current system and show the payload of identifiers that will be send. To avoid confusion, the subcommands for the device info and filter matching have been renamed. Signed-off-by: Aaron Lauterer --- .../src/bin/proxmox-autoinst-helper.rs| 54

[pve-devel] [PATCH installer v5 31/36] auto-installer: answer: deny unknown fields

2024-04-16 Thread Aaron Lauterer
This way, serde will throw errors if fields are not known. This can help to reduce frustration if one might think to have set an option, but for example a small type has happened. Signed-off-by: Aaron Lauterer --- proxmox-auto-installer/src/answer.rs | 16 +++- 1 file changed, 11

[pve-devel] [PATCH installer v5 35/36] fetch-answer: dpcp: improve logging of steps taken

2024-04-16 Thread Aaron Lauterer
Signed-off-by: Aaron Lauterer --- proxmox-fetch-answer/src/fetch_plugins/http.rs | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/proxmox-fetch-answer/src/fetch_plugins/http.rs b/proxmox-fetch-answer/src/fetch_plugins/http.rs index b5550fe..0d66b9e 100644 ---

[pve-devel] [PATCH installer v5 29/36] common: skip target_hd when deserializing InstallConfig

2024-04-16 Thread Aaron Lauterer
as only the 'path' property is serialized -> deserialization is problematic. The information would be present in the 'run-env-info-json', but for now there is no need for it in any code that deserializes the low-level config. Therefore we are currently skipping it on deserialization If we need it

[pve-devel] [PATCH installer v5 17/36] auto-installer: use glob crate for pattern matching

2024-04-16 Thread Aaron Lauterer
Signed-off-by: Aaron Lauterer --- proxmox-auto-installer/Cargo.toml | 1 + proxmox-auto-installer/src/utils.rs | 46 +++-- 2 files changed, 18 insertions(+), 29 deletions(-) diff --git a/proxmox-auto-installer/Cargo.toml b/proxmox-auto-installer/Cargo.toml index

[pve-devel] [PATCH installer v5 27/36] low-level: write low level config to /tmp

2024-04-16 Thread Aaron Lauterer
This helps to know how the system was set up in steps after the installation. For example in debug mode or when using post commands in the automatic/unattended installation. Signed-off-by: Aaron Lauterer --- proxmox-low-level-installer | 1 + 1 file changed, 1 insertion(+) diff --git

[pve-devel] [PATCH installer v5 16/36] unconfigured: add proxauto as option to start auto installer

2024-04-16 Thread Aaron Lauterer
Signed-off-by: Aaron Lauterer --- unconfigured.sh | 8 1 file changed, 8 insertions(+) diff --git a/unconfigured.sh b/unconfigured.sh index 2b371f0..f02336a 100755 --- a/unconfigured.sh +++ b/unconfigured.sh @@ -5,6 +5,7 @@ trap "err_reboot" ERR # NOTE: we nowadays get exec'd by the

[pve-devel] [PATCH installer v5 06/36] low-level: add dump-udev command

2024-04-16 Thread Aaron Lauterer
Fetches UDEV device properties prepended with 'E:' for NICs and disks. The result is stored in its own JSON file. This information is needed to filter for specific devices. Mainly for the auto-installer for now. Signed-off-by: Aaron Lauterer --- Proxmox/Makefile| 1 +

[pve-devel] [PATCH installer v5 07/36] add auto-installer crate

2024-04-16 Thread Aaron Lauterer
Signed-off-by: Aaron Lauterer --- Cargo.toml| 1 + Makefile | 1 + proxmox-auto-installer/Cargo.toml | 10 ++ proxmox-auto-installer/src/lib.rs | 0 4 files changed, 12 insertions(+) create mode 100644 proxmox-auto-installer/Cargo.toml

[pve-devel] [PATCH installer v5 08/36] auto-installer: add dependencies

2024-04-16 Thread Aaron Lauterer
Signed-off-by: Aaron Lauterer --- proxmox-auto-installer/Cargo.toml | 4 1 file changed, 4 insertions(+) diff --git a/proxmox-auto-installer/Cargo.toml b/proxmox-auto-installer/Cargo.toml index 75cfb2c..67218dd 100644 --- a/proxmox-auto-installer/Cargo.toml +++

[pve-devel] [PATCH installer v5 01/36] tui: common: move InstallConfig struct to common crate

2024-04-16 Thread Aaron Lauterer
It describes the data structure expected by the low-level-installer. We do this so we can use it in more than the TUI installer, for example the planned auto installer. Make the members public so we can easily implement a custom From method for each dependent crate. Signed-off-by: Aaron Lauterer

[pve-devel] [PATCH installer v5 05/36] common: options: add Deserialize trait

2024-04-16 Thread Aaron Lauterer
For the Enums that will be used to deserialize an answer file. Signed-off-by: Aaron Lauterer --- proxmox-installer-common/src/options.rs | 13 + 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/proxmox-installer-common/src/options.rs

[pve-devel] applied: [PATCH flutter-repositories] some improvements/fixes for the app

2024-04-16 Thread Thomas Lamprecht
Am 15/04/2024 um 12:30 schrieb Dominik Csapak: > some improvements: > * better error handling for saving the password > * adding node power actions (shutdown/restart) > * change webview so we can show it without a trusted certificate > * improve back button behavior > > flutter-frontend patch 1

Re: [pve-devel] [PATCH pve-flutter-frontend 4/5] nove overview: add power settings menu

2024-04-16 Thread Thomas Lamprecht
Am 15/04/2024 um 12:30 schrieb Dominik Csapak: > similar to how it works for qemu the one for virtual guests is already borderline dangerous without having a confirmation prompt, but this one here is far from being borderline here IMO, as for guests one can at least start them for sure again

[pve-devel] applied: [PATCH proxmox-login-manager 1/2] login: show custom alert dialog for password saving errors

2024-04-16 Thread Thomas Lamprecht
Am 15/04/2024 um 12:30 schrieb Dominik Csapak: > in those cases, we sometimes get ugly stack traces/exceptions, so > instead of just showing that and aborting, show a custom dialog with > the basic info that we could not save the password (+details box with > the original error) and continue

[pve-devel] applied: [PATCH proxmox-dart-api-client 1/1] client: correctly set parameter for node actions

2024-04-16 Thread Thomas Lamprecht
Am 15/04/2024 um 12:30 schrieb Dominik Csapak: > using '?' in the url will be escaped and not used for the get > parameters. Instead add the command to the parameters map. > > Signed-off-by: Dominik Csapak > --- > lib/src/client.dart | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) >

[pve-devel] applied: [PATCH v2 proxmox-ve] apt hook: disable on remove

2024-04-16 Thread Thomas Lamprecht
Am 16/04/2024 um 14:32 schrieb Fabian Grünbichler: > and (re-)enable on install. adapted from apt-listbugs/apt-listchanges, which > solve the issue of removing (instead of purging) the conffile and hook binary > providing package in the same fashion. > > Suggested-by: Fiona Ebner >

Re: [pve-devel] [PATCH storage 1/9] copy OVF.pm from qemu-server

2024-04-16 Thread Thomas Lamprecht
Am 16/04/2024 um 15:18 schrieb Dominik Csapak: > copies the OVF.pm and relevant ovf tests from qemu-server. > We need it here, and it uses PVE::Storage already, and since there is no > intermediary package/repository we could put it, it seems fitting in > here. > > Signed-off-by: Dominik Csapak

[pve-devel] applied: [PATCH pve-flutter-frontend 0/9] small improvements

2024-04-16 Thread Thomas Lamprecht
Am 12/04/2024 um 10:04 schrieb Dominik Csapak: > a series of smaller improvements, noticed by rechecking the app > after updating to new dart/flutter version. > > not all of them have to be applied, most are rather independent. > e.g. use of the NavigationBar, and the icon of the warning task

Re: [pve-devel] [PATCH v4 manager 2/2] ui: lxc: add edit window for device passthrough

2024-04-16 Thread Fiona Ebner
Am 16.04.24 um 14:10 schrieb Filip Schauer: > + > +cbind: { > + confid: '{confid}', > + isCreate: get => !get('confid'), > +}, Can't the above be removed while... > + > +items: [ > + { > + xtype: 'proxmoxintegerfield', > + name: 'devid', > +

[pve-devel] [PATCH qemu-server 2/3] use OVF from Storage

2024-04-16 Thread Dominik Csapak
and delete it here (incl tests; they live in pve-storage now). Signed-off-by: Dominik Csapak --- PVE/CLI/qm.pm | 4 +- PVE/QemuServer/Makefile | 1 - PVE/QemuServer/OVF.pm | 242 -- test/Makefile

[pve-devel] [PATCH manager 3/4] ui: enable import content type for relevant storages

2024-04-16 Thread Dominik Csapak
Signed-off-by: Dominik Csapak --- www/manager6/Utils.js| 1 + www/manager6/form/ContentTypeSelector.js | 2 +- www/manager6/storage/CephFSEdit.js | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js index

[pve-devel] [PATCH qemu-server 1/3] api: delete unused OVF.pm

2024-04-16 Thread Dominik Csapak
the api part was never in use by anything Signed-off-by: Dominik Csapak --- PVE/API2/Qemu/Makefile | 2 +- PVE/API2/Qemu/OVF.pm | 53 -- 2 files changed, 1 insertion(+), 54 deletions(-) delete mode 100644 PVE/API2/Qemu/OVF.pm diff --git

[pve-devel] [PATCH storage 9/9] plugin: enable import for nfs/btfs/cifs/cephfs

2024-04-16 Thread Dominik Csapak
and reuse the DirPlugin implementation Signed-off-by: Dominik Csapak --- src/PVE/Storage/BTRFSPlugin.pm | 5 + src/PVE/Storage/CIFSPlugin.pm | 6 +- src/PVE/Storage/CephFSPlugin.pm | 6 +- src/PVE/Storage/NFSPlugin.pm| 6 +- 4 files changed, 20 insertions(+), 3

[pve-devel] [PATCH qemu-server 3/3] api: create: implement extracting disks when needed for import-from

2024-04-16 Thread Dominik Csapak
when 'import-from' contains a disk image that needs extraction (currently only from an 'ova' archive), do that in 'create_disks' and overwrite the '$source' volid. Collect the names into a 'delete_sources' list, that we use later to clean it up again (either when we're finished with importing or

[pve-devel] [PATCH storage 8/9] api: allow ova upload/download

2024-04-16 Thread Dominik Csapak
introducing a seperate regex that only contains ova, since upload/downloading ovfs does not make sense (since the disks are then missing). Signed-off-by: Dominik Csapak --- src/PVE/API2/Storage/Status.pm | 14 -- src/PVE/Storage.pm | 11 +++ 2 files changed, 23

[pve-devel] [PATCH storage 5/9] ovf: implement parsing out firmware type

2024-04-16 Thread Dominik Csapak
it seems there is no part of the ovf standard that handles which type of bios there is (at least i could not find it). Every ovf/ova i tested either has no info about it, or has it in a vmware specific property which we pare here. Signed-off-by: Dominik Csapak --- src/PVE/Storage/DirPlugin.pm

[pve-devel] [PATCH storage 7/9] ovf: implement parsing nics

2024-04-16 Thread Dominik Csapak
by iterating over the relevant parts and trying to parse out the 'ResourceSubType'. The content of that is not standardized, but I only ever found examples that are compatible with vmware, meaning it's either 'e1000', 'e1000e' or 'vmxnet3' (in various capitalizations; thus the `lc()`) As a

[pve-devel] [PATCH storage/qemu-server/pve-manager] implement ova/ovf import for directory type storages

2024-04-16 Thread Dominik Csapak
This series enables importing ova/ovf from directory based storages, inclusive upload/download via the webui (ova only). It also improves the ovf importer by parsing the ostype, nics, bootorder (and firmware from vmware exported files). I currently opted to move the OVF.pm to pve-storage, since

[pve-devel] [PATCH manager 4/4] ui: enable upload/download buttons for 'import' type storages

2024-04-16 Thread Dominik Csapak
but only for non esxi ones, since that does not allow uploading/downloading there Signed-off-by: Dominik Csapak --- www/manager6/storage/Browser.js| 7 ++- www/manager6/window/UploadToStorage.js | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git

[pve-devel] [PATCH manager 2/4] ui: guest import: add ova-needs-extracting warning text

2024-04-16 Thread Dominik Csapak
Signed-off-by: Dominik Csapak --- www/manager6/window/GuestImport.js | 1 + 1 file changed, 1 insertion(+) diff --git a/www/manager6/window/GuestImport.js b/www/manager6/window/GuestImport.js index 944d275b..ad28b616 100644 --- a/www/manager6/window/GuestImport.js +++

[pve-devel] [PATCH storage 1/9] copy OVF.pm from qemu-server

2024-04-16 Thread Dominik Csapak
copies the OVF.pm and relevant ovf tests from qemu-server. We need it here, and it uses PVE::Storage already, and since there is no intermediary package/repository we could put it, it seems fitting in here. Signed-off-by: Dominik Csapak --- src/PVE/Storage/Makefile | 1 +

[pve-devel] [PATCH manager 1/4] ui: fix special 'import' icon for non-esxi storages

2024-04-16 Thread Dominik Csapak
we only want to show that icon in the tree when the storage is solely used for importing, not when it's just one of several content types. Signed-off-by: Dominik Csapak --- www/manager6/Utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/manager6/Utils.js

[pve-devel] [PATCH storage 2/9] plugin: dir: implement import content type

2024-04-16 Thread Dominik Csapak
in DirPlugin and not Plugin (because of cyclic dependency of Plugin -> OVF -> Storage -> Plugin otherwise) only ovf is currently supported (though ova will be shown in import listing), expects the files to not be in a subdir, and adjacent to the ovf file. Signed-off-by: Dominik Csapak ---

[pve-devel] [PATCH storage 4/9] ovf: implement parsing the ostype

2024-04-16 Thread Dominik Csapak
use the standards info about the ostypes to map to our own (see comment for link to the relevant part of the dmtf schema) every type that is not listed we map to 'other', so no need to have it in a list. Signed-off-by: Dominik Csapak --- src/PVE/Storage/OVF.pm| 69

[pve-devel] [PATCH storage 3/9] plugin: dir: handle ova files for import

2024-04-16 Thread Dominik Csapak
since we want to handle ova files (which are only ovf+vmdks bundled in a tar file) for import, add code that handles that. we introduce a valid volname for files contained in ovas like this: storage:import/archive.ova/disk-1.vmdk by basically treating the last part of the path as the name for

[pve-devel] [PATCH storage 6/9] ovf: implement rudimentary boot order

2024-04-16 Thread Dominik Csapak
simply add all parsed disks to the boot order in the order we encounter them (similar to the esxi plugin). Signed-off-by: Dominik Csapak --- src/PVE/Storage/OVF.pm| 6 ++ src/test/run_ovf_tests.pl | 3 +++ 2 files changed, 9 insertions(+) diff --git a/src/PVE/Storage/OVF.pm

Re: [pve-devel] [PATCH v2 storage] fix insecure migration failing if waiting on lock

2024-04-16 Thread Fiona Ebner
Am 16.04.24 um 13:45 schrieb Mira Limbeck: > + my $handle_insecure_migration = sub { > + my $line = shift; > + > + if (!$ip) { > + ($ip) = $line =~ /^($PVE::Tools::IPRE)$/ # untaint > + or die "no tunnel IP received, got

[pve-devel] [PATCH v2 proxmox-ve] apt hook: disable on remove

2024-04-16 Thread Fabian Grünbichler
and (re-)enable on install. adapted from apt-listbugs/apt-listchanges, which solve the issue of removing (instead of purging) the conffile and hook binary providing package in the same fashion. Suggested-by: Fiona Ebner Signed-off-by: Fabian Grünbichler Reviewed-by: Fiona Ebner --- v2: - add

[pve-devel] applied: [PATCH v2 firewall] fix #5335: stable sorting in cluster.fw

2024-04-16 Thread Fabian Grünbichler
applied this one as well, thanks! ___ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

[pve-devel] applied: [PATCH v2 access-control] fix #5335: stable sorting in user.cfg

2024-04-16 Thread Fabian Grünbichler
with T-B added, thanks! PVE::AccessControl would benefit from a code style cleanup in general, it's one of the more older modules with lots of "old style" code around.. On April 16, 2024 12:53 pm, Folke Gleumes wrote: > Hi, > > thanks for your contribution! > > Looks fine to me. The saving

[pve-devel] [PATCH v2 qemu-server 6/6] rollback: handle pool limits

2024-04-16 Thread Fabian Grünbichler
by checking the snapshot conf values as if the VM was newly created. Signed-off-by: Fabian Grünbichler --- PVE/API2/Qemu.pm | 8 1 file changed, 8 insertions(+) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index adbc6557..eca0ab79 100644 --- a/PVE/API2/Qemu.pm +++

[pve-devel] [PATCH v2 qemu-server 4/6] update/hotplug: handle pool limits

2024-04-16 Thread Fabian Grünbichler
if the new value is higher than the old one, check against limits. if the old one is higher, then the change is always okay, to support reducing the usage in steps spread over multiple guests.. Signed-off-by: Fabian Grünbichler --- PVE/API2/Qemu.pm | 22 ++

[pve-devel] [PATCH v2 qemu-server 3/6] create/restore/clone: handle pool limits

2024-04-16 Thread Fabian Grünbichler
as early as possible, to avoid having to undo expensive work or allowing a window for limit exhaustion.. Signed-off-by: Fabian Grünbichler --- PVE/API2/Qemu.pm | 24 1 file changed, 24 insertions(+) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index

[pve-devel] [PATCH v2 qemu-server 1/6] config: add pool usage helper

2024-04-16 Thread Fabian Grünbichler
determining the usage values for the current config. pending values are taken into account if they are higher than the current value only, else it would be possible to easily circumvent config limits by setting non-hotpluggable pending values. Signed-off-by: Fabian Grünbichler ---

[pve-devel] [PATCH v2 manager 1/4] api: pools: add limits management

2024-04-16 Thread Fabian Grünbichler
allow to set/update limits, and return them when querying individual pools. Signed-off-by: Fabian Grünbichler --- Notes: requires bumped pve-access-control v2: - unify run vs config limit checks into helper - avoid hard-coding resource kinds PVE/API2/Pool.pm | 50

[pve-devel] [PATCH v2 container 6/7] rollback: handle pool limits

2024-04-16 Thread Fabian Grünbichler
by checking the snapshot conf values as if the CT was newly created. Signed-off-by: Fabian Grünbichler --- src/PVE/API2/LXC/Snapshot.pm | 7 +++ 1 file changed, 7 insertions(+) diff --git a/src/PVE/API2/LXC/Snapshot.pm b/src/PVE/API2/LXC/Snapshot.pm index 0999fbc..37a02a6 100644 ---

[pve-devel] [PATCH v2 container 2/7] status: add pool usage fields

2024-04-16 Thread Fabian Grünbichler
these are similar to existing ones, but with slightly different semantics. Signed-off-by: Fabian Grünbichler --- src/PVE/LXC.pm | 29 + 1 file changed, 29 insertions(+) diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm index e688ea6..9b03a97 100644 --- a/src/PVE/LXC.pm

[pve-devel] [PATCH v2 access-control 1/1] pools: define resource limits

2024-04-16 Thread Fabian Grünbichler
and handle them when parsing/writing user.cfg Signed-off-by: Fabian Grünbichler --- Notes: - make limit schema public for pve-guest-common usage src/PVE/AccessControl.pm | 42 +-- src/test/parser_writer.pl | 14 ++--- 2 files changed, 47

[pve-devel] [PATCH v2 qemu-server 5/6] start: handle pool limits

2024-04-16 Thread Fabian Grünbichler
if the start is not part of an incoming migration, check the VM against its pool's run limit. Signed-off-by: Fabian Grünbichler --- PVE/QemuServer.pm | 13 + 1 file changed, 13 insertions(+) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index be937ec1..78b6ff96 100644 ---

[pve-devel] [PATCH v2 qemu-server 2/6] vmstatus: add usage values for pool limits

2024-04-16 Thread Fabian Grünbichler
these are separate from the existing ones to allow changes on either end without side-effects, since the semantics are not quite the same. the conf values incorporate pending values (if higher than the current config value), and avoid clamping. the run values are currently identical to the

[pve-devel] [PATCH v2 manager 4/4] ui: add pool limits and usage

2024-04-16 Thread Fabian Grünbichler
Signed-off-by: Fabian Grünbichler --- Notes: this is very "bare", obviously we'd want - a nicer grid/.. display of usage - a way to edit the limits I am not yet sure how to integrate this nicely, and wanted to get feedback on the rest first. v2: - fold in

[pve-devel] [PATCH v2 manager 3/4] api: return pool usage when queried

2024-04-16 Thread Fabian Grünbichler
Signed-off-by: Fabian Grünbichler --- PVE/API2/Pool.pm | 19 +-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/PVE/API2/Pool.pm b/PVE/API2/Pool.pm index 031f0160f..2d83ccc67 100644 --- a/PVE/API2/Pool.pm +++ b/PVE/API2/Pool.pm @@ -6,6 +6,7 @@ use warnings; use

[pve-devel] [PATCH v2 manager 2/4] pvestatd: collect and broadcast pool usage

2024-04-16 Thread Fabian Grünbichler
so that other nodes can query it and both block changes that would violate the limits, and mark pools which are violating it currently accordingly. Signed-off-by: Fabian Grünbichler --- PVE/Service/pvestatd.pm | 59 ++--- 1 file changed, 55 insertions(+), 4

[pve-devel] [PATCH v2 guest-common 1/1] helpers: add pool limit/usage helpers

2024-04-16 Thread Fabian Grünbichler
one for combining the per-node broadcasted values, one for checking a pool's limit, and one specific helper for checking guest-related actions such as starting a VM. Signed-off-by: Fabian Grünbichler --- Notes: v2: - style - introduce new helper for mapping limit key to usage hash

[pve-devel] [PATCH v2 container 7/7] update: handle pool limits

2024-04-16 Thread Fabian Grünbichler
Signed-off-by: Fabian Grünbichler --- Notes: v2: - don't multiply mem+swap, but add them up (thanks Dominik) src/PVE/API2/LXC/Config.pm | 21 + 1 file changed, 21 insertions(+) diff --git a/src/PVE/API2/LXC/Config.pm b/src/PVE/API2/LXC/Config.pm index

[pve-devel] [PATCH v2 container 5/7] hotplug: handle pool limits

2024-04-16 Thread Fabian Grünbichler
by checking the new values against the running limits. Signed-off-by: Fabian Grünbichler --- src/PVE/LXC/Config.pm | 13 + 1 file changed, 13 insertions(+) diff --git a/src/PVE/LXC/Config.pm b/src/PVE/LXC/Config.pm index a6baccd..248100e 100644 --- a/src/PVE/LXC/Config.pm +++

[pve-devel] [PATCH v2 container 4/7] start: handle pool limits

2024-04-16 Thread Fabian Grünbichler
Signed-off-by: Fabian Grünbichler --- src/PVE/LXC.pm | 8 1 file changed, 8 insertions(+) diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm index 9b03a97..1856b6a 100644 --- a/src/PVE/LXC.pm +++ b/src/PVE/LXC.pm @@ -2577,6 +2577,14 @@ sub vm_start { update_lxc_config($vmid, $conf);

[pve-devel] [PATCH v2 container 3/7] create/restore/clone: handle pool limits

2024-04-16 Thread Fabian Grünbichler
early if possible, to avoid big cleanups cause of limit exhaustion. Signed-off-by: Fabian Grünbichler --- src/PVE/API2/LXC.pm | 25 + 1 file changed, 25 insertions(+) diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm index fd42ccf..80bac3d 100644 ---

[pve-devel] [PATCH v2 container 1/7] config: add pool usage helper

2024-04-16 Thread Fabian Grünbichler
to avoid repeating those calculations all over the place. Signed-off-by: Fabian Grünbichler --- src/PVE/LXC/Config.pm | 35 +++ 1 file changed, 35 insertions(+) diff --git a/src/PVE/LXC/Config.pm b/src/PVE/LXC/Config.pm index 1664a35..a6baccd 100644 ---

[pve-devel] [PATCH v2 qemu-server/pve-container 0/19] pool resource limits

2024-04-16 Thread Fabian Grünbichler
high level description: VM/CT vmstatus returns new fields for configured and running "usage" values, these are then broadcasted by pvestatd on each node via KV. helpers in guest-common to check those limits pool API returns limits and usage, them and allows setting the limits

Re: [pve-devel] [PATCH-SERIES v3 manager/docs] close #4513: add performance tab for backup jobs

2024-04-16 Thread Fiona Ebner
Am 16.04.24 um 12:16 schrieb Thomas Lamprecht: > Am 25/03/2024 um 15:09 schrieb Fiona Ebner: >> Am 07.11.23 um 14:49 schrieb Fiona Ebner: >>> Improve fallback for the 'performance' sub-properties by using a >>> per-property fallback and honor schema defaults. >>> >>> Expose commonly used

Re: [pve-devel] [PATCH v3 manager 0/2] add edit window for device passthrough

2024-04-16 Thread Filip Schauer
Superseded by: https://lists.proxmox.com/pipermail/pve-devel/2024-April/063002.html On 31/01/2024 16:03, Filip Schauer wrote: Changes since v2: * Clarify naming of mount point and device passthrough related utils * Remove unnecessary cbind * Make the device index selectible * Add default values

[pve-devel] [PATCH v4 manager 2/2] ui: lxc: add edit window for device passthrough

2024-04-16 Thread Filip Schauer
Signed-off-by: Filip Schauer --- www/manager6/Makefile | 1 + www/manager6/Utils.js | 11 ++ www/manager6/lxc/DeviceEdit.js | 180 + www/manager6/lxc/Resources.js | 31 +- 4 files changed, 222 insertions(+), 1 deletion(-) create mode

[pve-devel] [PATCH v4 manager 3/5] close #4513: ui: backup job: add tab for advanced options

2024-04-16 Thread Fiona Ebner
pigz is not exposed, because it only works after manually installing the pigz package. ionice is not exposed, because it only works in combination with the BFQ scheduler and even then not in all cases (only affects the compressor when doing snapshot/suspend mode backup of a VM). The

[pve-devel] [PATCH v4 manager 4/5] ui: backup job: disable zstd thread count field when zstd isn't used

2024-04-16 Thread Fiona Ebner
Also need to check for enable/disable of the compression selector, because with PBS the value zstd is set, but the thread count setting doesn't apply. Suggested-by: Thomas Lamprecht Signed-off-by: Fiona Ebner --- Changes in v4: * adapt to rename backupPerformance -> backupAdvanced

[pve-devel] [PATCH v4 docs 1/2] backup: update information about performance settings

2024-04-16 Thread Fiona Ebner
Signed-off-by: Fiona Ebner --- Changes in v4: * Clarify that options can be found in the advanced tab vzdump.adoc | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/vzdump.adoc b/vzdump.adoc index b5bbac7..fa904cc 100644 --- a/vzdump.adoc +++ b/vzdump.adoc @@

[pve-devel] [PATCH v4 docs 2/2] backup: clarify where repeat-missed option can be found now

2024-04-16 Thread Fiona Ebner
It was moved to the advanced tab by pve-manager commit ui: backup job: move repeat-missed option to advanced tab Signed-off-by: Fiona Ebner --- New in v4. vzdump.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vzdump.adoc b/vzdump.adoc index fa904cc..8c3ebef

[pve-devel] [PATCH v4 manager 1/5] vzdump: actually honor schema defaults for performance

2024-04-16 Thread Fiona Ebner
The 'performance' option itself defines no 'default' in the schema, so what happened is that the defaults used by the backends (i.e. QEMU and proxmox-backup-client) would be used. Luckily, they correspond to the default values defined in the schema, i.e. in the 'backup-performance' format. Make

[pve-devel] [PATCH-SERIES v4 manager/docs] close #4513: add advanced tab for backup jobs and improve performance fallback/default

2024-04-16 Thread Fiona Ebner
Changes in v4 (Thanks to Thomas for feedback!): * rename tab from 'Performance' to 'Advanced' * move repeat-missed setting there too * update docs to clarify that those settings can be found in the advanced tab Changes in v3 (Thanks to Thomas for feedback!): * new patch to

[pve-devel] [PATCH v4 manager 1/2] utils: clarify naming of LXC mount point utils

2024-04-16 Thread Filip Schauer
Clarify the naming of mount point utils to clearly indicate their relation to LXC containers. Signed-off-by: Filip Schauer --- www/manager6/Utils.js| 12 ++-- www/manager6/lxc/MPEdit.js | 4 ++-- www/manager6/lxc/MultiMPEdit.js | 4 ++--

[pve-devel] [PATCH v4 manager 0/2] add edit window for device passthrough

2024-04-16 Thread Filip Schauer
Changes since v3: * Pass confid in via cbind instead of manually setting it in the view model * Check me.isCreate instead of !me.confid for whether to find the next free device slot Changes since v2: * Clarify naming of mount point and device passthrough related utils * Remove unnecessary

  1   2   >