From 77b885ca609dbc6f4fa986ff30e94f5a8270209a Mon Sep 17 00:00:00 2001 From: kymayl Date: Thu, 8 Jul 2021 10:13:51 +0800 Subject: [PATCH] upgrade package --- BZ_1931355-SRIOV-wait-VF-mount-decrease.patch | 166 ++++++++ BZ_1931751-nmstate-fix-return-code.patch | 29 ++ ...h-unmanaged-interface-unless-desired.patch | 223 +++++++++++ BZ_1961912-fix-ovs-interface-activation.patch | 137 +++++++ ...-not-use-unmanaged-interface-for-dns.patch | 163 ++++++++ ...ovs_running-in-container-environment.patch | 222 ++++++++++ ...eactivate-profile-when-route-removed.patch | 86 ++++ BZ_1966379_fix_bond_opt_tlb_dynamic_lb.patch | 74 ++++ BZ_1966457_Fix_bond_fail_over_mac.patch | 35 ++ BZ_1966457_only_validate_desired_bond.patch | 32 ++ ...910D93CA83D77348595C0E899014C0463C12BB.asc | 50 --- nmstate-0.2.7.tar.gz | Bin 73529 -> 0 bytes nmstate-0.2.7.tar.gz.asc | 17 - nmstate-1.0.2.tar.gz | Bin 0 -> 112671 bytes nmstate-1.0.2.tar.gz.asc | 16 + nmstate.gpg | 379 ++++++++++++++++++ nmstate.spec | 52 ++- 17 files changed, 1604 insertions(+), 77 deletions(-) create mode 100644 BZ_1931355-SRIOV-wait-VF-mount-decrease.patch create mode 100644 BZ_1931751-nmstate-fix-return-code.patch create mode 100644 BZ_1932247-nm-Don-t-touch-unmanaged-interface-unless-desired.patch create mode 100644 BZ_1961912-fix-ovs-interface-activation.patch create mode 100644 BZ_1961914-do-not-use-unmanaged-interface-for-dns.patch create mode 100644 BZ_1964439-ovs-Fix-is_ovs_running-in-container-environment.patch create mode 100644 BZ_1964440-nm-ipv4-Deactivate-profile-when-route-removed.patch create mode 100644 BZ_1966379_fix_bond_opt_tlb_dynamic_lb.patch create mode 100644 BZ_1966457_Fix_bond_fail_over_mac.patch create mode 100644 BZ_1966457_only_validate_desired_bond.patch delete mode 100644 gpgkey-F7910D93CA83D77348595C0E899014C0463C12BB.asc delete mode 100644 nmstate-0.2.7.tar.gz delete mode 100644 nmstate-0.2.7.tar.gz.asc create mode 100644 nmstate-1.0.2.tar.gz create mode 100644 nmstate-1.0.2.tar.gz.asc create mode 100644 nmstate.gpg diff --git a/BZ_1931355-SRIOV-wait-VF-mount-decrease.patch b/BZ_1931355-SRIOV-wait-VF-mount-decrease.patch new file mode 100644 index 0000000..f215f9f --- /dev/null +++ b/BZ_1931355-SRIOV-wait-VF-mount-decrease.patch @@ -0,0 +1,166 @@ +From 80c97b27707b036f0a54988ade4bda3ccb342b34 Mon Sep 17 00:00:00 2001 +From: Fernando Fernandez Mancera +Date: Mon, 22 Feb 2021 12:03:11 +0100 +Subject: [PATCH 1/2] SR-IOV: increase the verification timeout if SR-IOV is + present + +Certain drivers like i40e take a long time to modify the VFs in the +kernel. Nmstate is timing out on verification because of that. In order +to fix this, nmstate is incresing the verification time if SR-IOV is +present on the desired state. + +Signed-off-by: Fernando Fernandez Mancera +Signed-off-by: Gris Ge +--- + libnmstate/ifaces/ethernet.py | 6 ++++++ + libnmstate/netapplier.py | 18 +++++++++++++++++- + 2 files changed, 23 insertions(+), 1 deletion(-) + +diff --git a/libnmstate/ifaces/ethernet.py b/libnmstate/ifaces/ethernet.py +index 292b7bc..ca8501b 100644 +--- a/libnmstate/ifaces/ethernet.py ++++ b/libnmstate/ifaces/ethernet.py +@@ -65,6 +65,12 @@ class EthernetIface(BaseIface): + def is_peer(self): + return self._is_peer + ++ @property ++ def is_sriov(self): ++ return self.raw.get(Ethernet.CONFIG_SUBTREE, {}).get( ++ Ethernet.SRIOV_SUBTREE ++ ) ++ + def create_sriov_vf_ifaces(self): + return [ + EthernetIface( +diff --git a/libnmstate/netapplier.py b/libnmstate/netapplier.py +index cf208d1..3c5759b 100644 +--- a/libnmstate/netapplier.py ++++ b/libnmstate/netapplier.py +@@ -24,6 +24,7 @@ import time + + from libnmstate import validator + from libnmstate.error import NmstateVerificationError ++from libnmstate.schema import InterfaceType + + from .nmstate import create_checkpoints + from .nmstate import destroy_checkpoints +@@ -37,6 +38,7 @@ from .version import get_version + MAINLOOP_TIMEOUT = 35 + VERIFY_RETRY_INTERNAL = 1 + VERIFY_RETRY_TIMEOUT = 5 ++VERIFY_RETRY_TIMEOUT_INCREASE = 4 + + + def apply( +@@ -109,7 +111,13 @@ def _apply_ifaces_state(plugins, net_state, verify_change, save_to_disk): + plugin.apply_changes(net_state, save_to_disk) + verified = False + if verify_change: +- for _ in range(VERIFY_RETRY_TIMEOUT): ++ if _net_state_contains_sriov_interface(net_state): ++ # If SR-IOV is present, the verification timeout is being increased ++ # to avoid timeouts due to slow drivers like i40e. ++ verify_retry = VERIFY_RETRY_TIMEOUT * VERIFY_RETRY_TIMEOUT_INCREASE ++ else: ++ verify_retry = VERIFY_RETRY_TIMEOUT ++ for _ in range(verify_retry): + try: + _verify_change(plugins, net_state) + verified = True +@@ -120,6 +128,14 @@ def _apply_ifaces_state(plugins, net_state, verify_change, save_to_disk): + _verify_change(plugins, net_state) + + ++def _net_state_contains_sriov_interface(net_state): ++ for iface in net_state.ifaces.all_kernel_ifaces.values(): ++ if iface.type == InterfaceType.ETHERNET and iface.is_sriov: ++ return True ++ ++ return False ++ ++ + def _verify_change(plugins, net_state): + current_state = show_with_plugins(plugins) + net_state.verify(current_state) +-- +2.27.0 + + +From 439fe3a51a82060c5b62974c6c9fbdf403c4196b Mon Sep 17 00:00:00 2001 +From: Fernando Fernandez Mancera +Date: Mon, 22 Feb 2021 13:33:06 +0100 +Subject: [PATCH 2/2] SR-IOV: fail on verification if `total_vfs` does not + match vfs len + +Signed-off-by: Fernando Fernandez Mancera +Signed-off-by: Gris Ge +--- + libnmstate/ifaces/ethernet.py | 11 +++++++++++ + libnmstate/ifaces/ifaces.py | 14 ++++++++++++++ + 2 files changed, 25 insertions(+) + +diff --git a/libnmstate/ifaces/ethernet.py b/libnmstate/ifaces/ethernet.py +index ca8501b..55772ce 100644 +--- a/libnmstate/ifaces/ethernet.py ++++ b/libnmstate/ifaces/ethernet.py +@@ -61,6 +61,14 @@ class EthernetIface(BaseIface): + .get(Ethernet.SRIOV.TOTAL_VFS, 0) + ) + ++ @property ++ def sriov_vfs(self): ++ return ( ++ self.raw.get(Ethernet.CONFIG_SUBTREE, {}) ++ .get(Ethernet.SRIOV_SUBTREE, {}) ++ .get(Ethernet.SRIOV.VFS_SUBTREE, []) ++ ) ++ + @property + def is_peer(self): + return self._is_peer +@@ -108,6 +116,9 @@ class EthernetIface(BaseIface): + for i in range(self.sriov_total_vfs, old_sriov_total_vfs) + ] + ++ def check_total_vfs_matches_vf_list(self, total_vfs): ++ return total_vfs == len(self.sriov_vfs) ++ + + def _capitalize_sriov_vf_mac(state): + vfs = ( +diff --git a/libnmstate/ifaces/ifaces.py b/libnmstate/ifaces/ifaces.py +index 44c9e61..6c94a98 100644 +--- a/libnmstate/ifaces/ifaces.py ++++ b/libnmstate/ifaces/ifaces.py +@@ -238,6 +238,8 @@ class Ifaces: + if new_iface.name not in self._kernel_ifaces: + new_iface.mark_as_desired() + new_ifaces.append(new_iface) ++ else: ++ self._kernel_ifaces[new_iface.name].mark_as_desired() + for new_iface in new_ifaces: + self._kernel_ifaces[new_iface.name] = new_iface + +@@ -656,6 +658,18 @@ class Ifaces: + cur_iface.state_for_verify(), + ) + ) ++ elif ( ++ iface.type == InterfaceType.ETHERNET and iface.is_sriov ++ ): ++ if not cur_iface.check_total_vfs_matches_vf_list( ++ iface.sriov_total_vfs ++ ): ++ raise NmstateVerificationError( ++ "The NIC exceeded the waiting time for " ++ "verification and it is failing because " ++ "the `total_vfs` does not match the VF " ++ "list length." ++ ) + + def gen_dns_metadata(self, dns_state, route_state): + iface_metadata = dns_state.gen_metadata(self, route_state) +-- +2.27.0 + diff --git a/BZ_1931751-nmstate-fix-return-code.patch b/BZ_1931751-nmstate-fix-return-code.patch new file mode 100644 index 0000000..78b6774 --- /dev/null +++ b/BZ_1931751-nmstate-fix-return-code.patch @@ -0,0 +1,29 @@ +From b26ab850172a41557cad42cc011bd00d7c108c88 Mon Sep 17 00:00:00 2001 +From: Gris Ge +Date: Tue, 23 Feb 2021 13:52:19 +0800 +Subject: [PATCH] nmstatectl: Fix return code of set command + +The deprecated command `set` should still return the error like +old behaviour. + +Signed-off-by: Gris Ge +--- + nmstatectl/nmstatectl.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/nmstatectl/nmstatectl.py b/nmstatectl/nmstatectl.py +index df59942..c94d603 100644 +--- a/nmstatectl/nmstatectl.py ++++ b/nmstatectl/nmstatectl.py +@@ -323,7 +323,7 @@ def show(args): + + def set(args): + warnings.warn("Using 'set' is deprecated, use 'apply' instead.") +- apply(args) ++ return apply(args) + + + def apply(args): +-- +2.27.0 + diff --git a/BZ_1932247-nm-Don-t-touch-unmanaged-interface-unless-desired.patch b/BZ_1932247-nm-Don-t-touch-unmanaged-interface-unless-desired.patch new file mode 100644 index 0000000..ea46af7 --- /dev/null +++ b/BZ_1932247-nm-Don-t-touch-unmanaged-interface-unless-desired.patch @@ -0,0 +1,223 @@ +From ccdcd8f86544a6364109a0c0142d05a5afacf64e Mon Sep 17 00:00:00 2001 +From: Gris Ge +Date: Tue, 2 Mar 2021 15:31:20 +0800 +Subject: [PATCH] nm: Don't touch unmanaged interface unless desired + +We should ignore NetworkManager unmanaged interface when applying and +verifying unless certain interface listed in desired state explicitly. + +Introduced new plugin interface +`NmstatePlugin.get_ignored_kernel_interface_names()` where plugin may +include a list of interface names which should be ignored during +verification stage. + +Integration test case added to simulate CNV usage on partial editing +a linux bridge holding NM unmanaged interface. + +Signed-off-by: Gris Ge +--- + libnmstate/ifaces/base_iface.py | 3 ++ + libnmstate/ifaces/ifaces.py | 26 ++++++++-------- + libnmstate/netapplier.py | 6 ++++ + libnmstate/nispor/plugin.py | 6 +++- + libnmstate/nm/plugin.py | 25 ++++++++++++++++ + libnmstate/plugin.py | 7 +++++ + tests/integration/linux_bridge_test.py | 8 +---- + tests/integration/nm/linux_bridge_test.py | 36 ++++++++++++++++++++++- + 8 files changed, 95 insertions(+), 22 deletions(-) + +diff --git a/libnmstate/ifaces/base_iface.py b/libnmstate/ifaces/base_iface.py +index 227c1d20..e3f2a1ca 100644 +--- a/libnmstate/ifaces/base_iface.py ++++ b/libnmstate/ifaces/base_iface.py +@@ -322,6 +322,9 @@ class BaseIface: + def mark_as_up(self): + self.raw[Interface.STATE] = InterfaceState.UP + ++ def mark_as_ignored(self): ++ self.raw[Interface.STATE] = InterfaceState.IGNORE ++ + @property + def is_controller(self): + return False +diff --git a/libnmstate/ifaces/ifaces.py b/libnmstate/ifaces/ifaces.py +index 6c94a986..efa24aa3 100644 +--- a/libnmstate/ifaces/ifaces.py ++++ b/libnmstate/ifaces/ifaces.py +@@ -95,7 +95,6 @@ class Ifaces: + self._kernel_ifaces = {} + self._user_space_ifaces = _UserSpaceIfaces() + self._cur_user_space_ifaces = _UserSpaceIfaces() +- self._ignored_ifaces = set() + if cur_iface_infos: + for iface_info in cur_iface_infos: + cur_iface = _to_specific_iface_obj(iface_info, save_to_disk) +@@ -143,10 +142,6 @@ class Ifaces: + ): + # Ignore interface with unknown type + continue +- if iface.is_ignore: +- self._ignored_ifaces.add( +- (iface.name, iface.type, iface.is_user_space_only) +- ) + if cur_iface: + iface.merge(cur_iface) + iface.mark_as_desired() +@@ -169,6 +164,10 @@ class Ifaces: + + self._pre_edit_validation_and_cleanup() + ++ @property ++ def _ignored_ifaces(self): ++ return [iface for iface in self.all_ifaces() if iface.is_ignore] ++ + def _apply_copy_mac_from(self): + for iface in self.all_kernel_ifaces.values(): + if iface.type not in ( +@@ -284,7 +283,7 @@ class Ifaces: + if not defiend in desire state + """ + for iface in self.all_ifaces(): +- if iface.is_up and iface.is_controller: ++ if iface.is_desired and iface.is_up and iface.is_controller: + for port_name in iface.port: + port_iface = self._kernel_ifaces[port_name] + if not port_iface.is_desired and not port_iface.is_up: +@@ -550,13 +549,14 @@ class Ifaces: + return None + + def _remove_iface(self, iface_name, iface_type): +- cur_iface = self._cur_kernel_ifaces.get(iface_name, iface_type) ++ cur_iface = self._user_space_ifaces.get(iface_name, iface_type) + if cur_iface: + self._user_space_ifaces.remove(cur_iface) + else: + cur_iface = self._kernel_ifaces.get(iface_name) + if ( +- iface_type ++ cur_iface ++ and iface_type + and iface_type != InterfaceType.UNKNOWN + and iface_type == cur_iface.type + ): +@@ -813,14 +813,14 @@ class Ifaces: + port_controller_map[port_name] = iface.name + + def _remove_ignore_interfaces(self, ignored_ifaces): +- for iface_name, iface_type, _ in ignored_ifaces: +- self._remove_iface(iface_name, iface_type) ++ for iface in ignored_ifaces: ++ self._remove_iface(iface.name, iface.type) + + # Only kernel interface can be used as port + ignored_kernel_iface_names = set( +- iface_name +- for iface_name, _, is_user_space_only in ignored_ifaces +- if not is_user_space_only ++ iface.name ++ for iface in ignored_ifaces ++ if not iface.is_user_space_only + ) + + # Remove ignored port +diff --git a/libnmstate/netapplier.py b/libnmstate/netapplier.py +index 3c5759b4..a020f003 100644 +--- a/libnmstate/netapplier.py ++++ b/libnmstate/netapplier.py +@@ -107,8 +107,14 @@ def rollback(*, checkpoint=None): + + + def _apply_ifaces_state(plugins, net_state, verify_change, save_to_disk): ++ for plugin in plugins: ++ for iface_name in plugin.get_ignored_kernel_interface_names(): ++ iface = net_state.ifaces.all_kernel_ifaces.get(iface_name) ++ if iface and not iface.is_desired: ++ iface.mark_as_ignored() + for plugin in plugins: + plugin.apply_changes(net_state, save_to_disk) ++ + verified = False + if verify_change: + if _net_state_contains_sriov_interface(net_state): +diff --git a/libnmstate/nispor/plugin.py b/libnmstate/nispor/plugin.py +index dc0ea760..19b21d56 100644 +--- a/libnmstate/nispor/plugin.py ++++ b/libnmstate/nispor/plugin.py +@@ -159,7 +159,11 @@ class NisporPlugin(NmstatePlugin): + np_state = NisporNetState.retrieve() + logging.debug(f"Nispor: current network state {np_state}") + for iface in net_state.ifaces.all_ifaces(): +- if iface.is_desired: ++ if iface.is_ignore: ++ logging.debug( ++ f"Nispor: Interface {iface.name} {iface.type} ignored" ++ ) ++ elif iface.is_desired: + logging.debug( + f"Nispor: desired network state {iface.to_dict()}" + ) +diff --git a/libnmstate/nm/plugin.py b/libnmstate/nm/plugin.py +index 302b4cca..335d93c7 100644 +--- a/libnmstate/nm/plugin.py ++++ b/libnmstate/nm/plugin.py +@@ -36,6 +36,7 @@ from .checkpoint import get_checkpoints + from .common import NM + from .context import NmContext + from .device import get_device_common_info ++from .device import get_iface_type + from .device import list_devices + from .dns import get_running as get_dns_running + from .dns import get_running_config as get_dns_running_config +@@ -268,6 +269,21 @@ class NetworkManagerPlugin(NmstatePlugin): + ) + return NmProfiles(None).generate_config_strings(net_state) + ++ def get_ignored_kernel_interface_names(self): ++ """ ++ Return a list of unmanged kernel interface names. ++ """ ++ ignored_ifaces = set() ++ for nm_dev in list_devices(self.client): ++ if ( ++ nm_dev ++ and nm_dev.get_iface() ++ and not nm_dev.get_managed() ++ and _is_kernel_iface(nm_dev) ++ ): ++ ignored_ifaces.add(nm_dev.get_iface()) ++ return list(ignored_ifaces) ++ + + def _remove_ovs_bridge_unsupported_entries(iface_info): + """ +@@ -283,3 +299,12 @@ def _remove_ovs_bridge_unsupported_entries(iface_info): + + def _nm_utils_decode_version(): + return f"{NM.MAJOR_VERSION}.{NM.MINOR_VERSION}.{NM.MICRO_VERSION}" ++ ++ ++def _is_kernel_iface(nm_dev): ++ iface_type = get_iface_type(nm_dev) ++ return iface_type != InterfaceType.UNKNOWN and iface_type not in ( ++ InterfaceType.OVS_BRIDGE, ++ InterfaceType.OVS_INTERFACE, ++ InterfaceType.OVS_PORT, ++ ) +diff --git a/libnmstate/plugin.py b/libnmstate/plugin.py +index ef3874ff..e1d9ad58 100644 +--- a/libnmstate/plugin.py ++++ b/libnmstate/plugin.py +@@ -128,3 +128,10 @@ class NmstatePlugin(metaclass=ABCMeta): + persistently. + """ + return [] ++ ++ def get_ignored_kernel_interface_names(self): ++ """ ++ Return a list of kernel interface names which should be ignored ++ during verification stage. ++ """ ++ return [] +-- +2.29.2 + diff --git a/BZ_1961912-fix-ovs-interface-activation.patch b/BZ_1961912-fix-ovs-interface-activation.patch new file mode 100644 index 0000000..81109e5 --- /dev/null +++ b/BZ_1961912-fix-ovs-interface-activation.patch @@ -0,0 +1,137 @@ +From 95d77329b30c9a9a435a881941e27f9a1bed074e Mon Sep 17 00:00:00 2001 +From: Fernando Fernandez Mancera +Date: Wed, 5 May 2021 10:14:40 +0200 +Subject: [PATCH 1/2] nm.profile: do not activate new interfaces twice + +The current code is always adding the action MODIFIED if the interface +is marked as up on the desired state. When a new interface is being +added, Nmstate is adding two actions MODIFIED and NEW_*, that is +incorrect. + +This patch is improving the performance when creating new interfaces. + +Signed-off-by: Fernando Fernandez Mancera +Signed-off-by: Gris Ge +--- + libnmstate/nm/profile.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/libnmstate/nm/profile.py b/libnmstate/nm/profile.py +index b4814d9..e117dfe 100644 +--- a/libnmstate/nm/profile.py ++++ b/libnmstate/nm/profile.py +@@ -164,7 +164,6 @@ class NmProfile: + if self._iface.is_virtual and self._nm_dev: + self._add_action(NmProfile.ACTION_DELETE_DEVICE) + elif self._iface.is_up and not self._needs_veth_activation(): +- self._add_action(NmProfile.ACTION_MODIFIED) + if not self._nm_dev: + if self._iface.type == InterfaceType.OVS_PORT: + self._add_action(NmProfile.ACTION_NEW_OVS_PORT) +@@ -176,6 +175,8 @@ class NmProfile: + self._add_action(NmProfile.ACTION_NEW_VXLAN) + else: + self._add_action(NmProfile.ACTION_NEW_IFACES) ++ else: ++ self._add_action(NmProfile.ACTION_MODIFIED) + + elif self._iface.is_down: + if self._nm_ac: +-- +2.31.1 + + +From 9ea925a9a978671881e428abf82aac39c01376e8 Mon Sep 17 00:00:00 2001 +From: Fernando Fernandez Mancera +Date: Wed, 5 May 2021 10:52:32 +0200 +Subject: [PATCH 2/2] nm.profile: activate modified ovs-port first + +When removing an ovs-br with an ovs-iface attached and creating a new +ovs-br with the ovs-iface attached in the same transaction the order of +the activations is important. + +The ovs-port must be activated before the ovs-iface. If not, NM will +throw a dependency error. This error is correct because the ovs-iface +depends on the ovs-port, so it must be updated first. + +This fixes: + +``` +Traceback (most recent call last): + File "/usr/lib/python3.6/site-packages/libnmstate/nm/checkpoint.py", line 93, in _refresh_checkpoint_timeout + self._dbuspath, self._timeout, cancellable, cb, cb_data +TypeError: Argument 1 does not allow None as a value +^CTraceback (most recent call last): + File "/usr/lib/python3.6/site-packages/libnmstate/nmstate.py", line 53, in plugin_context + yield plugins + File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 78, in apply + _apply_ifaces_state(plugins, net_state, verify_change, save_to_disk) + File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 116, in _apply_ifaces_state + plugin.apply_changes(net_state, save_to_disk) + File "/usr/lib/python3.6/site-packages/libnmstate/nm/plugin.py", line 204, in apply_changes + NmProfiles(self.context).apply_config(net_state, save_to_disk) + File "/usr/lib/python3.6/site-packages/libnmstate/nm/profiles.py", line 89, in apply_config + self._ctx.wait_all_finish() + File "/usr/lib/python3.6/site-packages/libnmstate/nm/context.py", line 213, in wait_all_finish + raise tmp_error +libnmstate.error.NmstateLibnmError: Activate profile uuid:3a359cd0-d68a-4c7a-ae50-f97b47390142 iface:net type: ovs-interface failed: reason= +``` + +Integration test added + +Ref: https://bugzilla.redhat.com/1947287 + +Signed-off-by: Fernando Fernandez Mancera +Signed-off-by: Gris Ge +--- + libnmstate/nm/profile.py | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/libnmstate/nm/profile.py b/libnmstate/nm/profile.py +index e117dfe..b655885 100644 +--- a/libnmstate/nm/profile.py ++++ b/libnmstate/nm/profile.py +@@ -69,6 +69,8 @@ class NmProfile: + ACTION_OTHER_MASTER = "other_master" + ACTION_DELETE_PROFILE = "delete_profile" + ACTION_TOP_MASTER = "top_master" ++ ACTION_MODIFIED_OVS_PORT = "modified_ovs_port" ++ ACTION_MODIFIED_OVS_IFACE = "modified_ovs_iface" + + # This is order on group for activation/deactivation + ACTIONS = ( +@@ -81,6 +83,8 @@ class NmProfile: + ACTION_NEW_OVS_IFACE, + ACTION_NEW_VETH, + ACTION_NEW_VETH_PEER, ++ ACTION_MODIFIED_OVS_PORT, ++ ACTION_MODIFIED_OVS_IFACE, + ACTION_MODIFIED, + ACTION_NEW_VLAN, + ACTION_NEW_VXLAN, +@@ -176,7 +180,12 @@ class NmProfile: + else: + self._add_action(NmProfile.ACTION_NEW_IFACES) + else: +- self._add_action(NmProfile.ACTION_MODIFIED) ++ if self._iface.type == InterfaceType.OVS_PORT: ++ self._add_action(NmProfile.ACTION_MODIFIED_OVS_PORT) ++ if self._iface.type == InterfaceType.OVS_INTERFACE: ++ self._add_action(NmProfile.ACTION_MODIFIED_OVS_IFACE) ++ else: ++ self._add_action(NmProfile.ACTION_MODIFIED) + + elif self._iface.is_down: + if self._nm_ac: +@@ -420,6 +429,8 @@ class NmProfile: + def do_action(self, action): + if action in ( + NmProfile.ACTION_MODIFIED, ++ NmProfile.ACTION_MODIFIED_OVS_PORT, ++ NmProfile.ACTION_MODIFIED_OVS_IFACE, + NmProfile.ACTION_ACTIVATE_FIRST, + NmProfile.ACTION_TOP_MASTER, + NmProfile.ACTION_NEW_IFACES, +-- +2.31.1 + diff --git a/BZ_1961914-do-not-use-unmanaged-interface-for-dns.patch b/BZ_1961914-do-not-use-unmanaged-interface-for-dns.patch new file mode 100644 index 0000000..c6b7af3 --- /dev/null +++ b/BZ_1961914-do-not-use-unmanaged-interface-for-dns.patch @@ -0,0 +1,163 @@ +From 72edab395316ba1ae69ea4d788b0572c935759ac Mon Sep 17 00:00:00 2001 +From: Fernando Fernandez Mancera +Date: Tue, 27 Apr 2021 10:19:02 +0200 +Subject: [PATCH] net_state: mark ifaces as ignored earlier + +Nmstate is not touching unmanaged interfaces if they are not being +included in the desired state. If an unmanaged interface has a default +gateway configured and we try to add a dns server, Nmstate will pick the +unmanaged interface because at that point it is not marked as ignored. + +As the interface is being marked as ignored later, the changes are not +being applied and is failing on verification. In order to avoid this, +the unmanaged interfaces should be marked as ignored earlier so they are +not considered for DNS/Routes changes. + +Ref: https://bugzilla.redhat.com/1944582 + +Signed-off-by: Fernando Fernandez Mancera +Signed-off-by: Gris Ge +--- + libnmstate/dns.py | 11 +++++++++-- + libnmstate/net_state.py | 13 +++++++++++-- + libnmstate/netapplier.py | 19 +++++++++++++------ + 3 files changed, 33 insertions(+), 10 deletions(-) + +diff --git a/libnmstate/dns.py b/libnmstate/dns.py +index 1fb2cc8..d44a869 100644 +--- a/libnmstate/dns.py ++++ b/libnmstate/dns.py +@@ -133,7 +133,7 @@ class DnsState: + Return tuple: (ipv4_iface, ipv6_iface) + """ + ipv4_iface, ipv6_iface = self._find_ifaces_with_static_gateways( +- route_state ++ ifaces, route_state + ) + if not (ipv4_iface and ipv6_iface): + ( +@@ -147,7 +147,7 @@ class DnsState: + + return ipv4_iface, ipv6_iface + +- def _find_ifaces_with_static_gateways(self, route_state): ++ def _find_ifaces_with_static_gateways(self, ifaces, route_state): + """ + Return tuple of interfaces with IPv4 and IPv6 static gateways. + """ +@@ -158,6 +158,11 @@ class DnsState: + if ipv4_iface and ipv6_iface: + return (ipv4_iface, ipv6_iface) + if route.is_gateway: ++ # Only interfaces not ignored can be considered as valid ++ # static gateway for nameservers. ++ iface = ifaces.all_kernel_ifaces.get(iface_name) ++ if iface and iface.is_ignore: ++ continue + if route.is_ipv6: + ipv6_iface = iface_name + else: +@@ -168,6 +173,8 @@ class DnsState: + ipv4_iface = None + ipv6_iface = None + for iface in ifaces.all_kernel_ifaces.values(): ++ if iface.is_ignore: ++ continue + if ipv4_iface and ipv6_iface: + return (ipv4_iface, ipv6_iface) + for family in (Interface.IPV4, Interface.IPV6): +diff --git a/libnmstate/net_state.py b/libnmstate/net_state.py +index 5dc7b43..713b7dc 100644 +--- a/libnmstate/net_state.py ++++ b/libnmstate/net_state.py +@@ -1,5 +1,5 @@ + # +-# Copyright (c) 2020 Red Hat, Inc. ++# Copyright (c) 2020-2021 Red Hat, Inc. + # + # This file is part of nmstate + # +@@ -26,8 +26,8 @@ from libnmstate.schema import Interface + from libnmstate.schema import Route + from libnmstate.schema import RouteRule + +-from .ifaces import Ifaces + from .dns import DnsState ++from .ifaces import Ifaces + from .route import RouteState + from .route_rule import RouteRuleState + from .state import state_match +@@ -37,6 +37,7 @@ class NetState: + def __init__( + self, + desire_state, ++ ignored_ifnames=[], + current_state=None, + save_to_disk=True, + gen_conf_mode=False, +@@ -49,6 +50,8 @@ class NetState: + save_to_disk, + gen_conf_mode, + ) ++ if not gen_conf_mode: ++ self._mark_ignored_kernel_ifaces(ignored_ifnames) + self._route = RouteState( + self._ifaces, + desire_state.get(Route.KEY), +@@ -70,6 +73,12 @@ class NetState: + self._ifaces.gen_route_metadata(self._route) + self._ifaces.gen_route_rule_metadata(self._route_rule, self._route) + ++ def _mark_ignored_kernel_ifaces(self, ignored_ifnames): ++ for iface_name in ignored_ifnames: ++ iface = self._ifaces.all_kernel_ifaces.get(iface_name) ++ if iface and not iface.is_desired: ++ iface.mark_as_ignored() ++ + def verify(self, current_state): + self._ifaces.verify(current_state.get(Interface.KEY)) + self._dns.verify(current_state.get(DNS.KEY)) +diff --git a/libnmstate/netapplier.py b/libnmstate/netapplier.py +index a020f00..202494d 100644 +--- a/libnmstate/netapplier.py ++++ b/libnmstate/netapplier.py +@@ -73,7 +73,10 @@ def apply( + validator.validate_capabilities( + desired_state, plugins_capabilities(plugins) + ) +- net_state = NetState(desired_state, current_state, save_to_disk) ++ ignored_ifnames = _get_ignored_interface_names(plugins) ++ net_state = NetState( ++ desired_state, ignored_ifnames, current_state, save_to_disk ++ ) + checkpoints = create_checkpoints(plugins, rollback_timeout) + _apply_ifaces_state(plugins, net_state, verify_change, save_to_disk) + if commit: +@@ -107,11 +110,6 @@ def rollback(*, checkpoint=None): + + + def _apply_ifaces_state(plugins, net_state, verify_change, save_to_disk): +- for plugin in plugins: +- for iface_name in plugin.get_ignored_kernel_interface_names(): +- iface = net_state.ifaces.all_kernel_ifaces.get(iface_name) +- if iface and not iface.is_desired: +- iface.mark_as_ignored() + for plugin in plugins: + plugin.apply_changes(net_state, save_to_disk) + +@@ -145,3 +143,12 @@ def _net_state_contains_sriov_interface(net_state): + def _verify_change(plugins, net_state): + current_state = show_with_plugins(plugins) + net_state.verify(current_state) ++ ++ ++def _get_ignored_interface_names(plugins): ++ ifaces = set() ++ for plugin in plugins: ++ for iface_name in plugin.get_ignored_kernel_interface_names(): ++ ifaces.add(iface_name) ++ ++ return ifaces +-- +2.31.1 + diff --git a/BZ_1964439-ovs-Fix-is_ovs_running-in-container-environment.patch b/BZ_1964439-ovs-Fix-is_ovs_running-in-container-environment.patch new file mode 100644 index 0000000..5856e10 --- /dev/null +++ b/BZ_1964439-ovs-Fix-is_ovs_running-in-container-environment.patch @@ -0,0 +1,222 @@ +From 48c7645ce8849ac31298e6c2b1d5661d0f581279 Mon Sep 17 00:00:00 2001 +From: Gris Ge +Date: Mon, 17 May 2021 16:09:52 +0800 +Subject: [PATCH 1/2] ovs: Fix `is_ovs_running()` in container environment. + +In k8s container environment, the OVS database socket +/var/run/openvswitch/db.sock is mounted from host, so NM can managed it +without the ovs daemon running in container. + +To support that, this patch removed the top level checking on +`is_ovs_running()` and trust plugin raise the proper error on failure. + +Patched the NM plugin to check the error +`NM.DeviceStateReason.OVSDB_FAILED` on activation failure, raise +`NmstateDependencyError` if OVS DB failed to connected. + +NM will not raise any error when creating OVS internal interface with +OVSDB mounted to /dev/null, NM will keep showing the OVS interface as +ACTIVATING, changed the fallback checker to give only 30 seconds for OVS +interface to exit `NM.DeviceState.PREPARE`, if not treat it as OVS +daemon malfunctioning. + +Updated integration test case to mask(mount /dev/null) the OVS DB socket +file for simulating the stopped OVS daemon. + +Signed-off-by: Gris Ge +Signed-off-by: Fernando Fernandez Mancera +--- + libnmstate/ifaces/ovs.py | 15 ---------- + libnmstate/nm/active_connection.py | 47 ++++++++++++++++++++++++++---- + libnmstate/nm/plugin.py | 3 +- + libnmstate/validator.py | 16 +++------- + tests/integration/ovs_test.py | 41 +++++++++++--------------- + 5 files changed, 64 insertions(+), 58 deletions(-) + +diff --git a/libnmstate/ifaces/ovs.py b/libnmstate/ifaces/ovs.py +index 24d4aba..28892ad 100644 +--- a/libnmstate/ifaces/ovs.py ++++ b/libnmstate/ifaces/ovs.py +@@ -19,7 +19,6 @@ + + from copy import deepcopy + from operator import itemgetter +-import subprocess + import warnings + + from libnmstate.error import NmstateValueError +@@ -252,20 +251,6 @@ class OvsInternalIface(BaseIface): + self._info.pop(Interface.MAC, None) + + +-def is_ovs_running(): +- try: +- subprocess.run( +- ("systemctl", "status", "openvswitch"), +- stdout=subprocess.DEVNULL, +- stderr=subprocess.DEVNULL, +- check=True, +- timeout=SYSTEMCTL_TIMEOUT_SECONDS, +- ) +- return True +- except Exception: +- return False +- +- + def is_ovs_lag_port(port_state): + return port_state.get(OVSBridge.Port.LINK_AGGREGATION_SUBTREE) is not None + +diff --git a/libnmstate/nm/active_connection.py b/libnmstate/nm/active_connection.py +index ddf93a7..150256f 100644 +--- a/libnmstate/nm/active_connection.py ++++ b/libnmstate/nm/active_connection.py +@@ -20,6 +20,7 @@ + import logging + + from libnmstate.error import NmstateLibnmError ++from libnmstate.error import NmstateDependencyError + from libnmstate.error import NmstateInternalError + + from .common import GLib +@@ -33,6 +34,7 @@ from .ipv6 import is_dynamic as is_ipv6_dynamic + + NM_AC_STATE_CHANGED_SIGNAL = "state-changed" + FALLBACK_CHECKER_INTERNAL = 15 ++MAX_OVS_IFACE_PREPARE_TIME = FALLBACK_CHECKER_INTERNAL * 2 + GIO_ERROR_DOMAIN = "g-io-error-quark" + + +@@ -92,6 +94,7 @@ class ProfileActivation: + self._dev_handlers = set() + self._action = None + self._fallback_checker = None ++ self._fallback_checker_counter = 0 + + def run(self): + specific_object = None +@@ -336,19 +339,53 @@ class ProfileActivation: + self._activation_clean_up() + self._ctx.finish_async(self._action) + elif not is_activating(self._nm_ac, self._nm_dev): +- reason = f"{self._nm_ac.get_state_reason()}" ++ nm_ac_reason = f"{self._nm_ac.get_state_reason()}" ++ nm_dev_reason = None + if self._nm_dev: +- reason += f" {self._nm_dev.get_state_reason()}" ++ nm_dev_reason = self._nm_dev.get_state_reason() ++ ++ if nm_dev_reason == NM.DeviceStateReason.OVSDB_FAILED: ++ error = NmstateDependencyError( ++ f"{self._action} failed: failed to communicating with " ++ f"Open vSwitch database, {nm_dev_reason}" ++ ) ++ else: ++ reason = nm_ac_reason + ( ++ str(nm_dev_reason) if nm_dev_reason else "" ++ ) ++ error = NmstateLibnmError( ++ f"{self._action} failed: reason={reason}" ++ ) + self._activation_clean_up() +- self._ctx.fail( +- NmstateLibnmError(f"{self._action} failed: reason={reason}") +- ) ++ self._ctx.fail(error) + + def _fallback_checker_callback(self, _user_data): ++ self._fallback_checker_counter += 1 + nm_dev = get_nm_dev(self._ctx, self._iface_name, self._iface_type) + if nm_dev: + self._nm_dev = nm_dev + self._activation_progress_check() ++ # When OVSDB connection is invalid(such as been mounted as ++ # /dev/null), NM will hang on the activation of ovs internal ++ # interface with state ACITVATING with reason UNKNOWN forever with ++ # no state change signal. The fallback check only found it ++ # as activating which lead us hang till killed by idle timeout. ++ # To prevent that, when we found OVS interface interface in ++ # `NM.DeviceState.PREPARE` on in second call of fallbacker, ++ # we fail the action as NmstateDependencyError. ++ if ( ++ self._fallback_checker_counter ++ >= MAX_OVS_IFACE_PREPARE_TIME / FALLBACK_CHECKER_INTERNAL ++ and nm_dev.get_device_type() == NM.DeviceType.OVS_INTERFACE ++ and nm_dev.get_state() == NM.DeviceState.PREPARE ++ ): ++ self._ctx.fail( ++ NmstateDependencyError( ++ f"{self._action} failed: timeout on creating OVS " ++ "interface, please check Open vSwitch daemon" ++ ) ++ ) ++ + return GLib.SOURCE_CONTINUE + + +diff --git a/libnmstate/nm/plugin.py b/libnmstate/nm/plugin.py +index 335d93c..da933b3 100644 +--- a/libnmstate/nm/plugin.py ++++ b/libnmstate/nm/plugin.py +@@ -23,7 +23,6 @@ from operator import itemgetter + from libnmstate.error import NmstateDependencyError + from libnmstate.error import NmstateNotSupportedError + from libnmstate.error import NmstateValueError +-from libnmstate.ifaces.ovs import is_ovs_running + from libnmstate.schema import DNS + from libnmstate.schema import Interface + from libnmstate.schema import InterfaceType +@@ -103,7 +102,7 @@ class NetworkManagerPlugin(NmstatePlugin): + @property + def capabilities(self): + capabilities = [] +- if has_ovs_capability(self.client) and is_ovs_running(): ++ if has_ovs_capability(self.client): + capabilities.append(NmstatePlugin.OVS_CAPABILITY) + if has_team_capability(self.client): + capabilities.append(NmstatePlugin.TEAM_CAPABILITY) +diff --git a/libnmstate/validator.py b/libnmstate/validator.py +index 02890b4..cd3b540 100644 +--- a/libnmstate/validator.py ++++ b/libnmstate/validator.py +@@ -22,7 +22,6 @@ import logging + + import jsonschema as js + +-from libnmstate.ifaces.ovs import is_ovs_running + from libnmstate.schema import Interface + from libnmstate.schema import InterfaceType + from libnmstate.error import NmstateDependencyError +@@ -50,7 +49,6 @@ def validate_interface_capabilities(ifaces_state, capabilities): + ifaces_types = {iface_state.get("type") for iface_state in ifaces_state} + has_ovs_capability = NmstatePlugin.OVS_CAPABILITY in capabilities + has_team_capability = NmstatePlugin.TEAM_CAPABILITY in capabilities +- ovs_is_running = is_ovs_running() + for iface_type in ifaces_types: + is_ovs_type = iface_type in ( + InterfaceType.OVS_BRIDGE, +@@ -58,18 +56,12 @@ def validate_interface_capabilities(ifaces_state, capabilities): + InterfaceType.OVS_PORT, + ) + if is_ovs_type and not has_ovs_capability: +- if not ovs_is_running: +- raise NmstateDependencyError( +- "openvswitch service is not started." +- ) +- else: +- raise NmstateDependencyError( +- "Open vSwitch NetworkManager support not installed " +- "and started" +- ) ++ raise NmstateDependencyError( ++ "Open vSwitch support not properly installed or started" ++ ) + elif iface_type == InterfaceType.TEAM and not has_team_capability: + raise NmstateDependencyError( +- "NetworkManager-team plugin not installed and started" ++ "Team support not properly installed or started" + ) + + +-- +2.31.1 + diff --git a/BZ_1964440-nm-ipv4-Deactivate-profile-when-route-removed.patch b/BZ_1964440-nm-ipv4-Deactivate-profile-when-route-removed.patch new file mode 100644 index 0000000..1ffe314 --- /dev/null +++ b/BZ_1964440-nm-ipv4-Deactivate-profile-when-route-removed.patch @@ -0,0 +1,86 @@ +From af8199135907d300014b5052571ca3e445455af7 Mon Sep 17 00:00:00 2001 +From: Gris Ge +Date: Tue, 25 May 2021 16:50:06 +0800 +Subject: [PATCH 2/2] nm ipv4: Deactivate profile when route removed. + +The bug https://bugzilla.redhat.com/show_bug.cgi?id=1962551 has shown +IPv4 route also share the same problem. + +Whenever we got a route removal, we deactivate that profile via +NetworkManager. + +Integration test case included. + +Signed-off-by: Gris Ge +Signed-off-by: Fernando Fernandez Mancera +--- + libnmstate/nm/profile.py | 5 +++-- + libnmstate/route.py | 19 +++++++---------- + tests/integration/route_test.py | 37 ++++++++++++++++++++++++++++++--- + 3 files changed, 45 insertions(+), 16 deletions(-) + +diff --git a/libnmstate/nm/profile.py b/libnmstate/nm/profile.py +index b655885..6b20b21 100644 +--- a/libnmstate/nm/profile.py ++++ b/libnmstate/nm/profile.py +@@ -49,7 +49,7 @@ from .translator import Api2Nm + IMPORT_NM_DEV_TIMEOUT = 5 + IMPORT_NM_DEV_RETRY_INTERNAL = 0.5 + FALLBACK_CHECKER_INTERNAL = 15 +-IPV6_ROUTE_REMOVED = "_ipv6_route_removed" ++ROUTE_REMOVED = "_route_removed" + + + class NmProfile: +@@ -193,9 +193,10 @@ class NmProfile: + elif self._iface.is_virtual and self._nm_dev: + self._add_action(NmProfile.ACTION_DELETE_DEVICE) + +- if self._iface.raw.get(IPV6_ROUTE_REMOVED): ++ if self._iface.raw.get(ROUTE_REMOVED): + # This is a workaround for NM bug: + # https://bugzilla.redhat.com/1837254 ++ # https://bugzilla.redhat.com/1962551 + self._add_action(NmProfile.ACTION_DEACTIVATE_FIRST) + + if self._iface.is_controller and self._iface.is_up: +diff --git a/libnmstate/route.py b/libnmstate/route.py +index cdea198..d373427 100644 +--- a/libnmstate/route.py ++++ b/libnmstate/route.py +@@ -36,7 +36,7 @@ from .state import StateEntry + DEFAULT_ROUTE_TABLE = 254 + + +-IPV6_ROUTE_REMOVED = "_ipv6_route_removed" ++ROUTE_REMOVED = "_route_removed" + + + class RouteEntry(StateEntry): +@@ -235,16 +235,13 @@ class RouteState: + for route in route_set: + if not rt.match(route): + new_routes.add(route) +- if route.is_ipv6: +- # The routes match and therefore it is being removed. +- # Nmstate will check if it is an IPv6 route and if so, +- # marking the interface as deactivate first. +- # +- # This is a workaround for NM bug: +- # https://bugzilla.redhat.com/1837254 +- ifaces.all_kernel_ifaces[iface_name].raw[ +- IPV6_ROUTE_REMOVED +- ] = True ++ # The routes match and therefore it is being removed. ++ # marking the interface as deactivate first. ++ # ++ # This is a workaround for NM bug: ++ # https://bugzilla.redhat.com/1837254 ++ # https://bugzilla.redhat.com/1962551 ++ ifaces.all_kernel_ifaces[iface_name].raw[ROUTE_REMOVED] = True + if new_routes != route_set: + self._routes[iface_name] = new_routes + +-- +2.31.1 + diff --git a/BZ_1966379_fix_bond_opt_tlb_dynamic_lb.patch b/BZ_1966379_fix_bond_opt_tlb_dynamic_lb.patch new file mode 100644 index 0000000..1d70d68 --- /dev/null +++ b/BZ_1966379_fix_bond_opt_tlb_dynamic_lb.patch @@ -0,0 +1,74 @@ +From e503eb8241dda600ef16741c29cab83443ae0528 Mon Sep 17 00:00:00 2001 +From: Gris Ge +Date: Tue, 1 Jun 2021 10:13:33 +0800 +Subject: [PATCH 1/2] nm bond: Fixing `tlb_dynamic_lb` option + +NM only takes 1 or 0 for True/False, currently only "use_carrier" +and "tlb_dynamic_lb" are boolean. + +Integration test case included. NM 1.31 is required for bug +https://bugzilla.redhat.com/show_bug.cgi?id=1959934 + +Signed-off-by: Gris Ge +--- + libnmstate/nm/bond.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libnmstate/nm/bond.py b/libnmstate/nm/bond.py +index cebac4d..067d87f 100644 +--- a/libnmstate/nm/bond.py ++++ b/libnmstate/nm/bond.py +@@ -92,7 +92,7 @@ def _nm_fix_bond_options(option_name, option_value): + option_name, option_value + ) + ) +- elif option_name == "use_carrier": ++ elif option_name in ("use_carrier", "tlb_dynamic_lb"): + option_value = 1 if option_value else 0 + + return str(option_value) +-- +2.31.1 + + +From 1d6c7715dfbcb5021016bcd7b4f1f9fa357b2f20 Mon Sep 17 00:00:00 2001 +From: Gris Ge +Date: Tue, 1 Jun 2021 10:41:57 +0800 +Subject: [PATCH 2/2] nm bond: Fix preserving `all_slaves_active` option + +When `all_slaves_active` was previously set via nmstate or NM, follow up +bond modification will fail with: + + NmstateNotImplementedError: Unsupported bond option: 'all_slaves_active'='0' + +This is because the option returned by `_get_bond_options_from_profiles()` is +not canonicalized. + +Expand the check to cover `1` and `0`. + +Integration test case included. + +Signed-off-by: Gris Ge +--- + libnmstate/nm/bond.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libnmstate/nm/bond.py b/libnmstate/nm/bond.py +index 067d87f..1642319 100644 +--- a/libnmstate/nm/bond.py ++++ b/libnmstate/nm/bond.py +@@ -82,9 +82,9 @@ def create_setting(iface, wired_setting, base_con_profile): + + def _nm_fix_bond_options(option_name, option_value): + if option_name == "all_slaves_active": +- if option_value == "delivered": ++ if option_value in ("delivered", "1"): + option_value = 1 +- elif option_value == "dropped": ++ elif option_value in ("dropped", "0"): + option_value = 0 + else: + raise NmstateNotImplementedError( +-- +2.31.1 + diff --git a/BZ_1966457_Fix_bond_fail_over_mac.patch b/BZ_1966457_Fix_bond_fail_over_mac.patch new file mode 100644 index 0000000..c72cc8f --- /dev/null +++ b/BZ_1966457_Fix_bond_fail_over_mac.patch @@ -0,0 +1,35 @@ +From b1e94d1aa04f51b2d15711c8e7ab37198b173065 Mon Sep 17 00:00:00 2001 +From: Gris Ge +Date: Tue, 1 Jun 2021 16:33:15 +0800 +Subject: [PATCH] bond: Fix bond fail_over_mac=active + +With bond interface in fail_over_mac=active and active-backup mode, +any future change via nmstate will fail as nmstate is validating +on current state instead of desire state for this bond mac restriction. + +Fixed the code to only validate bond mac restriction on desired or +changed bond interface. + +Integration test case include. + +Signed-off-by: Gris Ge +--- + libnmstate/ifaces/bond.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libnmstate/ifaces/bond.py b/libnmstate/ifaces/bond.py +index 138386e..01859b0 100644 +--- a/libnmstate/ifaces/bond.py ++++ b/libnmstate/ifaces/bond.py +@@ -88,7 +88,7 @@ class BondIface(BaseIface): + + def pre_edit_validation_and_cleanup(self): + super().pre_edit_validation_and_cleanup() +- if self.is_up: ++ if self.is_up and (self.is_desired or self.is_changed): + self._discard_bond_option_when_mode_change() + self._validate_bond_mode() + self._fix_mac_restriced_mode() +-- +2.31.1 + diff --git a/BZ_1966457_only_validate_desired_bond.patch b/BZ_1966457_only_validate_desired_bond.patch new file mode 100644 index 0000000..fd4a581 --- /dev/null +++ b/BZ_1966457_only_validate_desired_bond.patch @@ -0,0 +1,32 @@ +From 355bc8f052e35084405343a0b94ccf06007c31f3 Mon Sep 17 00:00:00 2001 +From: Gris Ge +Date: Wed, 2 Jun 2021 19:53:25 +0800 +Subject: [PATCH] bond: Don't validate current bond status + +If a bond interface is only marked as changed due to other +interface(like bridge port list change), its original desire information +is fully read from current status, there is no need to validate it. + +The fix is only validate on desired bond interface. + +Signed-off-by: Gris Ge +--- + libnmstate/ifaces/bond.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libnmstate/ifaces/bond.py b/libnmstate/ifaces/bond.py +index 01859b0..6311f5f 100644 +--- a/libnmstate/ifaces/bond.py ++++ b/libnmstate/ifaces/bond.py +@@ -88,7 +88,7 @@ class BondIface(BaseIface): + + def pre_edit_validation_and_cleanup(self): + super().pre_edit_validation_and_cleanup() +- if self.is_up and (self.is_desired or self.is_changed): ++ if self.is_up and self.is_desired: + self._discard_bond_option_when_mode_change() + self._validate_bond_mode() + self._fix_mac_restriced_mode() +-- +2.31.1 + diff --git a/gpgkey-F7910D93CA83D77348595C0E899014C0463C12BB.asc b/gpgkey-F7910D93CA83D77348595C0E899014C0463C12BB.asc deleted file mode 100644 index 5c599f3..0000000 --- a/gpgkey-F7910D93CA83D77348595C0E899014C0463C12BB.asc +++ /dev/null @@ -1,50 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- - -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 -=yD6X ------END PGP PUBLIC KEY BLOCK----- diff --git a/nmstate-0.2.7.tar.gz b/nmstate-0.2.7.tar.gz deleted file mode 100644 index 219d12190d473e5611823494f39935e435bd3685..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73529 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 diff --git a/nmstate-0.2.7.tar.gz.asc b/nmstate-0.2.7.tar.gz.asc deleted file mode 100644 index d2ecc91..0000000 --- a/nmstate-0.2.7.tar.gz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.22 (GNU/Linux) - -iQIcBAABAgAGBQJeX5uWAAoJEImQFMBGPBK7oKMQAIBxLApPeRx4ueNYRhaqCBLZ -SBNfZNpxTfvVRG8fB6zKZMdgQtM4bA6Yf2F3KaZnczVbY01utbWx1tSIA/dSke3c -EFCZ/c+eE4NWDJtDGcAXuoloHLdLxpxyQYXUu0NRSD0GmMeT+oe4+Cd8DQAjqIKR -ng5R/TZ2NouwRnTEUyyLmD2tyPPOkcj2PJRyOiFf5dgdryNSbATBcutQNbbVXgVg -7Ealitp9GH+8rVhRuRFQmbbpx+zjF/keU2489IWVDU+7s5SxH9cU08tXefjS8djH -cH5KmF8CJZ429TUIkWtJbzIiqQS2IwXyOJ1KIWAfuPsfFnNIFlP4xPwSrHrp2YKG -O2RwX+///ji83hSIwC9KlWf6LXobsAa4cWXq5dIQw4Qlu7LaI+czr5xbJ6yfrdtf -YPwhWMyh3tc6IOYSXh7c9FqyalHhOwvcjnL/Gynr0qs5knFoC/buVnzgmWTqYNir -gQZaQs1nf1toc4YtsBduiwV4CmUTaS8l8pdlpZ0JLk1A9+FmXHeKgbIqqmEqcGXL -6CCqZM/dRJBLC5mDfTdZOOawkugkyVrL5g/Ygq2shgDsgeefFdP1l4o1Kh5halNj -f1fMmkUE3tMuGh0qdN79hw2R7WRgmv2rLH2PzhJbKw07k20qMEzaCay1mehS7ORy -Ccq3dYiS5o8JokEUXpqz -=p69R ------END PGP SIGNATURE----- diff --git a/nmstate-1.0.2.tar.gz b/nmstate-1.0.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..60473e0ff90d6502ec3cbf5971d48fcf40925815 GIT binary patch literal 112671 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¥#FF?6+OF6!oCt%~xFH2Yl`X3y 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 literal 0 HcmV?d00001 diff --git a/nmstate-1.0.2.tar.gz.asc b/nmstate-1.0.2.tar.gz.asc new file mode 100644 index 0000000..ef664a4 --- /dev/null +++ b/nmstate-1.0.2.tar.gz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEfUQ+BAINyWGvqJXerIciWuEsPqMFAmAueEYACgkQrIciWuEs +PqPJxw//UmWdCJgoClFkEpWqWUkjMmfkGh70PoxtuOeNrAYwHv9zCHDBFjLtaDG1 +18+jakwrVIlTiFHZqfz1g3o0Te86w5rKiU2y0FBtBPZ1cdcJZk2Is5wb/JJo78n+ +9sWRfZmSN0SMiJ5HfzhTdZ2RsZYRSaDPSUxchRY03LzsBusxoK8swWu9oUHqmYKd +S3k4skP5ZQvpHtKzq9w1lfU4YAw42sRvXHW/++HqGgE0rypf+Wlcu9C+It9kVLCr +3rdp8iTGTg+LRg7LxFmEsRlmPpxhO25LaxjFvYSFnhE94xOt28KXeHBYs8hPPRwh ++z2w6zJ3hgIrLh10IPzePTWk//KNWDRaAJXQTCma1UE4jdL3+wbxb8H3vl5VCrBU +3fuj3JwfvFU1NuDf+yuJ0sCKzNXaAzpYYgfIaCaPdtBpg5jl2DTEfEF8QZKYuJDU +ueCo6reBAlwJzce433aSzBXshFbHG/RdD09duS3p84Dn6ljEN3GfJwUAC9s9TsAQ +U5+rWog6zMpVke/9yqwEf1KmqtLM3/+Ih30CHb3ZoPTf05KB14k0d1CLDdC9d9dy +gN0w8xjdTUXbUXW/XIvRVX9KWqyNI6lnZoL0MWzPwUmMxwPJkRpAVpLKpgyUrVpD +yjtLTFDZJNmfmbi2b0myFFcc2chaXmYlpLCP8vfRYJA3mCee6Xg= +=b/Mh +-----END PGP SIGNATURE----- diff --git a/nmstate.gpg b/nmstate.gpg new file mode 100644 index 0000000..1c4631f --- /dev/null +++ b/nmstate.gpg @@ -0,0 +1,379 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +qQ== +=iT4N +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=yD6X +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +jXY3xoBTq94SsA== +=Y8tq +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +qvuXBO8wSn2p2qJiu3fconD4UQ/pBfQwDQ== +=seEJ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/nmstate.spec b/nmstate.spec index 46efcbb..c276b56 100644 --- a/nmstate.spec +++ b/nmstate.spec @@ -3,14 +3,27 @@ %define libname libnmstate Name: nmstate -Version: 0.2.7 -Release: 1 +Version: 1.0.2 +Release: 11 Summary: Declarative network manager API License: LGPLv2+ URL: https://github.com/%{srcname}/%{srcname} -Source0: %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz -Source1: %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz.asc -Source2: gpgkey-F7910D93CA83D77348595C0E899014C0463C12BB.asc +#from %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz +Source0: %{srcname}-%{version}.tar.gz +#from %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz.asc +Source1: %{srcname}-%{version}.tar.gz.asc +#from https://www.nmstate.io/nmstate.gpg +Source2: nmstate.gpg +Patch1: BZ_1931751-nmstate-fix-return-code.patch +Patch2: BZ_1931355-SRIOV-wait-VF-mount-decrease.patch +Patch3: BZ_1932247-nm-Don-t-touch-unmanaged-interface-unless-desired.patch +Patch4: BZ_1961914-do-not-use-unmanaged-interface-for-dns.patch +Patch5: BZ_1961912-fix-ovs-interface-activation.patch +Patch6: BZ_1964439-ovs-Fix-is_ovs_running-in-container-environment.patch +Patch7: BZ_1964440-nm-ipv4-Deactivate-profile-when-route-removed.patch +Patch8: BZ_1966379_fix_bond_opt_tlb_dynamic_lb.patch +Patch9: BZ_1966457_Fix_bond_fail_over_mac.patch +Patch10: BZ_1966457_only_validate_desired_bond.patch BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3-setuptools @@ -27,7 +40,7 @@ provider support on the southbound. %package -n python3-%{libname} Summary: nmstate Python 3 API library -Requires: NetworkManager-libnm >= 1:1.22.8 +Requires: NetworkManager-libnm >= 1:1.26.0 # Use Recommends for NetworkManager because only access to NM DBus is required, # but NM could be running on a different host Recommends: NetworkManager @@ -37,15 +50,26 @@ Recommends: NetworkManager-config-server # required for OVS and team support Suggests: NetworkManager-ovs Suggests: NetworkManager-team +Requires: nispor +Requires: python3dist(varlink) +%package -n nmstate-plugin-ovsdb +Summary: nmstate plugin for OVS database manipulation +Requires: python3-%{libname} = %{?epoch:%{epoch}:}%{version}-%{release} +# The python-openvswitch rpm pacakge is not in the same repo with nmstate, +# hence state it as Recommends, no requires. +Recommends: python3dist(ovs) %description -n python3-%{libname} -This package contains the Python 3 library for Nmstate. +This package contains the Python 3 library for nmstate. + +%description -n nmstate-plugin-ovsdb +This package contains the nmstate plugin for OVS database manipulation. %prep -gpg2 --import --import-options import-export,import-minimal %{SOURCE2} > ./gpgkey-F7910D93CA83D77348595C0E899014C0463C12BB.gpg -gpgv2 --keyring ./gpgkey-F7910D93CA83D77348595C0E899014C0463C12BB.gpg %{SOURCE1} %{SOURCE0} -%setup -q +gpg2 --import --import-options import-export,import-minimal %{SOURCE2} > ./gpgkey-mantainers.gpg +gpgv2 --keyring ./gpgkey-mantainers.gpg %{SOURCE1} %{SOURCE0} +%autosetup -p1 %build %py3_build @@ -64,7 +88,15 @@ gpgv2 --keyring ./gpgkey-F7910D93CA83D77348595C0E899014C0463C12BB.gpg %{SOURCE1} %license LICENSE %{python3_sitelib}/%{libname} %{python3_sitelib}/%{srcname}-*.egg-info/ +%exclude %{python3_sitelib}/%{libname}/plugins/nmstate_plugin_* +%exclude %{python3_sitelib}/%{libname}/plugins/__pycache__/nmstate_plugin_* + +%files -n nmstate-plugin-ovsdb +%{python3_sitelib}/%{libname}/plugins/nmstate_plugin_ovsdb* +%{python3_sitelib}/%{libname}/plugins/__pycache__/nmstate_plugin_ovsdb* %changelog +* Thu Jul 8 2021 kymayl - 1.0.2-11 +- Package upgrade * Fri Jul 2 2021 kymayl - 0.2.7-1 - Package init with version 0.2.7-1