From 2595c75cb8488e855fc5d98bcc944c6c0ad96b54 Mon Sep 17 00:00:00 2001 From: Quique Llorente Date: Tue, 24 Nov 2020 12:52:35 +0100 Subject: [PATCH 1/2] ovs: Ignore ovs-port always At containerize nmstate we cannot run "systemctl openvswitch status" so even with a openvswitch running at host it will appear as non running but the ovs information will arrive from NM dbus interface. This breaks nmstatectl show since ovs-port is not part of nmstate and is not included in the schema. This change just ignore ovs-port even if openvswitch appear as not running. Signed-off-by: Quique Llorente Signed-off-by: Gris Ge --- libnmstate/nm/plugin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libnmstate/nm/plugin.py b/libnmstate/nm/plugin.py index 4032359..6b6217d 100644 --- a/libnmstate/nm/plugin.py +++ b/libnmstate/nm/plugin.py @@ -123,6 +123,8 @@ class NetworkManagerPlugin(NmstatePlugin): if nm_bond.is_bond_type_id(type_id): bondinfo = nm_bond.get_bond_info(dev) iface_info.update(_ifaceinfo_bond(bondinfo)) + elif nm_ovs.is_ovs_port_type_id(type_id): + continue elif NmstatePlugin.OVS_CAPABILITY in capabilities: if nm_ovs.is_ovs_bridge_type_id(type_id): iface_info["bridge"] = nm_ovs.get_ovs_info( @@ -133,8 +135,6 @@ class NetworkManagerPlugin(NmstatePlugin): ) elif nm_ovs.is_ovs_interface_type_id(type_id): iface_info.update(nm_ovs.get_interface_info(act_con)) - elif nm_ovs.is_ovs_port_type_id(type_id): - continue info.append(iface_info) -- 2.29.2 From 3202bdd08737087160ff96bcf921793ce6b8335c Mon Sep 17 00:00:00 2001 From: Quique Llorente Date: Wed, 25 Nov 2020 10:28:43 +0100 Subject: [PATCH 2/2] ovs: Ignore OVS capabilities at get interfaces At containerize nmstate we cannot run "systemctl openvswitch status" so even with a openvswitch running at host it will appear as non running but the ovs information will arrive from NM dbus interface. This breaks nmstatectl show since ovs-port is not part of nmstate and is not included in the schema. This change removed the whole OVS compatibility check when processing the interfaces reporting. Signed-off-by: Quique Llorente Signed-off-by: Gris Ge --- libnmstate/nm/plugin.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/libnmstate/nm/plugin.py b/libnmstate/nm/plugin.py index 6b6217d..06a5acd 100644 --- a/libnmstate/nm/plugin.py +++ b/libnmstate/nm/plugin.py @@ -97,7 +97,6 @@ class NetworkManagerPlugin(NmstatePlugin): def get_interfaces(self): info = [] - capabilities = self.capabilities devices_info = [ (dev, nm_device.get_device_common_info(dev)) @@ -123,18 +122,15 @@ class NetworkManagerPlugin(NmstatePlugin): if nm_bond.is_bond_type_id(type_id): bondinfo = nm_bond.get_bond_info(dev) iface_info.update(_ifaceinfo_bond(bondinfo)) + elif nm_ovs.is_ovs_bridge_type_id(type_id): + iface_info["bridge"] = nm_ovs.get_ovs_info( + self.context, dev, devices_info + ) + iface_info = _remove_ovs_bridge_unsupported_entries(iface_info) + elif nm_ovs.is_ovs_interface_type_id(type_id): + iface_info.update(nm_ovs.get_interface_info(act_con)) elif nm_ovs.is_ovs_port_type_id(type_id): continue - elif NmstatePlugin.OVS_CAPABILITY in capabilities: - if nm_ovs.is_ovs_bridge_type_id(type_id): - iface_info["bridge"] = nm_ovs.get_ovs_info( - self.context, dev, devices_info - ) - iface_info = _remove_ovs_bridge_unsupported_entries( - iface_info - ) - elif nm_ovs.is_ovs_interface_type_id(type_id): - iface_info.update(nm_ovs.get_interface_info(act_con)) info.append(iface_info) -- 2.29.2