Bug 1868254

Summary: [nm-next] refactor NetworkManager's IP configuration done by NMDevice
Product: Red Hat Enterprise Linux 8 Reporter: Thomas Haller <thaller>
Component: NetworkManagerAssignee: Beniamino Galvani <bgalvani>
Status: CLOSED ERRATA QA Contact: Vladimir Benes <vbenes>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.4CC: acardace, bgalvani, ferferna, fge, jmaxwell, lrintel, rkhan, sukulkar, thaller, till, vbenes
Target Milestone: rcKeywords: Triaged
Target Release: 8.4Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: NetworkManager-1.36.0-0.1.el8 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-05-10 14:54:06 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: 2001986, 2001993    
Bug Blocks: 1066703, 1713380    

Description Thomas Haller 2020-08-12 06:58:06 UTC
bug 1066703 is about improving how we model network configuration in NetworkManager, in particular how we model devices.

currently, NMDevice does too many things. A NMDevice instance is itself exported on D-Bus (it is-a NMDBusObject). But it also implements most of the relevant handling for IP configuration.

In a first step, refactor the IP configuration and make it independent of NMDevice. For that, introduce a new class NML3Cfg and NML3ConfigData which are responsible for tracking and applying IP configuration. NML3ConfigData wil in parts replace NMIP4Config/NMIP6Config, which also has too many responsibilities (being also an NMDBusObject and tracking configuration).


This is already WIP. More work is necessary.

Comment 2 Thomas Haller 2020-11-02 15:01:41 UTC
current work in progress is branch "th/l3cfg-??" (where ?? is a number).

That last branch contains one commit that changes in large parts the state handling of NMDevice. It will starting using NML3Cfg, NML3ConfigData, NML3IPv4LL, and thereby replace NMIP[46]Config. It also needs to entirely rework the handling of the activation state.

Doing that, is one huge commit. It cannot be split into smaller parts, because once you start changing NMDevice implementation, it all needs to be reworked together.

The work is done, when the last "th/l3cfg-??" gets merged to master.


Moving back to ASSIGNED.

Comment 8 Thomas Haller 2021-08-26 13:43:19 UTC
the branch is now just called "next", as this is the next major rework of NetworkManager. Still WIP.

Comment 10 Fernando F. Mancera 2021-11-19 09:49:07 UTC
It has been tested by running multiple CI jobs and doing a performance test.

Comment 13 Vladimir Benes 2021-11-22 17:22:54 UTC
We see some minor glitches but overall results are good.

Comment 16 errata-xmlrpc 2022-05-10 14:54:06 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/RHEA-2022:1985