[pve-devel] [RFC PATCH pve-storage/common] fix #3256: allow special characters in storage-related config files

2025-02-14 Thread Laurențiu Leahu-Vlăducu
This patch series fixes bug #3256: 1. It ensures that general config files (e.g. storage.cfg) are decoded from UTF-8 when deserialized. Previously, no decoding happened, meaning that Perl interpreted the string as single bytes instead of Unicode code points. Note: while I would have pref

[pve-devel] [RFC PATCH pve-storage 1/1] fix #3256: Storage: PBS: ensure passwords are saved and loaded as UTF-8

2025-02-14 Thread Laurențiu Leahu-Vlăducu
Previously, no decoding happened, meaning that Perl interpreted the string as single bytes instead of Unicode code points when reading the password. Also, passwords are now explicitly encoded as UTF-8, preventing issues the other way around. For more information, please read: https://perldoc.perl

[pve-devel] [RFC PATCH pve-common 1/2] fix #3256: SectionConfig: ensure UTF-8 encoding for general configs

2025-02-14 Thread Laurențiu Leahu-Vlăducu
Previously, no decoding happened, meaning that Perl interpreted the string as single bytes instead of Unicode code points when reading the config. Note: while I would have preferred to decode the text right after reading from the file, there are some Perl functions like Digest::SHA::sha1_hex that e

[pve-devel] [RFC PATCH pve-common 2/2] SectionConfig: add unit test for UTF-8 configs

2025-02-14 Thread Laurențiu Leahu-Vlăducu
The unit test should prevent the issues explained in bug #3256 from happening in the future. Signed-off-by: Laurențiu Leahu-Vlăducu --- test/section_config_test.pl | 25 + 1 file changed, 25 insertions(+) diff --git a/test/section_config_test.pl b/test/section_config_tes

[pve-devel] [PATCH pve-network 08/11] add api endpoints for fabrics

2025-02-14 Thread Gabriel Goller
Add api endpoints for CRUD of fabrics, nodes, and interfaces. Signed-off-by: Gabriel Goller --- src/PVE/API2/Network/SDN.pm | 7 + src/PVE/API2/Network/SDN/Fabrics.pm | 57 +++ src/PVE/API2/Network/SDN/Fabrics/Common.pm| 111 + src/PVE/API2/Network/SDN/Fabr

[pve-devel] [PATCH pve-network 07/11] merge the frr config with the fabrics frr config on apply

2025-02-14 Thread Gabriel Goller
Get the config directly from the file and convert it to the Perl-Representation (the Frr-Representation), then generate the config with the existing functions. Signed-off-by: Gabriel Goller --- src/PVE/Network/SDN/Controllers.pm| 1 - src/PVE/Network/SDN/Controllers/EvpnPlugin.pm |

[pve-devel] [PATCH pve-manager 10/11] sdn: add fabric edit/delete forms

2025-02-14 Thread Gabriel Goller
Add the add/edit/delete modals for the FabricsView. This allows us to create, edit, and delete fabrics, nodes, and interfaces. Co-authored-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- www/manager6/sdn/fabrics/Common.js| 222 ++ .../sdn/fabrics/openfabric/Fab

[pve-devel] [PATCH proxmox-ve-rs 02/11] add proxmox-frr crate with frr types

2025-02-14 Thread Gabriel Goller
This crate contains types that represent the frr config. For example it contains a `Router` and `Interface` struct. This Frr-Representation can then be converted to the real frr config. Co-authored-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- Cargo.toml| 1 + prox

[pve-devel] [PATCH pve-cluster 05/11] cluster: add sdn fabrics config files

2025-02-14 Thread Gabriel Goller
Add the sdn fabrics config files. These are split into two, as we currently support two fabric types: ospf and openfabric. They hold the whole configuration for the respective protocols. They are read and written by pve-network. Signed-off-by: Gabriel Goller --- src/PVE/Cluster.pm | 2 ++ 1 file

[pve-devel] [PATCH proxmox-perl-rs 04/11] fabrics: add CRUD and generate fabrics methods

2025-02-14 Thread Gabriel Goller
Add CRUD and generate fabrics method for perlmod. These can be called from perl with the raw configuration to edit/read/update/delete the configuration. It also contains functions to generate the frr config from the passed SectionConfig. Signed-off-by: Gabriel Goller --- pve-rs/Cargo.toml

[pve-devel] [PATCH proxmox-ve-rs 03/11] add intermediate fabric representation

2025-02-14 Thread Gabriel Goller
This adds the intermediate, type-checked fabrics config. This one is parsed from the SectionConfig and can be converted into the Frr-Representation. Co-authored-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- proxmox-ve-config/Cargo.toml | 10 +- proxmox-ve-config/debian

[pve-devel] [PATCH pve-manager 09/11] sdn: add Fabrics view

2025-02-14 Thread Gabriel Goller
Add the FabricsView in the sdn category of the datacenter view. The FabricsView allows to show all the fabrics on all the nodes of the cluster. Co-authored-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- PVE/API2/Cluster.pm | 7 +- PVE/API2/Network.pm | 7 +- w

[pve-devel] [PATCH pve-manager 11/11] network: return loopback interface on network endpoint

2025-02-14 Thread Gabriel Goller
The endpoint '/network' returns all the interfaces but for some unknown reason filters out the loopback address. This is not desirable for the sdn fabrics, as we want to be able to add a loopback address to a fabric. Signed-off-by: Gabriel Goller --- PVE/API2/Network.pm | 2 -- 1 file changed, 2

[pve-devel] [PATCH pve-network 06/11] add config file and common read/write methods

2025-02-14 Thread Gabriel Goller
Add the config file for ospf and openfabric and add common read/write functions. We also add the ospf/openfabric config to the `.running-config` – even though we don't ready from it later. Signed-off-by: Gabriel Goller --- src/PVE/Network/SDN.pm | 8 +++- src/PVE/Network/SDN/Fabrics.pm

[pve-devel] [RFC cluster/manager/network/proxmox{-ve-rs, -perl-rs} 00/11] Add SDN Fabrics

2025-02-14 Thread Gabriel Goller
This series allows the user to add fabrics such as OpenFabric and OSPF over their clusters. Note that this is a very early RFC and its sole purpose is to get some initial feedback and architectural suggestions. Overview Add a new section to the sdn panel in the datacenter options which a

[pve-devel] [PATCH proxmox-ve-rs 01/11] add crate with common network types

2025-02-14 Thread Gabriel Goller
The new proxmox-network-types crate holds some common types that are used by proxmox-frr, proxmox-ve-config and proxmox-perl-rs. These types are here because we don't want proxmox-frr to be a dependency of proxmox-ve-config or vice-versa (or at least it should be feature-gated). They should be inde

Re: [pve-devel] StorPool storage plugin concerns

2025-02-14 Thread Fabian Grünbichler
> Ivaylo Markov hat am 13.02.2025 16:21 CET > geschrieben: > > On 04/02/2025 16:46, Fabian Grünbichler wrote: > > > > Ivaylo Markov via pve-devel hat am > > > 04.02.2025 13:44 CET geschrieben: > > > Greetings, > > > > > > I was pointed here to discuss the StorPool storage plugin[0] with the

Re: [pve-devel] [PATCH storage v6 1/7] plugin: allow volume import of iso, snippets, vztmpl and import

2025-02-14 Thread Fiona Ebner
Am 13.02.25 um 18:21 schrieb Fiona Ebner: > Am 20.01.25 um 12:28 schrieb Filip Schauer: >> Extend volume import functionality to support 'iso', 'snippets', >> 'vztmpl', and 'import' types, in addition to the existing support for >> 'images' and 'rootdir'. This is a prerequisite for the ability t