Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package wicked for openSUSE:Factory checked 
in at 2024-05-16 17:13:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wicked (Old)
 and      /work/SRC/openSUSE:Factory/.wicked.new.1880 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wicked"

Thu May 16 17:13:25 2024 rev:102 rq:1174279 version:0.6.75

Changes:
--------
--- /work/SRC/openSUSE:Factory/wicked/wicked.changes    2024-05-09 
12:08:36.747486728 +0200
+++ /work/SRC/openSUSE:Factory/.wicked.new.1880/wicked.changes  2024-05-16 
17:15:01.699602607 +0200
@@ -1,0 +2,7 @@
+Wed May 15 15:00:02 UTC 2024 - Marius Tomaschewski <m...@suse.com>
+
+- client: fix ifreload to pull UP ports/links again when the config
+  of their master/lower changed (bsc#1224100,gh#openSUSE/wicked#1014).
+  [+ 0001-ifreload-pull-UP-again-on-master-lower-changes-bsc1224100.patch]
+
+-------------------------------------------------------------------

New:
----
  0001-ifreload-pull-UP-again-on-master-lower-changes-bsc1224100.patch

BETA DEBUG BEGIN:
  New:  of their master/lower changed (bsc#1224100,gh#openSUSE/wicked#1014).
  [+ 0001-ifreload-pull-UP-again-on-master-lower-changes-bsc1224100.patch]
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ wicked.spec ++++++
--- /var/tmp/diff_new_pack.cRi38K/_old  2024-05-16 17:15:02.855644505 +0200
+++ /var/tmp/diff_new_pack.cRi38K/_new  2024-05-16 17:15:02.855644505 +0200
@@ -26,6 +26,7 @@
 URL:            https://github.com/openSUSE/wicked
 Source0:        %{name}-%{version}.tar.bz2
 Source1:        wicked-rpmlintrc
+Patch1:         
0001-ifreload-pull-UP-again-on-master-lower-changes-bsc1224100.patch
 #
 # Upstream First - openSUSE Build Service Policy:
 #
@@ -168,6 +169,7 @@
 
 %prep
 %setup
+%autopatch -p1
 
 %build
 test -x ./configure || autoreconf --force --install

++++++ 0001-ifreload-pull-UP-again-on-master-lower-changes-bsc1224100.patch 
++++++
>From c6eb69d80a5c5c548d7c0a663d8a7bdd4fdd963c Mon Sep 17 00:00:00 2001
From: Marius Tomaschewski <m...@suse.com>
Date: Wed, 15 May 2024 11:19:38 +0200
Subject: [PATCH 1/2] nanny: reset instead to rearm worker on disable
Upstream: yes
References: bsc#1224100,gh#openSUSE/wicked#1014

Reset interface worker on ifreload/ifdown to cleanup fsm state,
master / lower hierarchy references and requirements, so there
are no leftovers for the ifup part of ifreload that may change
e.g. lower link reference (vlan's underlying device changes)
with the new policy/config it is applying.

diff --git a/nanny/interface.c b/nanny/interface.c
index b1f53ce38..fa4cef283 100644
--- a/nanny/interface.c
+++ b/nanny/interface.c
@@ -88,7 +88,7 @@ ni_managed_netdev_disable(ni_managed_device_t *mdev)
 
        ni_nanny_schedule_recheck(&mgr->down, w);
        ni_nanny_unschedule(&mgr->recheck, w);
-       ni_ifworker_rearm(w);
+       ni_ifworker_reset(w);
 
        mdev->monitor = FALSE;
        return TRUE;
-- 
2.35.3


>From 855719b2ba8c65147ae7c5a0cf36e283bc2c22db Mon Sep 17 00:00:00 2001
From: Marius Tomaschewski <m...@suse.com>
Date: Wed, 15 May 2024 11:21:10 +0200
Subject: [PATCH 2/2] fsm: pull UP ports/links on master/lower change
Upstream: yes
References: bsc#1224100,gh#openSUSE/wicked#1014

Inherit the config changed state from master and lower interfaces.
The ifreload down part pulls ports/linked interfaces DOWN when the
master/lower changed, the up part needs to pull them UP again.

diff --git a/src/fsm.c b/src/fsm.c
index 16d43c8b8..353a9e2c7 100644
--- a/src/fsm.c
+++ b/src/fsm.c
@@ -3140,13 +3140,13 @@ ni_fsm_ifmatch_pull_up_lower(ni_fsm_t *fsm, 
ni_ifmatcher_t *match,
                ni_log_fn_t *logit, ni_ifworker_t *w,
                ni_bool_t master, ni_bool_t lower,
                ni_bool_t ports, ni_bool_t links,
-               ni_bool_t changed)
+               ni_bool_t *changed)
 {
        if (!w->lowerdev)
                return TRUE; /* we don't have a lower */
 
        if (!ni_fsm_ifmatch_pull_up(fsm, match, matching, guard, logit,
-                       w->lowerdev, master, lower, ports, FALSE, changed)) {
+                       w->lowerdev, master, lower, ports, FALSE, *changed)) {
 
                logit("skipping '%s' %s: unable to setup lower %s '%s'",
                        w->name, ni_ifworker_type_to_string(w->type),
@@ -3154,6 +3154,10 @@ ni_fsm_ifmatch_pull_up_lower(ni_fsm_t *fsm, 
ni_ifmatcher_t *match,
                        w->lowerdev->name);
                return FALSE;
        }
+
+       if (match->ifreload && ni_ifworker_array_index(matching, w->lowerdev) 
!= -1)
+               *changed = TRUE;
+
        return TRUE;
 }
 
@@ -3163,13 +3167,13 @@ ni_fsm_ifmatch_pull_up_master(ni_fsm_t *fsm, 
ni_ifmatcher_t *match,
                ni_log_fn_t *logit, ni_ifworker_t *w,
                ni_bool_t master, ni_bool_t lower,
                ni_bool_t ports, ni_bool_t links,
-               ni_bool_t changed)
+               ni_bool_t *changed)
 {
        if (!w->masterdev)
                return TRUE; /* we don't have a master */
 
        if (!ni_fsm_ifmatch_pull_up(fsm, match, matching, guard, logit,
-                       w->masterdev, master, lower, FALSE, links, changed)) {
+                       w->masterdev, master, lower, FALSE, links, *changed)) {
 
                logit("skipping '%s' %s: unable to setup master %s '%s'",
                        w->name, ni_ifworker_type_to_string(w->type),
@@ -3178,6 +3182,9 @@ ni_fsm_ifmatch_pull_up_master(ni_fsm_t *fsm, 
ni_ifmatcher_t *match,
                return FALSE;
        }
 
+       if (match->ifreload && ni_ifworker_array_index(matching, w->masterdev) 
!= -1)
+               *changed = TRUE;
+
        return TRUE;
 }
 
@@ -3232,7 +3239,7 @@ ni_fsm_ifmatch_pull_up(ni_fsm_t *fsm, ni_ifmatcher_t 
*match,
        ni_ifworker_array_append(guard, w);
 
        if (lower && !ni_fsm_ifmatch_pull_up_lower(fsm, match, &pulled,
-                       guard, logit, w, TRUE, TRUE, ports, FALSE, FALSE)) {
+                       guard, logit, w, TRUE, TRUE, ports, FALSE, &changed)) {
 
                ni_ifworker_array_destroy(&pulled);
                ni_ifworker_array_remove(guard, w);
@@ -3240,7 +3247,7 @@ ni_fsm_ifmatch_pull_up(ni_fsm_t *fsm, ni_ifmatcher_t 
*match,
        }
 
        if (master && !ni_fsm_ifmatch_pull_up_master(fsm, match, &pulled,
-                       guard, logit, w, TRUE, TRUE, FALSE, links, FALSE)) {
+                       guard, logit, w, TRUE, TRUE, FALSE, links, &changed)) {
 
                ni_ifworker_array_destroy(&pulled);
                ni_ifworker_array_remove(guard, w);
-- 
2.35.3

Reply via email to