all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH manager 0/2] network-interface-pinning fixes
@ 2025-07-18 16:26 Stefan Hanreich
  2025-07-18 16:26 ` [pve-devel] [PATCH pve-manager 1/2] network-interface-pinning: fix subsequent invocations Stefan Hanreich
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Stefan Hanreich @ 2025-07-18 16:26 UTC (permalink / raw)
  To: pve-devel

Fixes one regression introduced in [1] and adds an early exit in case there are
no generated mappings.

[1] https://git.proxmox.com/?p=pve-manager.git;a=commit;h=5b5db0e670161bd171c35fc7d8575e9d987496c3

pve-manager:

Stefan Hanreich (2):
  network-interface-pinning: fix subsequent invocations
  network-interface-pinning: early exit if nothing to do

 PVE/CLI/proxmox_network_interface_pinning.pm | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)


Summary over all repositories:
  1 files changed, 7 insertions(+), 3 deletions(-)

-- 
Generated by git-murpp 0.8.0

_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pve-devel] [PATCH pve-manager 1/2] network-interface-pinning: fix subsequent invocations
  2025-07-18 16:26 [pve-devel] [PATCH manager 0/2] network-interface-pinning fixes Stefan Hanreich
@ 2025-07-18 16:26 ` Stefan Hanreich
  2025-07-18 16:26 ` [pve-devel] [PATCH pve-manager 2/2] network-interface-pinning: early exit if nothing to do Stefan Hanreich
  2025-07-18 19:17 ` [pve-devel] applied: [PATCH manager 0/2] network-interface-pinning fixes Thomas Lamprecht
  2 siblings, 0 replies; 4+ messages in thread
From: Stefan Hanreich @ 2025-07-18 16:26 UTC (permalink / raw)
  To: pve-devel

The fix introduced in 5b5db0e67 fixed the scenario where pins were
already applied, but broke the case where they weren't yet applied,
since now not-yet-applied pins would get overwritten again on
subsequent invocations of the pinning tool.

Move the check for the same name to the update_etc_network_interfaces
call, where it is actually required - instead of filtering already in
the resolve_pinned function, which is also used in the generate body
to filter eligible links for pinning.

Fixes: 5b5db0e67
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
---
 PVE/CLI/proxmox_network_interface_pinning.pm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/PVE/CLI/proxmox_network_interface_pinning.pm b/PVE/CLI/proxmox_network_interface_pinning.pm
index 17b507911..8b7127488 100644
--- a/PVE/CLI/proxmox_network_interface_pinning.pm
+++ b/PVE/CLI/proxmox_network_interface_pinning.pm
@@ -79,7 +79,7 @@ my sub update_etc_network_interfaces {
         for my $iface_name (keys $old_ifaces->%*) {
             my $iface = $old_ifaces->{$iface_name};
 
-            if ($existing_pins->{$iface_name}) {
+            if ($existing_pins->{$iface_name} && $existing_pins->{$iface_name} ne $iface_name) {
                 # reading the interfaces file adds active interfaces to the
                 # configuration - we do not want to include already pinned
                 # interfaces in the new configuration when writing the new
@@ -328,8 +328,7 @@ sub resolve_pinned {
             next;
         }
 
-        $resolved->{ $mac_lookup{$mac} } = $pinned->{$mac}
-            if $mac_lookup{$mac} ne $pinned->{$mac};
+        $resolved->{ $mac_lookup{$mac} } = $pinned->{$mac};
     }
 
     return $resolved;
-- 
2.39.5


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pve-devel] [PATCH pve-manager 2/2] network-interface-pinning: early exit if nothing to do
  2025-07-18 16:26 [pve-devel] [PATCH manager 0/2] network-interface-pinning fixes Stefan Hanreich
  2025-07-18 16:26 ` [pve-devel] [PATCH pve-manager 1/2] network-interface-pinning: fix subsequent invocations Stefan Hanreich
@ 2025-07-18 16:26 ` Stefan Hanreich
  2025-07-18 19:17 ` [pve-devel] applied: [PATCH manager 0/2] network-interface-pinning fixes Thomas Lamprecht
  2 siblings, 0 replies; 4+ messages in thread
From: Stefan Hanreich @ 2025-07-18 16:26 UTC (permalink / raw)
  To: pve-devel

We would regenerate all configuration files, even if no interface
would be mapped. While this shouldn't cause an issue, it's
unnecessary, has potential for creating bugs and leads to confusing
output for the users - so just abort in this case instead.

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
---
 PVE/CLI/proxmox_network_interface_pinning.pm | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/PVE/CLI/proxmox_network_interface_pinning.pm b/PVE/CLI/proxmox_network_interface_pinning.pm
index 8b7127488..382e2d94b 100644
--- a/PVE/CLI/proxmox_network_interface_pinning.pm
+++ b/PVE/CLI/proxmox_network_interface_pinning.pm
@@ -398,6 +398,11 @@ __PACKAGE__->register_method({
                     $prefix,
                 );
 
+            if (!$mapping->%*) {
+                print "Nothing to do, aborting.\n";
+                exit 0;
+            }
+
             for my $old_name (sort keys $mapping->%*) {
                 print "Name for link '$old_name' will change to '$mapping->{$old_name}'\n";
             }
-- 
2.39.5


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pve-devel] applied: [PATCH manager 0/2] network-interface-pinning fixes
  2025-07-18 16:26 [pve-devel] [PATCH manager 0/2] network-interface-pinning fixes Stefan Hanreich
  2025-07-18 16:26 ` [pve-devel] [PATCH pve-manager 1/2] network-interface-pinning: fix subsequent invocations Stefan Hanreich
  2025-07-18 16:26 ` [pve-devel] [PATCH pve-manager 2/2] network-interface-pinning: early exit if nothing to do Stefan Hanreich
@ 2025-07-18 19:17 ` Thomas Lamprecht
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Lamprecht @ 2025-07-18 19:17 UTC (permalink / raw)
  To: pve-devel, Stefan Hanreich

On Fri, 18 Jul 2025 18:26:08 +0200, Stefan Hanreich wrote:
> Fixes one regression introduced in [1] and adds an early exit in case there are
> no generated mappings.
> 
> [1] https://git.proxmox.com/?p=pve-manager.git;a=commit;h=5b5db0e670161bd171c35fc7d8575e9d987496c3
> 
> pve-manager:
> 
> [...]

Applied, thanks!

[1/2] network-interface-pinning: fix subsequent invocations
      commit: e569f15af2d0283f5d4700f08233dcff4b53551e
[2/2] network-interface-pinning: early exit if nothing to do
      commit: 04ff42438849175c7caceb2983346bd6d0bcaba1


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-07-18 19:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-18 16:26 [pve-devel] [PATCH manager 0/2] network-interface-pinning fixes Stefan Hanreich
2025-07-18 16:26 ` [pve-devel] [PATCH pve-manager 1/2] network-interface-pinning: fix subsequent invocations Stefan Hanreich
2025-07-18 16:26 ` [pve-devel] [PATCH pve-manager 2/2] network-interface-pinning: early exit if nothing to do Stefan Hanreich
2025-07-18 19:17 ` [pve-devel] applied: [PATCH manager 0/2] network-interface-pinning fixes Thomas Lamprecht

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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal