From: Gabriel Goller <g.goller@proxmox.com>
To: Stefan Hanreich <s.hanreich@proxmox.com>
Cc: pdm-devel@lists.proxmox.com
Subject: Re: [pdm-devel] [RFC network/proxmox{, -backup, -api-types, -yew-comp, -datacenter-manager} v2 00/32] Add initial SDN / EVPN integration
Date: Tue, 26 Aug 2025 14:22:00 +0200 [thread overview]
Message-ID: <qkp6q6aq3fleb3wvzlhz23ev5qrif6vu2cixex7aa6n53clbnj@2h7auortrzbm> (raw)
In-Reply-To: <20250822134942.380480-1-s.hanreich@proxmox.com>
Don't have much experience with PDM, so I haven't looked at the code.
The patches don't apply cleanly anymore, but after a bit of manual
tinkering it works. As we found out together filtering vnets doesn't
work so we need to filter in the frontend for vnets which have a evpn
zone. The following patch fixes it:
diff --git a/ui/src/sdn/evpn/remote_tree.rs b/ui/src/sdn/evpn/remote_tree.rs
index e4b0fe46a121..4077693d29df 100644
--- a/ui/src/sdn/evpn/remote_tree.rs
+++ b/ui/src/sdn/evpn/remote_tree.rs
@@ -207,13 +207,12 @@ fn zones_to_vrf_view(
for vnet in vnets {
let vnet_data = &vnet.vnet;
- let zone = zones
- .iter()
- .find(|zone| {
- zone.remote == vnet.remote
- && vnet_data.zone.as_ref().expect("vnet has zone") == &zone.zone.zone
- })
- .expect("vnet has zone");
+ let Some(zone) = zones.iter().find(|zone| {
+ zone.remote == vnet.remote
+ && vnet_data.zone.as_ref().expect("vnet has zone") == &zone.zone.zone
+ }) else {
+ continue;
+ };
let controller = controllers
.iter()
diff --git a/ui/src/sdn/evpn/vrf_tree.rs b/ui/src/sdn/evpn/vrf_tree.rs
index 8b01b00eba26..2980d2379b0a 100644
--- a/ui/src/sdn/evpn/vrf_tree.rs
+++ b/ui/src/sdn/evpn/vrf_tree.rs
@@ -155,13 +155,12 @@ fn zones_to_vrf_view(
for vnet in vnets {
let vnet_data = &vnet.vnet;
- let zone = zones
- .iter()
- .find(|zone| {
- zone.remote == vnet.remote
- && vnet_data.zone.as_ref().expect("vnet has zone") == &zone.zone.zone
- })
- .expect("zone of vnet exists");
+ let Some(zone) = zones.iter().find(|zone| {
+ zone.remote == vnet.remote
+ && vnet_data.zone.as_ref().expect("vnet has zone") == &zone.zone.zone
+ }) else {
+ continue;
+ };
let controller = controllers
.iter()
A few small UI nits:
* In the "Remotes" view, widen the "Name" column a bit, it's too narrow
* In the "IP-VRFs" view, when fully expanding all the VNets, the "VNet"
level text is indented more than the last child. So the "VNet" text
is more to the left than the actual VNet name below. (I think this is
the VNet icon missing.)
* Clicking the refresh button should IMO not collapse the tree.
* When clicking on "Add" the VNet icon is missing (The zone icon is
there).
* What about deleting zones and vnets? Would that be complex? If a
remote fails to delete a vnet/zone, we could roll-back all the other
ones using the lock thingy-right?
* I think there is a min-character limit missing on the vnet name, I
get:
2025-08-26T14:16:38+02:00: failed to execute transaction on remote andiknowbangers: api error (status = 400: Parameter verification failed.
vnet: invalid format - vnet ID 't' contains illegal characters
when creating a vnet named "t".
* IDK about the EVPN icon being a key :) Maybe we should already create a SDN
"folder" and then an EVPN entry (like in PVE) so that we are ready
adding more stuff afterwards.
* Do we really want to auto-apply everything immediately? Should we
maybe introduce a SDN "apply" thingy in PDM as well?
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
next prev parent reply other threads:[~2025-08-26 12:22 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-22 13:49 Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox v2 1/2] schema: use i64 for minimum / maximum / default integer values Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox v2 2/2] pbs-api-types: fix values for integer schemas Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-backup v2 1/1] api: change integer schema parameters to i64 Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH pve-network v2 1/6] sdn: api: return null for rollback / lock endpoints Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH pve-network v2 2/6] controllers: fix maximum value for ASN Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH pve-network v2 3/6] api: add state standard option Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH pve-network v2 4/6] api: controllers: update schema of endpoints Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH pve-network v2 5/6] api: vnets: " Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH pve-network v2 6/6] api: zones: " Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-api-types v2 1/7] add QemuMigratePreconditionsNotAllowedNodesBlockingHaResources struct Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-api-types v2 2/7] sdn: add list/create zone endpoints Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-api-types v2 3/7] sdn: add list/create vnet endpoints Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-api-types v2 4/7] sdn: add list/create controller endpoints Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-api-types v2 5/7] sdn: add sdn configuration locking endpoints Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-api-types v2 6/7] tasks: add helper for querying successfully finished tasks Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-api-types v2 7/7] sdn: add helpers for pending values Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-yew-comp v2 1/1] sdn: add descriptions for sdn tasks Stefan Hanreich
2025-08-26 13:22 ` Dominik Csapak
2025-08-26 14:06 ` Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 01/15] server: add locked sdn client helpers Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 02/15] api: sdn: add list_zones endpoint Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 03/15] api: sdn: add create_zone endpoint Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 04/15] api: sdn: add list_vnets endpoint Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 05/15] api: sdn: add create_vnet endpoint Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 06/15] api: sdn: add list_controllers endpoint Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 07/15] ui: sdn: add EvpnRouteTarget type Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 08/15] ui: sdn: add vnet icon Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 09/15] ui: sdn: add remote tree component Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 10/15] ui: add view for showing ip vrfs Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 11/15] ui: sdn: add AddVnetWindow component Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 12/15] ui: sdn: add AddZoneWindow component Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 13/15] ui: sdn: add EvpnPanel Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 14/15] ui: sdn: add EvpnPanel to main menu Stefan Hanreich
2025-08-22 13:49 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 15/15] pve: sdn: add descriptions for sdn tasks Stefan Hanreich
2025-08-26 12:22 ` Gabriel Goller [this message]
2025-08-26 14:06 ` [pdm-devel] [RFC network/proxmox{, -backup, -api-types, -yew-comp, -datacenter-manager} v2 00/32] Add initial SDN / EVPN integration Stefan Hanreich
2025-08-26 14:12 ` Dominik Csapak
2025-08-26 14:13 ` Stefan Hanreich
2025-08-26 14:24 ` Dominik Csapak
2025-08-26 14:25 ` Stefan Hanreich
2025-08-27 11:35 ` [pdm-devel] superseded: " Stefan Hanreich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=qkp6q6aq3fleb3wvzlhz23ev5qrif6vu2cixex7aa6n53clbnj@2h7auortrzbm \
--to=g.goller@proxmox.com \
--cc=pdm-devel@lists.proxmox.com \
--cc=s.hanreich@proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.