Bug 1895865

Summary: ad_actor_system as multicast address is written into NM profile
Product: Red Hat Enterprise Linux 8 Reporter: Mingyu Shi <mshi>
Component: nmstateAssignee: Gris Ge <fge>
Status: CLOSED ERRATA QA Contact: Mingyu Shi <mshi>
Severity: low Docs Contact:
Priority: low    
Version: 8.4CC: ferferna, jiji, jishi, network-qe, till
Target Milestone: rcKeywords: Triaged
Target Release: 8.4   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-09 17:42:37 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:

Description Mingyu Shi 2020-11-09 10:14:34 UTC
Description of problem:
ad_actor_system as multicast address is also invalid. Though it doesn't work when applying with nmstate, ad_actor_system=$mcast_addr is also written into NM profile.
Similar as #bz1887518 , we should:
1. raise an error of its invalidation
or
2. just warn it as invalid and don't write it into NM profile

Version-Release number of selected component (if applicable):
nmstate-0.4.1-2.el8.noarch

NetworkManager-1.28.0-0.1.el8.x86_64
nispor-0.6.1-2.el8.x86_64
DISTRO=RHEL-8.4.0-20201103.d.0
Linux hp-dl380g10-02.rhts.eng.pek2.redhat.com 4.18.0-241.el8.dt1.x86_64 #1 SMP Mon Nov 2 08:24:31 EST 2020 x86_64 x86_64 x86_64 GNU/Linux


How reproducible:
100%

Steps to Reproduce:
echo "---
interfaces:
- name: bond0
  type: bond
  state: up
  link-aggregation:
    mode: 802.3ad
    options:
      ad_actor_system: 01:00:5e:01:01:01" | nmstatectl set
nmcli con show bond0 | grep ad_actor_system

Actual results:
# nmcli con show bond0 | grep ad_actor_system
bond.options:                           mode=802.3ad,ad_actor_system=01:00:5e:01:01:01

Expected results:
As 1 or 2 in 'Description of problem' part

Additional info:
A warning can be seen:
2020-11-09 18:11:34,375 root         WARNING  Desire iface bond0 bond option ad_actor_system=01:00:5e:01:01:01 does not match with kernel value: 00:00:00:00:00:00

Comment 1 Mingyu Shi 2021-06-04 08:34:26 UTC
Pretested with versions:
nmstate-1.1.0-0.20210601115659729461.pr1618.50.g4dac668.el8.noarch
nispor-1.1.0-1.el8.x86_64
NetworkManager-1.32.0-0.4.el8.x86_64

echo "---                                  
interfaces:
- name: bond0
  type: bond
  state: up
  link-aggregation:
    mode: 802.3ad
    options:
      ad_actor_system: 01:00:5e:01:01:01" | nmstatectl set
/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py:325: UserWarning: Using 'set' is deprecated, use 'apply' instead.
  warnings.warn("Using 'set' is deprecated, use 'apply' instead.")
2021-06-04 16:32:54,860 root         DEBUG    Nmstate version: 1.1.0
2021-06-04 16:32:54,860 root         DEBUG    Applying desire state: {'interfaces': [{'name': 'bond0', 'type': 'bond', 'state': 'up', 'link-aggregation': {'mode': '802.3ad', 'options': {'ad_actor_system': '01:00:5e:01:01:01'}}}]}
2021-06-04 16:32:54,935 root         DEBUG    NetworkManager version 1.31.5
Unhandled IFLA_INFO_DATA for iface type Other("Ipoib")
Unhandled IFLA_INFO_DATA for iface type Other("Ipoib")
2021-06-04 16:32:54,942 root         DEBUG    Async action: Retrieve applied config: ethernet eno1 started
2021-06-04 16:32:54,946 root         DEBUG    Async action: Retrieve applied config: ethernet eno1 finished
2021-06-04 16:32:54,948 root         DEBUG    Interface ethernet.eno1 found. Merging the interface information.
2021-06-04 16:32:54,949 root         DEBUG    Interface ethernet.eno2 found. Merging the interface information.
2021-06-04 16:32:54,949 root         DEBUG    Interface ethernet.eno3 found. Merging the interface information.
2021-06-04 16:32:54,949 root         DEBUG    Interface ethernet.eno4 found. Merging the interface information.
2021-06-04 16:32:54,949 root         DEBUG    Interface ethernet.ens1f0 found. Merging the interface information.
2021-06-04 16:32:54,949 root         DEBUG    Interface ethernet.ens1f1 found. Merging the interface information.
2021-06-04 16:32:54,949 root         DEBUG    Interface ovs-interface.ovsbr0 found. Merging the interface information.
2021-06-04 16:32:54,949 root         DEBUG    Interface ovs-interface.ovsbr0 found. Merging the interface information.
Unhandled IFLA_INFO_DATA for iface type Other("Ipoib")
Unhandled IFLA_INFO_DATA for iface type Other("Ipoib")
Unhandled IFLA_INFO_DATA for iface type Other("Ipoib")
Unhandled IFLA_INFO_DATA for iface type Other("Ipoib")
Traceback (most recent call last):
  File "/usr/bin/nmstatectl", line 11, in <module>
    load_entry_point('nmstate==1.1.0', 'console_scripts', 'nmstatectl')()
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 73, in main
    return args.func(args)
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 326, in set
    return apply(args)
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 354, in apply
    args.save_to_disk,
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 407, in apply_state
    save_to_disk=save_to_disk,
  File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 78, in apply
    desired_state, ignored_ifnames, current_state, save_to_disk
  File "/usr/lib/python3.6/site-packages/libnmstate/net_state.py", line 51, in __init__
    gen_conf_mode,
  File "/usr/lib/python3.6/site-packages/libnmstate/ifaces/ifaces.py", line 163, in __init__
    iface.pre_edit_validation_and_cleanup()
  File "/usr/lib/python3.6/site-packages/libnmstate/ifaces/bond.py", line 98, in pre_edit_validation_and_cleanup
    self._validate_ad_actor_system_mac_address()
  File "/usr/lib/python3.6/site-packages/libnmstate/ifaces/bond.py", line 250, in _validate_ad_actor_system_mac_address
    "The ad_actor_system bond option cannot be an IANA "
libnmstate.error.NmstateValueError: The ad_actor_system bond option cannot be an IANA multicast address(prefix with 01:00:5E)

Comment 4 Mingyu Shi 2021-06-30 02:17:15 UTC
Verified with versions:
nmstate-1.1.0-0.5.alpha4.el8.noarch
nispor-1.1.1-1.el8.x86_64
NetworkManager-1.32.0-1.el8.x86_64

Same with #commit1

Comment 6 errata-xmlrpc 2021-11-09 17:42:37 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 (nmstate 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-2021:4157