Bug 2177667

Summary: [NMCI] bond_set_balance_slb_options test failure
Product: Red Hat Enterprise Linux 9 Reporter: Vladimir Benes <vbenes>
Component: NetworkManagerAssignee: Thomas Haller <thaller>
Status: CLOSED ERRATA QA Contact: Vladimir Benes <vbenes>
Severity: medium Docs Contact:
Priority: medium    
Version: 9.2CC: bgalvani, egarver, lrintel, psutter, qe-baseos-daemons, rkhan, sfaye, sukulkar, thaller, till, todoleza
Target Milestone: rcKeywords: Reopened, Triaged, ZStream
Target Release: ---Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: NetworkManager-1.43.7-1.el9 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of:
: 2220952 (view as bug list) Environment:
Last Closed: 2023-11-07 08:38:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2220952    
Deadline: 2023-06-26   

Description Vladimir Benes 2023-03-13 10:37:25 UTC
Description of problem:
http://tools.lab.eng.brq2.redhat.com/~vbenes/nm_ci_stats/stats.html#build:;search:bond_set_balance_slb_options

<warn>  [1678647741.3144] firewall: nft[106157]: command exited with status 1: (stderr: "/dev/stdin:5:34-46: Error: Could not process rule: File exists\012add set netdev nm-mlag-nm_2dbond macset-tagged { typeof ether saddr . vlan id; flags timeout; }\012                                 ^^^^^^^^^^^^^\012/dev/stdin:6:34-48: Error: Could not process rule: File exists\012add set netdev nm-mlag-nm_2dbond macset-untagged { typeof ether saddr; flags timeout;}\012      
<info>  [1678647741.3145] device (nm-bond): state change: ip-config -> failed (reason 'config-failed', sys-iface-state: 'managed')                  ^^^^^^^^^^^^^^^\012")


Version-Release number of selected component (if applicable):
RHEL-9.2.0-20230312.13
kernel-5.14.0-284.el9.x86_64
NetworkManager-1.43.3-31971.copr.9bf193f1a8.el9
but also:
NM-1.42.2-1.el9

Comment 2 Eric Garver 2023-05-01 17:04:09 UTC
Created attachment 1961500 [details]
reproducer (nft only)

Comment 8 Thomas Haller 2023-05-03 06:25:48 UTC
workaround merged to NetworkManager: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/d3b54963622f242db1ebeda21dedd9558b484355

NetworkManager is expected to pass @bond_set_balance_slb_options with 1.43.6+

Comment 12 Thomas Haller 2023-05-31 11:45:36 UTC
Reopening and assigning back to NetworkManager.

There is an issue here, as a test failed. As the issue is with NetworkManager, the bug needs to move back so that it can be tested and properly tracked.

This should be fixed by https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/d3b54963622f242db1ebeda21dedd9558b484355 ; NetworkManager-1.43.7+.


Btw, where is this behavior about "dynamic" documented? It's not clear to me how it works. Also, I got those NFT rules from the existing SLB shell script which had the same issue. So there seems to be a usability/documentation problem, when even the experts get this wrong.

Comment 14 Phil Sutter 2023-05-31 15:14:12 UTC
Hi Thomas,

(In reply to Thomas Haller from comment #12)
> Reopening and assigning back to NetworkManager.
> 
> There is an issue here, as a test failed. As the issue is with
> NetworkManager, the bug needs to move back so that it can be tested and
> properly tracked.
> 
> This should be fixed by
> https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/
> d3b54963622f242db1ebeda21dedd9558b484355 ; NetworkManager-1.43.7+.

Change looks fine to me.

> Btw, where is this behavior about "dynamic" documented? It's not clear to me
> how it works. Also, I got those NFT rules from the existing SLB shell script
> which had the same issue. So there seems to be a usability/documentation
> problem, when even the experts get this wrong.

Upstream docs are incomplete and inconsistent (from a short assessment). In
general: If you want to change a set from packet path (i.e., via add/update
statements), the set must be created with 'dynamic' flag.

The bug you found is in nft's attempt at adding that flag automatically if it
restores a ruleset which also contains an add/update statement. It has been
fixed upstream meanwhile, but I would consider not specifying 'dynamic' flag in
sets which shall be changed from a rule a bug in the first place.

Comment 15 Thomas Haller 2023-05-31 19:45:32 UTC
(In reply to Phil Sutter from comment #14)
> 
> Upstream docs are incomplete and inconsistent (from a short assessment). In
> general: [...]

thanks for elaborating!

Comment 16 Thomas Haller 2023-05-31 19:48:06 UTC
dropping "zstream?" flag from comment 6. So far, no Z-stream is planned for this issue for NetworkManager (which still might happen).

Comment 21 Vladimir Benes 2023-06-26 14:08:58 UTC
we cannot see any failure in 1.43.10-1.el9.x86_64

Comment 26 errata-xmlrpc 2023-11-07 08:38:04 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (NetworkManager bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:6585