Bug 1782674

Summary: [nmstate] Need better error messages on failure of bond's slaves having IP configs in a transaction
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.1CC: ferferna, jiji, jishi, kanderso, network-qe
Target Milestone: rc   
Target Release: 8.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: nmstate-0.3.2-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 03:08:25 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:

Comment 6 Mingyu Shi 2020-07-07 02:44:46 UTC
verified with versions:
nmstate-0.3.2-1.el8.noarch
NetworkManager-1.26.0-0.1.el8.x86_64
DISTRO=RHEL-8.3.0-20200629.n.0
Linux hp-dl380pg8-09.rhts.eng.pek2.redhat.com 4.18.0-221.el8.x86_64 #1 SMP Thu Jun 25 20:58:19 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux


[10:15:19@hp-dl380pg8-09 ~]0# nmstatectl set all.yaml 
Traceback (most recent call last):
  File "/usr/bin/nmstatectl", line 11, in <module>
    load_entry_point('nmstate==0.3.2', 'console_scripts', 'nmstatectl')()
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 67, in main
    return args.func(args)
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 256, in apply
    args.save_to_disk,
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 287, in apply_state
    save_to_disk=save_to_disk,
  File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 69, in apply
    net_state = NetState(desired_state, current_state, save_to_disk)
  File "/usr/lib/python3.6/site-packages/libnmstate/net_state.py", line 40, in __init__
    save_to_disk,
  File "/usr/lib/python3.6/site-packages/libnmstate/ifaces/ifaces.py", line 101, in __init__
    iface.pre_edit_validation_and_cleanup()
  File "/usr/lib/python3.6/site-packages/libnmstate/ifaces/base_iface.py", line 219, in pre_edit_validation_and_cleanup
    self._validate_slave_ip()
  File "/usr/lib/python3.6/site-packages/libnmstate/ifaces/base_iface.py", line 238, in _validate_slave_ip
    f"Interface {self.name} is enslaved by {self.master_type} "
libnmstate.error.NmstateValueError: Interface veth1bondhcp is enslaved by bond interface bondslavedhcp which does not allow slaves to have ipv4 enabled


[10:15:29@hp-dl380pg8-09 ~]1# cat all.yaml 
interfaces:
- name: veth1bondhcp
  type: ethernet
  state: up
  ipv4:
    dhcp: true
    enabled: true
  ipv6:
    autoconf: true
    dhcp: true
    enabled: true
- name: veth2bondhcp
  type: ethernet
  state: up
  ipv4:
    dhcp: true
    enabled: true
  ipv6:
    autoconf: true
    dhcp: true
    enabled: true
- name: bondslavedhcp
  type: bond
  state: up
  link-aggregation:
    mode: balance-rr
    slaves:
    - veth1bondhcp
    - veth2bondhcp

Comment 9 errata-xmlrpc 2020-11-04 03:08:25 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-2020:4696