[pve-devel] [PATCH frr] add patch to change the starting order of mgmtd and zebra

2025-07-16 Thread Hannes Duerr
Currently the management daemon (mgmtd) starts only after Zebra is started, which causes Zebra to throw some errors as described here [0]. Therefore we add a patch to change the starting order of the daemons. Signed-off-by: Hannes Duerr --- Notes: This patch was also send to upstream [0] and

[pve-devel] [PATCH manager] pve8to9: add check for to-be-dropped QEMU machine versions

2025-07-16 Thread Fiona Ebner
Signed-off-by: Fiona Ebner --- PVE/CLI/pve8to9.pm | 132 + 1 file changed, 132 insertions(+) diff --git a/PVE/CLI/pve8to9.pm b/PVE/CLI/pve8to9.pm index 91b50cd9..eb6d67e5 100644 --- a/PVE/CLI/pve8to9.pm +++ b/PVE/CLI/pve8to9.pm @@ -26,6 +26,7 @@ use PV

Re: [pve-devel] [PATCH manager v3 2/2] ui: backup job details: show notification-mode instead of legacy keys

2025-07-16 Thread Lukas Wagner
On 2025-07-15 21:59, Thomas Lamprecht wrote: > Am 14.07.25 um 10:42 schrieb Lukas Wagner: >> On 2025-07-14 10:30, Gabriel Goller wrote: > >>> Make we should change the Makefile to run `proxmox-biome check`? >> >> Maybe, but I think a separate make target could make more sense than >> including

[pve-devel] [PATCH proxmox stable-bookworm] fix #6188: notify: smtp: quote sender's display name if needed

2025-07-16 Thread Lukas Wagner
RFC5322 requires to quote the display name if certain special characters are used (see diff). (backported from commit 7262fae25c7cd25df9443158e3542ad58e7c0ebe on master) Signed-off-by: Lukas Wagner --- proxmox-notify/src/endpoints/smtp.rs | 55 +++- 1 file changed, 54 in

[pve-devel] [PATCH installer 1/1] remove network and broadcast address checks

2025-07-16 Thread Michael Köppl
To avoid artificially limiting what users can do, remove the checks that ascertain if a supplied address is a network or broadcast address. RFC1812 [0] does not explicitly forbid this, nor does RFC3021. [0] https://www.rfc-editor.org/rfc/rfc1812 [1] https://www.rfc-editor.org/rfc/rfc3021 Signed-o

[pve-devel] applied: [PATCH proxmox stable-bookworm] fix #6188: notify: smtp: quote sender's display name if needed

2025-07-16 Thread Thomas Lamprecht
On Wed, 16 Jul 2025 11:13:26 +0200, Lukas Wagner wrote: > RFC5322 requires to quote the display name if certain special characters > are used (see diff). > > (backported from commit 7262fae25c7cd25df9443158e3542ad58e7c0ebe on > master) > > > [...] Applied, thanks! [1/1] fix #6188: notify: smtp

[pve-devel] [PATCH pve-storage] RBDPlugin: add missing check for external ceph cluster

2025-07-16 Thread Hannes Duerr
In this commit [0] the ceph config creation was packed into a new function and checked whether the installation is an external Ceph cluster or not. However, a check was forgotten in the RBDPlugin which we are now adding. Without this check a configuration in /etc/pve/priv/ceph/.conf is created and

Re: [pve-devel] applied: [PATCH proxmox-backup-qemu 1/1] restore: make chunk loading more parallel

2025-07-16 Thread Adam Kalisz via pve-devel
--- Begin Message --- Hi Thomas, would you please consider applying it also to the bookworm branch? Thank you Adam On Tue, 2025-07-15 at 21:18 +0200, Thomas Lamprecht wrote: > On Mon, 14 Jul 2025 10:34:38 +0200, Dominik Csapak wrote: > > by using async futures to load chunks and stream::buffer_u

Re: [pve-devel] [PATCH container v2 1/3] setup: remove deprecated dsa from ssh host key generation

2025-07-16 Thread Lukas Wagner
On 2025-07-16 13:36, Lukas Wagner wrote: > > > On 2025-07-04 20:23, Daniel Kral wrote: >> OpenSSH 10.0 removes support for the DSA signature algorithm [0], which >> is the base version that will be shipped for Debian 13 trixie. Since it >> has been marked deprecated for some time and generating

[pve-devel] [PATCH manager stable-8+master] pve8to9: add check and script to ensure that 'keyring' option for external RBD storages is set

2025-07-16 Thread Fiona Ebner
With the switch from QEMU's -drive to -blockdev, it is not possible anymore to pass along the Ceph 'keyring' option via the QEMU commandline anymore, as was previously done for externally managed RBD storages. For such storages, it is now necessary that the 'keyring' option is correctly configured

[pve-devel] [PATCH pve-storage v2] RBDPlugin: add missing check for external ceph cluster

2025-07-16 Thread Hannes Duerr
In 7684225 ("ceph/rbd: set 'keyring' in ceph configuration for externally managed RBD storages") the ceph config creation was packed into a new function and checked whether the installation is an external Ceph cluster or not. However, a check was forgotten in the RBDPlugin which is now added. With

[pve-devel] [PATCH proxmox v5 4/4] network-types: add CIDR overlap detection for IPv4 and IPv6

2025-07-16 Thread Gabriel Goller
Implement overlaps() method for Ipv4Cidr and Ipv6Cidr to detect when address ranges overlap. This is important for preventing network conflicts when configuring SDN fabrics. The implementation is quite simple: normalize the address using bitwise operations, then compare the prefix. Also add a few

[pve-devel] [PATCH proxmox-ve-rs v5 05/22] frr: add openfabric types

2025-07-16 Thread Gabriel Goller
Implement OpenFabric-specific variants of common enums that encapsulate protocol properties defined in proxmox-network-types. The primary addition is OpenFabricInterface, which stores protocol-specific timing parameters: HelloInterval (neighbor discovery frequency), CsnpInterval (database synchroni

[pve-devel] [PATCH proxmox-ve-rs v5 08/22] frr: add generic types over openfabric and ospf

2025-07-16 Thread Gabriel Goller
Add generic FRR types that contain openfabric and ospf variants. Also add the FrrConfig, which holds the whole FRR configuration in a single struct, which will then be serialized to the FRR configuration file. Signed-off-by: Gabriel Goller --- proxmox-frr/src/lib.rs | 94

[pve-devel] [PATCH proxmox-firewall v5 1/1] firewall: nftables: migrate to proxmox-network-types

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich The fabrics patch series moved some generic network types into its own crate, so they can be reused across crates. Migrate proxmox-firewall to use the new proxmox-network-types crate instead of proxmox_ve_config. No functional changes intended. Signed-off-by: Stefan Hanreic

[pve-devel] [PATCH proxmox-ve-rs v5 02/22] sdn-types: initial commit

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich This crate contains SDN specific types, so they can be re-used across multiple crates (The initial use-case being shared types between proxmox-frr and proxmox-ve-config). This initial commit contains types for the following entities: * OpenFabric Hello Interval/Multiplier a

[pve-devel] [PATCH proxmox-perl-rs v5 4/5] pve-rs: sdn: fabrics: add helper to generate ifupdown2 configuration

2025-07-16 Thread Gabriel Goller
SDN fabrics can be used to configure IP addresses on interfaces directly, so we need to generate the respective ifupdown2 configuration from the fabrics configuration. We also set some additional properties that are required for interfaces that are part of a fabric (IP forwarding). We use dummy int

[pve-devel] [PATCH proxmox-perl-rs v5 2/5] pve-rs: sdn: fabrics: add api methods

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich The FabricConfig from proxmox-ve-config implements CRUD functionality for Fabrics and Nodes stored in the section config. We expose them via perlmod, so they can be used in the API endpoints defined in perl. they map 1:1 to the respective API endpoints. They are simply call

[pve-devel] [PATCH pve-network v5 07/21] sdn: add frr config generation helpers

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Adds a new method to the SDN module that is responsible for generating and writing the FRR configuration for all SDN plugins combined. It utilizes the newly introduced FRR helper as well as the newly introduced API for the controllers to generate an frr_config instead of gen

[pve-devel] [PATCH pve-network v5 12/21] fabrics: generate ifupdown configuration

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Currently, the ifupdown config generation is handled solely by the zones plugin. Since the fabrics need to generate ifupdown configuration as well, we create a new helper in the SDN module. It then in turn calls into the zone and fabrics plugin, and merges the generated raw

[pve-devel] [PATCH pve-network v5 09/21] test: isis: add test for standalone configuration

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich With how the config generation worked before, it was not possible to create a standalone isis controller, since the FRR config was only generated with an existing EVPN controller. Since each controller is now responsible for creating its own configuration, it is possible to

[pve-devel] [PATCH proxmox-widget-toolkit v5 1/1] network selector: add type parameter

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich The network endpoint of the PVE API allows selecting interfaces by type, but the network selector widget currently does not support passing the type to the API call. This is required for the SDN fabrics, which introduced a new special type to this endpoint that additionally

[pve-devel] [PATCH pve-manager v5 02/18] ui: fabrics: add model definitions for fabrics

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Add the three model definitions for SDN fabrics in a shared Common module, so they can be accessed by all UI components for the SDN fabrics. Co-authored-by: Gabriel Goller Signed-off-by: Stefan Hanreich --- www/manager6/Makefile | 1 + www/manager6/sdn/fabr

[pve-devel] [PATCH access-control/cluster/docs/gui-tests/manager/network/proxmox{, -firewall, -ve-rs, -perl-rs, -widget-toolkit} v5 00/76] Add SDN Fabrics

2025-07-16 Thread Gabriel Goller
Overview This series allows the user to easily use dynamic routing protocols such as OpenFabric and OSPF in their clusters. It also integrates existing features, such as Ceph with the new SDN fabrics feature to enable users simple configuration of e.g. full-mesh Ceph clusters via the Web

[pve-devel] [PATCH proxmox-ve-rs v5 07/22] frr: add route-map types

2025-07-16 Thread Gabriel Goller
Only a very limited subset of the FRR route-maps is implemented here intially, only what is currently needed for the fabrics feature. Once standalone route-maps will make it into PVE, we will build on the structs defined here and add possibly the full featureset. The main use-case for routemaps in

[pve-devel] [PATCH pve-manager v5 09/18] fabric: add generic fabric edit panel

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Add generic base component to add and edit Fabrics, which contains the fields required for every protocol. The properties for every protocol are stored in different components and each extend this one. Co-authored-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- www

[pve-devel] [PATCH pve-manager v5 16/18] ui: add sdn networks to ceph / migration

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Pass the 'include_sdn' type to the network selectors used in the datacenter migration settings panel, as well as the ceph wizard, to enable users to select SDN Vnets, as well as fabrics in the UI. Signed-off-by: Stefan Hanreich --- www/manager6/ceph/CephInstallWizard.js |

[pve-devel] [PATCH pve-manager v5 17/18] ui: sdn: add evpn controller fabric integration

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Expose the new fabric field added to the EVPN controller in the UI. Users can now select any fabric in the EVPN controller, instead of having to specify peers manually. This simplifies setting up an EVPN zone via SDN fabrics considerably. Since the peers field can now be em

[pve-devel] [PATCH proxmox-ve-rs v5 09/22] frr: add serializer for all FRR types

2025-07-16 Thread Gabriel Goller
This custom serializer will serialize all the FRR types into a string, which is the FRR config. Signed-off-by: Gabriel Goller --- proxmox-frr/src/lib.rs| 1 + proxmox-frr/src/serializer.rs | 203 ++ 2 files changed, 204 insertions(+) create mode 100644

[pve-devel] [PATCH pve-network v5 13/21] fabrics: add jsonschema for fabrics and nodes

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Provide a JSONSchema for the new two entity types, fabric and node. While both are stored in the same configuration file, there are two separate API submodules for fabrics and nodes, so we need to separate the schema definitions as well. The schemas are equivalent to the AP

[pve-devel] [PATCH proxmox v5 1/4] network-types: initial commit

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich This commit moves some IP address and MAC address types from proxmox-ve-config to proxmox, so they can be used re-used across our code base. The code in this commit is mostly the same as in proxmox-ve-config ('bc9253d8'), but I have made a few changes: * Added additional d

[pve-devel] [PATCH pve-network v5 19/21] zone: vxlan: add fabrics integration

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Add a new property to the VXLAN zone, that can contain the name of a fabric. This automatically generates the peer-list from the fabric, instead of having to manually write a comma-separated IP list. This changes the peer field to optional from required. Either the peers or

[pve-devel] [PATCH pve-network v5 08/21] sdn: api: add check for rewriting frr configuration

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich With the old FRR config generation logic, we never wrote an empty FRR configuration if all controllers got deleted. This meant that deleting all controllers still left the previous FRR configuration on the nodes, never disabling BGP / IS-IS. The new logic now writes an empty

[pve-devel] [PATCH pve-network v5 01/21] sdn: fix value returned by pending_config

2025-07-16 Thread Gabriel Goller
For special types that were encoded by the encode_value function in SDN, we returned the encoded value in the API, rather than the actual value. Since we use the encoded value only for comparison, we need to return the original value instead of the encoded value. Signed-off-by: Stefan Hanreich --

[pve-devel] [PATCH pve-network v5 05/21] frr: add new helpers for reloading frr configuration

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich The reload and restart parts of the original reload_controller_config have been split into two functions, in order to make error handling in the new apply function easier. The new apply function tries to reload via frr-reload.py and if that fails, it falls back to restartin

[pve-devel] [PATCH pve-manager v5 08/18] fabric: add OSPF node edit

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Extend the generic NodeEdit panel for OSPF. Currently there are no node-specific properties for OSPF, so leave the additionalItems empty. Co-authored-by: Gabriel Goller Signed-off-by: Stefan Hanreich --- www/manager6/Makefile | 1 + www/manager6/sdn/f

[pve-devel] [PATCH pve-manager v5 14/18] ui: permissions: add ACL path for fabrics

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Expose the newly created ACL path for fabrics in the UI, so users can configure them. Signed-off-by: Stefan Hanreich --- www/manager6/data/PermPathStore.js | 1 + 1 file changed, 1 insertion(+) diff --git a/www/manager6/data/PermPathStore.js b/www/manager6/data/PermPath

[pve-devel] [PATCH proxmox-ve-rs v5 06/22] frr: add ospf types

2025-07-16 Thread Gabriel Goller
Add OSPF-specific FRR types. This also reuses the types from proxmox-network-types. The NetworkType FRR option is implemented here, but not exposed to the interface, as we want to keep it simple for the users. If they do not set an IP, then the interface is considered to be unnumbered and uses the

[pve-devel] [PATCH proxmox-ve-rs v5 11/22] config: sdn: fabrics: add node section types

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich NodeSection functions identically to the FabricSection type. It contains all the common properties that nodes from all protocols have. Protocol-specific properties can be defined via the type parameter of NodeSection. It also provides generic implementations for ApiType, so

[pve-devel] [PATCH proxmox-ve-rs v5 10/22] config: sdn: fabrics: add section types

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich The fabrics configuration consists of two different entity types: fabrics and nodes. This commit adds support for the fabrics inside this section configuration. There are properties required for all fabrics, regardless of type, which are the ID of the fabric as well as the

[pve-devel] [PATCH proxmox-perl-rs v5 3/5] pve-rs: sdn: fabrics: add frr config generation

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich We use proxmox-ve-config to generate a FRR config and serialize it with the proxmox-frr crate in order to return it to perl in its internally used format (an array of strings). The Perl SDN module in turn merges it with the FRR configuration generated by Perl modules and per

[pve-devel] [PATCH proxmox-ve-rs v5 14/22] config: sdn: fabrics: add ospf properties

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Define the protocol-specific properties for OSPF and add the concrete section types to the Fabric and Node enum. Currently only area is included, which is also the only property that is required by FRR. We wanted to start with a minimal set of properties and add any options

[pve-devel] [PATCH proxmox-ve-rs v5 15/22] config: sdn: fabrics: add api types

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Add an api submodule to the section config module, that provides the types that are intended to be returned and accepted by the Perl API in Proxmox VE. This allows us to decouple the format returned in the API from the configuration format. This is particularly relevant in

[pve-devel] [PATCH proxmox-ve-rs v5 12/22] config: sdn: fabrics: add interface name struct

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich A simple String wrapper that represents the name of a network interface. We are restricting the interface name to ASCII-only characters via the regex, since otherwise the length check would fail, due to String being Unicode. While network interface names can be arbitrary byt

[pve-devel] [PATCH proxmox v5 3/4] network-types: add api types for ipv4/6

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Add two types that transparently wrap the std structs for IPv4 and IPv6 addresses as well as MacAddress, so they can be used directly in structs with the API macro. Similar to their CIDR counterparts, they have a StringSchema and are (de-)serialized via the respective FromSt

[pve-devel] [PATCH proxmox v5 2/4] network-types: make cidr and mac-address types usable by the api

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Implement ApiType and UpdaterType in order to be able to directly use the CIDR and MacAddress types in the API. Their schema is a string and they get (de-)serialized by the respective FromStr / Display implementations. Signed-off-by: Stefan Hanreich --- proxmox-network-ty

[pve-devel] [PATCH pve-manager v5 04/18] fabric: add OpenFabric interface properties

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich This component extends the InterfacePanel and adds Openfabric specific form fields. Hello Multiplier is hidden by default, but can be activated in the column settings of the DataGrid. Co-authored-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- www/manager6/Makefile

[pve-devel] [PATCH pve-network v5 15/21] api: fabrics: add fabric submodule

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich This API module provides CRUD functionality for fabrics. The list endpoint works analogous to the existing SDN endpoints with their pending / running parameters. Co-authored-by: Gabriel Goller Signed-off-by: Stefan Hanreich --- src/PVE/API2/Network/SDN/Fabrics.pm

[pve-devel] [PATCH pve-manager v5 11/18] fabric: add OSPF fabric edit panel

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Extends the common FabricEdit component and adds the OSPF-specific items to it. Co-authored-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- www/manager6/Makefile | 1 + www/manager6/sdn/fabrics/ospf/FabricEdit.js | 20 2

[pve-devel] [PATCH proxmox-ve-rs v5 04/22] frr: add common frr types

2025-07-16 Thread Gabriel Goller
Add common FRR configuration types such as FrrWord, CommonInterfaceName, etc. These are some common types that are used by both openfabric and ospf and the generic types that span the two protocols. The FrrWord is a simple primitive in FRR, which is a ascii-string that doesn't contain whitespaces.

[pve-devel] [PATCH proxmox-ve-rs v5 03/22] frr: create proxmox-frr crate

2025-07-16 Thread Gabriel Goller
This crate holds FRR-types, so rust-types that closely resemble FRR-configuration items. These types can then simply be converted to strings (and the final FRR config) by serializing. This has minimal dependencies and it's only internal dependency is proxmox-network-types, which holds common types.

[pve-devel] [PATCH pve-cluster v5 1/1] cfs: add fabrics.cfg to observed files

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich In a previous commit we already added the openfabric / ospf configuration files, but the configuration format changed since then, so we replace them with the single configuration file used by the fabrics now. Also add a postinst script that removes the leftover folder from

[pve-devel] [PATCH proxmox-ve-rs v5 22/22] ve-config: remove serde_plain and serde_with

2025-07-16 Thread Gabriel Goller
Use proxmox-serde instead, which contains macros to do the same stuff. The main use-case here is to generate Serialize and Deserialize impls from the FromStr and Display implementations. Signed-off-by: Gabriel Goller --- Cargo.toml | 2 +- proxmox-sdn-types

[pve-devel] [PATCH proxmox-ve-rs v5 20/22] sdn: fabrics: implement FRR configuration generation

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Add support to generate FRR configurations (using proxmox-frr types) from a valid FabricConfig. Introduce a feature flag for an optional dependency on proxmox-frr for the FRR types. Add the FrrConfigBuild struct, which currently holds a Valid but will eventually contain all

[pve-devel] [PATCH proxmox-ve-rs v5 16/22] config: sdn: fabrics: add section config

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich The Section type represents the configuration as stored in '/etc/pve/sdn/fabrics.cfg'. It can contain a mix of fabric and node sections, which are in turn unique to each protocol. We utilize the generic FabricSection and NodeSection types to define every possible section typ

[pve-devel] [PATCH proxmox-ve-rs v5 19/22] sdn: fabrics: config: add conversion from / to section config

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Add helper methods for populating a FabricConfig from the section config, as well as converting it back into the respective section config structs. By utilizing the Valid type, we can ensure that only valid configurations get written via the provided write_section_config me

[pve-devel] [PATCH pve-manager v5 15/18] api: network: add include_sdn / fabric type

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich In order to be able to show SDN networks in the network selector dropdowns, we introduce a new type ('include_sdn') to the API endpoint that lists network interfaces of a node. The return value for existing parameters stays unchanged to preserve backwards-compatibility. Call

[pve-devel] [PATCH pve-access-control v5 1/1] permissions: add ACL paths for SDN fabrics

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Add permission path /sdn/fabrics/{fabric_id}. There are currently only SDN-specific permissions for the fabric itself, not the nodes. For displaying / editing the nodes, the existing permissions Sys.Audit or Sys.Modify on /nodes/{node} are required, because they are already

[pve-devel] [PATCH pve-network v5 02/21] debian: add dependency to proxmox-perl-rs

2025-07-16 Thread Gabriel Goller
We call perlmod rust functions directly from pve-network. Signed-off-by: Gabriel Goller --- debian/control | 17 ++--- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/debian/control b/debian/control index b6e758da0331..17fc0885b05d 100644 --- a/debian/control +++ b/deb

[pve-devel] [PATCH pve-network v5 21/21] frr: bump frr config version to 10.3.1

2025-07-16 Thread Gabriel Goller
With the package bumped to 10.3.1 we need to generate the configuration with the matching version, otherwise frr-reload.py fails to create a delta of the configuration because of the version mismatch. Reloading still works, but there is an ugly warning in the reload log, that might throw off users.

[pve-devel] [PATCH pve-manager v5 12/18] fabrics: Add main FabricView

2025-07-16 Thread Gabriel Goller
TreeView that shows all the fabrics and nodes in a hierarchical structure. It also shows all the pending changes from the running-config. From here all entities in the fabrics can be added / edited and deleted, utilizing the previously created EditWindow components for Fabrics / Nodes. We decided

Re: [pve-devel] [PATCH access-control/cluster/docs/gui-tests/manager/network/proxmox{, -firewall, -ve-rs, -perl-rs, -widget-toolkit} v4 00/76] Add SDN Fabrics

2025-07-16 Thread Gabriel Goller
On 09.07.2025 13:27, Gabriel Goller wrote: We've been thinking more about the ipv6 forwarding issue and still aren't sure about the best approach, so we'd like to hear other opinions. Problem === As explained in the commit "frr: add global ipv6 forwarding" we enabled *global* ipv6 forwardi

[pve-devel] [PATCH pve-network v5 14/21] api: fabrics: add root-level module

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich There is one endpoint (/all) at the top-level that fetches both types of fabric entities (fabrics & nodes) and lists them separately. This is used for the main view, in order to avoid having to do two API calls. It works analogous to the existing root-level SDN API calls wit

[pve-devel] [PATCH pve-gui-tests v5 1/1] pve: add sdn/fabrics screenshots

2025-07-16 Thread Gabriel Goller
Add a few screenshots for the sdn->fabrics panel: * fabric overview * openfabric fabric creation * ospf fabric creation * openfabric node creation * ospf node creation Signed-off-by: Gabriel Goller --- create_fabrics_screenshots | 198 + 1 file changed, 1

[pve-devel] [PATCH pve-manager v5 06/18] fabric: add generic node edit panel

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich This component is the base EditWindow for Nodes of all protocols. It utilizes the existing network endpoint for getting information on the interfaces of the nodes, as well as the existing pveNodeSelector component for displaying a node dropdown. In the future we could provid

[pve-devel] [PATCH pve-network v5 17/21] api: fabrics: add fabricnode submodule

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Provides CRUD functionality for editing nodes inside a fabric, as well as an endpoint for listing all the nodes. The URL structure is modeled after the fact that a node can only be uniquely identified by its ID as well as the ID of the fabric that contains the node. Since f

[pve-devel] [PATCH pve-network v5 04/21] refactor: controller: move frr methods into helper

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Up until now the EVPN controller contained all the helper methods as well as the configuration generation logic for FRR. Since we need to write FRR configuration with the fabrics as well, move the FRR helper files into its own FRR module, so they can be used by the EVPN plug

[pve-devel] [PATCH proxmox-ve-rs v5 21/22] ve-config: add integrations tests

2025-07-16 Thread Gabriel Goller
Add integration tests for the full cycle from section-config to FRR config file for both openfabric and ospf. It tests everything end-to-end, from reading the configuration file to converting it into a FabricConfig and then serializing an FRR configuration from it. Signed-off-by: Gabriel Goller -

Re: [pve-devel] [PATCH pve_flutter_frontend] fix: ios: include the `NSFaceIDUsageDescription` in info.plist

2025-07-16 Thread Aaron Lauterer
LGTM. Reviewed-By: Aaron Lauterer On 2025-05-13 12:32, Shan Shaji wrote: The app was crashing on iOS when trying to access the biometric storage to access the saved password. The crash was due to a missing key inside the `Info.plist` file [0]. This patch fixes it by adding the missing `NSFac

[pve-devel] [PATCH pve-manager v5 13/18] utils: avoid line-break in pending changes message

2025-07-16 Thread Gabriel Goller
Remove line-break when showing the current status of SDN configuration objects. Otherwise the column would contain an additional newline, making the row too large. Co-authored-by: Gabriel Goller Signed-off-by: Stefan Hanreich --- www/manager6/Utils.js | 2 +- 1 file changed, 1 insertion(+), 1 d

[pve-devel] [PATCH proxmox-perl-rs v5 5/5] pve-rs: sdn: fabrics: add helper for network API endpoint

2025-07-16 Thread Gabriel Goller
In PVE we use the GET /nodes/{node}/network API endpoint to return all currently configured network interfaces on a specific node. In order to be able to use SDN fabrics in Ceph and the migration settings, we add a helper method that returns all fabrics formatted in the same format as the pre-exist

[pve-devel] [PATCH pve-network v5 11/21] sdn: commit fabrics config to running configuration

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Save the fabrics configuration in the running configuration, when applying the SDN configuration. This causes the FRR configuration to be actually generated for the openfabric and ospf plugins, since the FRR configuration is generated from the running configuration. Co-auth

[pve-devel] [PATCH proxmox-ve-rs v5 13/22] config: sdn: fabrics: add openfabric properties

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich This commit adds the protocol-specific properties, that are required for an Openfabric fabric. They correspond to the respective properties in the FRR fabricd configuration. For more information, see the FRR documentation [1]. While the hello interval and csnp interval coul

[pve-devel] [PATCH pve-network v5 06/21] controllers: define new api for frr config generation

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich With the changes to how we handle the frr config generation, controllers are now no longer responsible for serializing and writing the FRR configuration. Instead, we pass the existing frr_config perl hash to every controller, where controllers append their respective configu

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

2025-07-16 Thread Gabriel Goller
Add initial documentation for the SDN fabrics, as well as additional documentation for all available protocols, Openfabric and OSPF. The screenshots are generated using pve-gui-tests. Signed-off-by: Gabriel Goller Co-authored-by: Stefan Hanreich --- pvesdn.adoc | 252 +++

[pve-devel] [PATCH pve-network v5 20/21] test: fabrics: add test cases for ospf and openfabric + evpn

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Add two additional test cases for EVPN zones, which use fabrics as the underlay network - one for OSPF, one for OpenFabric. Those test cases utilize the newly introduced fabric option in the EVPN controller. Existing configurations, that use peers, are already covered by oth

[pve-devel] [PATCH pve-manager v5 07/18] fabric: add OpenFabric node edit

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Extend the common NodeEdit panel with the Openfabric specific properties. While IPv6 is a property that can be configured on all nodes in the config, it is currently not supported for OSPF so we only show it for Openfabric nodes. Co-authored-by: Gabriel Goller Signed-off-b

[pve-devel] [PATCH pve-manager v5 18/18] ui: sdn: vxlan: add fabric property

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich VXLAN zones can now use fabrics instead of having to specify peers manually. Since the network selector doesn't implement deleteEmpty, we have to manually handle deleted properties in the VXLAN input panel. Signed-off-by: Stefan Hanreich --- www/manager6/sdn/zones/VxlanEd

[pve-devel] [PATCH pve-manager v5 05/18] fabric: add OSPF interface properties

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Define an OSPF-specific InterfacePanel for future use (currently there are no protocol-specific properties for OSPF interfaces). Co-authored-by: Stefan Hanreich Signed-off-by: Gabriel Goller --- www/manager6/Makefile | 1 + www/manager6/sdn/fabr

[pve-devel] [PATCH pve-manager v5 10/18] fabric: add OpenFabric fabric edit panel

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Add a component that extends the common FabricEdit component and adds the OpenFabric-specific items to it. Those are currently the Hello Interval and CSNP interval, which can be configured globally for all members of the fabric. Since OSPF currently does not provide IPv6 su

[pve-devel] [PATCH pve-network v5 10/21] sdn: frr: add daemon status to frr helper

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Add functions that allow reading and manipulating values in the /etc/frr/daemons file. We need this for en/disabling daemons depending on which fabric types are configured. We enable daemons dynamically, depending on the currently configured fabrics. If a daemon is enabled b

[pve-devel] [PATCH pve-network v5 16/21] api: fabrics: add node submodule

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich The GET endpoint lists all nodes from all fabrics - for listing the nodes of a specific fabric or editing nodes another submodule will be introduced below the node submodule in a future commit. Co-authored-by: Gabriel Goller Signed-off-by: Stefan Hanreich --- src/PVE/API

[pve-devel] [PATCH proxmox-ve-rs v5 17/22] config: sdn: fabrics: add fabric config

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich The FabricConfig transforms the flat section configuration into its hierarchical representation, which makes querying and validating the fabrics configuration more ergonomic. It provides the CRUD methods for safely manipulating the fabric configuration, while checking for p

[pve-devel] [PATCH pve-manager v5 01/18] api: use new sdn config generation functions

2025-07-16 Thread Gabriel Goller
With the introduction of fabrics, frr configuration generation and etc/network/interfaces generation has been reworked and renamed for better clarity, since now not only zones / controllers are responsible for generating the ifupdown / FRR configuration. Switch this endpoint over to use the new fun

[pve-devel] [PATCH pve-manager v5 03/18] fabric: add common interface panel

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Implements a shared interface selector panel for openfabric and ospf fabrics. This GridPanel combines data from two sources: the node network interfaces (/nodes//network) and the fabrics section configuration, displaying a merged view of both sources. It implements the foll

[pve-devel] [PATCH pve-network v5 18/21] controller: evpn: add fabrics integration

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Provide a new option to the EVPN controller, fabric, that can be used to define a fabric as the underlay network for the EVPN controller. When applying the configuration, the EVPN controller then automatically generates the peer list and from the fabric configuration, rather

[pve-devel] [PATCH pve-network v5 03/21] fabrics: add fabrics module

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Add a new basic Fabrics module that can be used for reading and writing the fabrics configuration file. Co-authored-by: Gabriel Goller Signed-off-by: Stefan Hanreich --- src/PVE/Network/SDN/Fabrics.pm | 47 ++ src/PVE/Network/SDN/Makefile

[pve-devel] [PATCH proxmox-perl-rs v5 1/5] pve-rs: Add PVE::RS::SDN::Fabrics module

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich This module exposes the functionality provided proxmox-ve-config for the SDN fabrics to perl. We add initial support for reading and writing the section config stored in /etc/pve/sdn/fabrics.cfg as well as the running configuration, stored in /etc/pve/sdn/.running-config. It

[pve-devel] [PATCH installer] gui: don't assume 'single' btrfs mode if user selects exactely 1 disk

2025-07-16 Thread Shannon Sterz
assuming 'single' mode if the user selects exactely one disk can lead to unexpected results. for example, if a user sets up a raid10 with one disk, the installer will happily install it as a 'single' install. doing the same with two disks fails with an error that for raid10 at least 4 disks are req

[pve-devel] applied: [PATCH pve_flutter_frontend] fix: ios: include the `NSFaceIDUsageDescription` in info.plist

2025-07-16 Thread Thomas Lamprecht
On Tue, 13 May 2025 12:32:00 +0200, Shan Shaji wrote: > The app was crashing on iOS when trying to access the biometric storage > to access the saved password. The crash was due to a missing key inside > the `Info.plist` file [0]. This patch fixes it by adding the missing > `NSFaceIDUsageDescriptio

Re: [pve-devel] [PATCH container v2 1/3] setup: remove deprecated dsa from ssh host key generation

2025-07-16 Thread Lukas Wagner
On 2025-07-04 20:23, Daniel Kral wrote: > OpenSSH 10.0 removes support for the DSA signature algorithm [0], which > is the base version that will be shipped for Debian 13 trixie. Since it > has been marked deprecated for some time and generating DSA signatures > with OpenSSH 10.0 will fail, rem

[pve-devel] [PATCH proxmox-ve-rs v5 01/22] ve-config: move types to proxmox-network-types

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich Some of the types defined in this crate have been moved to proxmox-network-types so they can be re-used across crates. This is a preparation for the fabrics patch series, where those types will get used by addtional, new, crates. Remove the types that have been moved and ad

[pve-devel] applied: [PATCH pve-storage v2] RBDPlugin: add missing check for external ceph cluster

2025-07-16 Thread Thomas Lamprecht
On Wed, 16 Jul 2025 15:01:17 +0200, Hannes Duerr wrote: > In 7684225 ("ceph/rbd: set 'keyring' in ceph configuration for > externally managed RBD storages") the ceph config creation was packed > into a new function and checked whether the installation is an external > Ceph cluster or not. > However

[pve-devel] [PATCH proxmox-ve-rs v5 18/22] common: sdn: fabrics: implement validation

2025-07-16 Thread Gabriel Goller
From: Stefan Hanreich The SDN fabrics configuration needs to validate properties of structs that are dependent on their context. For instance the IP of a node needs to be contained in the referenced fabric. Simple schema validation is not sufficient for proper validation of the complete fabrics c

[pve-devel] applied: [PATCH manager] pve8to9: add check for to-be-dropped QEMU machine versions

2025-07-16 Thread Thomas Lamprecht
On Wed, 16 Jul 2025 12:03:13 +0200, Fiona Ebner wrote: > Applied, thanks! [1/1] pve8to9: add check for to-be-dropped QEMU machine versions commit: 8f09d5932b9641d31ca059b89ce540de539750b7 ___ pve-devel mailing list pve-devel@lists.proxmox.com

[pve-devel] applied: [PATCH manager v2 1/1] d/postinst: remove old pvemailforward migration logic

2025-07-16 Thread Thomas Lamprecht
On Wed, 16 Jul 2025 09:37:58 +0200, Lukas Wagner wrote: > Before the separate proxmox-mail-forward helper was split out into its > own package, pve-manager shipped its own pvemailforward script. Arguably > this is the reason why the code for migrating the path to the helper in > /root/.forward is p

[pve-devel] applied: [PATCH proxmox-mail-forward v2 1/1] install to /usr/libexec instead of /usr/bin

2025-07-16 Thread Thomas Lamprecht
On Wed, 16 Jul 2025 09:37:59 +0200, Lukas Wagner wrote: > /usr/libexec is intended for binaries which are not intended to be > called by users manually. proxmox-mail-forwarded is only ever supposed > to be called by Postfix via the forwarding mechanism in /root/.forward, > so the binary should be l

Re: [pve-devel] [PATCH pve-cluster v5 1/1] cfs: add fabrics.cfg to observed files

2025-07-16 Thread Thomas Lamprecht
Am 16.07.25 um 15:07 schrieb Gabriel Goller: > From: Stefan Hanreich > > In a previous commit we already added the openfabric / ospf > configuration files, but the configuration format changed since then, > so we replace them with the single configuration file used by the > fabrics now. > > Also

[pve-devel] applied: [PATCH docs] fix #6388: disk health: sync list of scanned devices

2025-07-16 Thread Thomas Lamprecht
On Mon, 12 May 2025 10:23:47 +0200, Fabian Grünbichler wrote: > taken straight from the man page. > > Applied, thanks! [1/1] fix #6388: disk health: sync list of scanned devices commit: 1a8b9d95fe0e47ba092c0c4a9f3c625cc8c7ae30 ___ pve-devel ma

[pve-devel] [PATCH docs] pveceph/package-repos: adapt further to new deb822 format

2025-07-16 Thread Shannon Sterz
fixes up some outdated uses of the old package repositories and adds a bit more explanation for users trying to install the firmware package Signed-off-by: Shannon Sterz --- pve-package-repos.adoc | 12 ++-- pveceph.adoc | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-

  1   2   >