Bug 1685166 - Record permanent mac address when device is enslaved in a team, or else /etc/mac-addresses will record broken information
Summary: Record permanent mac address when device is enslaved in a team, or else /etc/...
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: rear
Version: 7.6
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: 7.7
Assignee: Pavel Cahyna
QA Contact: David Jež
Marie Hornickova
Depends On:
Blocks: 1685178 1690518 1691304
TreeView+ depends on / blocked
Reported: 2019-03-04 14:17 UTC by Pavel Cahyna
Modified: 2019-08-06 13:12 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
.Teaming in the rescue system works correctly again Updates provided by the advisory RHBA-2019:0498 fixed several problems in ReaR, affecting complex network configurations. However, in case of teaming, this update introduced another problem. If the team had multiple member interfaces, the team device was not configured correctly in the rescue system. As a consequence, after applying an update provided by RHBA-2019:0498, a work around was needed to preserve the previous behavior. This update fixes the bug in ReaR, and teaming in the rescue system now works correctly.
Clone Of:
: 1685178 1690518 (view as bug list)
Last Closed: 2019-08-06 13:12:09 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Github rear rear pull 2065 0 'None' 'closed' 'network: Record permanent mac address when device is enslaved in a Team, or else /etc/mac-addresses will record broken ... 2019-11-21 16:59:26 UTC
Red Hat Product Errata RHBA-2019:2273 0 None None None 2019-08-06 13:12:19 UTC

Description Pavel Cahyna 2019-03-04 14:17:24 UTC
This bug was initially created as a copy of Bug #1653214

I am copying this bug because: 
the inital bug was for bond, but the same issue exists for team, and is not fixed by the patch.

Description of problem:

See https://github.com/rear/rear/pull/2065 and https://github.com/rear/rear/pull/1954/commits/a8d52b7caef3dd4ec8645f36631f5770427bf6dc#r261993600.

When a physical device is enslaved in a team, its MAC address is modified to the first network interface's MAC address of the team. This makes /etc/mac-addresses record an invalid information, e.g.:

em3 24:6e:96:c4:3d:d4
em1 24:6e:96:c4:3d:d0
em2 24:6e:96:c4:3d:d0

em3 24:6e:96:c4:3d:d4
em1 24:6e:96:c4:3d:d2
em2 24:6e:96:c4:3d:d0

This leads to teamd being invoked with incorrect parameters from /etc/scripts/system-setup.d/60-network-devices.sh:

teamd -d -c '{"device": "int-team", "ports": {"em1": {"link_watch": {"name": "ethtool"}}, "em1": {"link_watch": {"name": "ethtool"}}}, "runner": {"name": "lacp", "tx_hash": ["eth", "ipv4", "ipv6"]}}'
which fails with
Failed to parse config: duplicate object key near '"em1"' on line 1, column 82
Failed to load config.

see https://bugzilla.redhat.com/show_bug.cgi?id=1664304#c3 for details.

(the script is being modified by a sed command which changes the names of interfaces according to /etc/mac-addresses to compensate for missing interface renaming.)

The same issue existed for bonding. While the bonding issue was fixed, the teaming one requires a different fix.

Since SIMPLIFY_TEAMING=no is the default as the result of applying the fix of bz1639705, this leads to a regression, since the configuration which can work with the old code (equivalent to SIMPLIFY_TEAMING=yes) are now broken. (Those configurations can be characterized as: no LACP and teaming with more than one team member.)

The regression can be fixed simply by changing the default to SIMPLIFY_TEAMING=yes, but  for a complete fix one needs to apply PR#2065.

Comment 3 Pavel Cahyna 2019-03-14 09:12:24 UTC
Upstream PR merged

Comment 19 errata-xmlrpc 2019-08-06 13:12:09 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, and where to find the updated
files, follow the link below.

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


Note You need to log in before you can comment on or make changes to this bug.