Bug 2231552

Summary: Race when using DHCP and copy-mac-from
Product: Red Hat Enterprise Linux 9 Reporter: Ben Nemec <bnemec>
Component: nmstateAssignee: NetworkManager Development Team <nm-team>
Status: CLOSED MIGRATED QA Contact: Mingyu Shi <mshi>
Severity: high Docs Contact:
Priority: unspecified    
Version: 9.2CC: cgoncalves, ferferna, jiji, jishi, network-qe, sfaye, till
Target Milestone: rcKeywords: MigratedToJIRA, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-08-17 09:58:36 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:
Attachments:
Description Flags
NMState config being applied to the nodes
none
Dnsmasq logs showing requests from different macs
none
NM trace logs from a node that changed addresses
none
NM trace logs from a node that kept its address none

Description Ben Nemec 2023-08-11 20:05:36 UTC
Created attachment 1983071 [details]
NMState config being applied to the nodes

Description of problem: There seems to be a problem when creating an ovs-bridge with copy-mac-from and assigning its address with DHCP. After rebooting, some of my nodes are requesting an address using a different MAC from the one the bridge was supposed to copy. Others correctly use the copied MAC. In both cases the MAC was set correctly, but it appears there is a timing issue with the DHCP request where sometimes the MAC is set after the request has been sent.

I'm not sure whether this is an NMState issue or a NetworkManager one, but since I can't figure out where NMState is overriding the MAC it's difficult to provide a reproducer for NetworkManager in isolation.


Version-Release number of selected component (if applicable): 2.2.13


How reproducible: About 50% of the time in my experience.


Steps to Reproduce:
1. Apply NMState ovs-bridge config with copy-from-mac set to the underlying physical interface.
2. Reboot node

Actual results: 50% of the nodes will request a DHCP address using the wrong MAC address and get a different IP than they did when NMState initially created the bridge.


Expected results: Nodes all get the same address they had before the reboot.


Additional info: I will attach the NMState YAML and NM trace logs for both a node that did get the same address as well as one that demonstrates the problem.

Comment 1 Ben Nemec 2023-08-11 20:08:08 UTC
Created attachment 1983072 [details]
Dnsmasq logs showing requests from different macs

Comment 2 Ben Nemec 2023-08-11 20:10:29 UTC
Created attachment 1983073 [details]
NM trace logs from a node that changed addresses

Comment 3 Ben Nemec 2023-08-11 20:11:11 UTC
Created attachment 1983074 [details]
NM trace logs from a node that kept its address