Blame SOURCES/BZ_1858758-fix_ovs_bond.patch

97e10a
From 862e669fcfe02b49c0e24af210d6466197962b97 Mon Sep 17 00:00:00 2001
97e10a
From: Gris Ge <fge@redhat.com>
97e10a
Date: Mon, 3 Aug 2020 11:34:44 +0800
97e10a
Subject: [PATCH] ovs: Fix bug when adding bond to existing bridge
97e10a
97e10a
When adding OVS bond/link aggregation interface to existing OVS bridge,
97e10a
nmstate will fail with error:
97e10a
97e10a
    > self._ifaces[slave_name].mark_as_changed()
97e10a
    E KeyError: 'bond1'
97e10a
97e10a
This is because ovs bond interface does not require a interface entry in
97e10a
desire state.
97e10a
97e10a
Fixed by check before adding dict.
97e10a
97e10a
Integration test case added.
97e10a
97e10a
Signed-off-by: Gris Ge <fge@redhat.com>
97e10a
---
97e10a
 libnmstate/ifaces/ifaces.py | 3 ++-
97e10a
 1 file changed, 2 insertions(+), 1 deletion(-)
97e10a
97e10a
diff --git a/libnmstate/ifaces/ifaces.py b/libnmstate/ifaces/ifaces.py
97e10a
index a400712..1c2ffd5 100644
97e10a
--- a/libnmstate/ifaces/ifaces.py
97e10a
+++ b/libnmstate/ifaces/ifaces.py
97e10a
@@ -217,7 +217,8 @@ class Ifaces:
97e10a
                     self._ifaces[iface_name].mark_as_changed()
97e10a
             if cur_iface:
97e10a
                 for slave_name in iface.config_changed_slaves(cur_iface):
97e10a
-                    self._ifaces[slave_name].mark_as_changed()
97e10a
+                    if slave_name in self._ifaces:
97e10a
+                        self._ifaces[slave_name].mark_as_changed()
97e10a
 
97e10a
     def _match_child_iface_state_with_parent(self):
97e10a
         """
97e10a
-- 
97e10a
2.28.0
97e10a