Bug 1811873

Summary: Bond: fail to re-apply option fail_over_mac=2
Product: Red Hat Enterprise Linux 8 Reporter: Mingyu Shi <mshi>
Component: nmstateAssignee: Gris Ge <fge>
Status: CLOSED ERRATA QA Contact: Mingyu Shi <mshi>
Severity: high Docs Contact:
Priority: medium    
Version: 8.2CC: ferferna, jiji, jishi, kanderso, network-qe, till
Target Milestone: rc   
Target Release: 8.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: nmstate-0.2.6-4.8.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-07-21 15:31:28 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
fail_over_mac.yml
none
error log none

Description Mingyu Shi 2020-03-10 02:29:16 UTC
Created attachment 1668803 [details]
fail_over_mac.yml

Description of problem:
When apply 'fail_over_mac' for twice, it will got failure.
And another problem is: after fallback, the bond interface is deleted.

Version-Release number of selected component (if applicable):
nmstate-0.2.6-2.7.el8.noarch
NetworkManager-1.22.8-3.el8.x86_64

How reproducible:
100%

Steps to Reproduce:
(Use the yml file in the attachment)
1. nmstatectl set fail_over_mac.yml
2. nmstatectl set fail_over_mac.yml # failure
3. nmstatectl show temp1 # no bond

Actual results:
Fail

Expected results:
No failure

Additional info:
The other test, regarding yml file:
Comment fail_over_mac, and uncomment the rest of options, apply it. Uncomment fail_over_mac, apply the yml file again and again, works well. Comment all the options except fail_over_mac, apply it, may fail.

Comment 1 Mingyu Shi 2020-03-10 02:32:32 UTC
Created attachment 1668804 [details]
error log

Comment 2 Gris Ge 2020-03-13 12:04:20 UTC
This is resolved by nmstate-0.2.6-4.8.el8 and NetworkManager-1.22.8-4.el8.x86_64

Comment 3 Mingyu Shi 2020-04-16 03:11:31 UTC
Verified in:
nmstate-0.2.6-6.el8.noarch
NetworkManager-1.22.8-4.el8.x86_64
DISTRO=RHEL-8.2.0-20200404.0
Linux dell-per740-30.rhts.eng.pek2.redhat.com 4.18.0-193.el8.x86_64 #1 SMP Fri Mar 27 14:35:58 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux


[11:04:13@dell-per740-30 ~]0# cat fail_over_mac.yaml 
interfaces:
- name: temp1
  type: bond
  state: up
  ipv4:
    address:
    - ip: 192.168.11.2
      prefix-length: 24
    dhcp: false
    enabled: true
  ipv6:
    enabled: true
  link-aggregation:
    mode: active-backup
    options:
      fail_over_mac: 2
    slaves:
    - veth8_ep
    - veth1_ep
[11:04:34@dell-per740-30 ~]0# myveth 8
[11:04:49@dell-per740-30 ~]0# nmstatectl set fail_over_mac.yaml 
2020-04-16 11:04:55,599 root         DEBUG    Checkpoint /org/freedesktop/NetworkManager/Checkpoint/19 created for all devices: 60
2020-04-16 11:04:55,601 root         DEBUG    Adding new interfaces: ['temp1']
2020-04-16 11:04:55,607 root         DEBUG    Editing interfaces: ['veth8_ep', 'veth1_ep']
2020-04-16 11:04:55,610 root         DEBUG    Executing NM action: func=add_connection_async
2020-04-16 11:04:55,668 root         DEBUG    Connection adding succeeded: dev=temp1
2020-04-16 11:04:55,669 root         DEBUG    Executing NM action: func=add_connection_async
2020-04-16 11:04:55,679 root         DEBUG    Connection adding succeeded: dev=veth1_ep
2020-04-16 11:04:55,679 root         DEBUG    Executing NM action: func=add_connection_async
2020-04-16 11:04:55,693 root         DEBUG    Connection adding succeeded: dev=veth8_ep
2020-04-16 11:04:55,693 root         DEBUG    Executing NM action: func=safe_activate_async
2020-04-16 11:04:55,724 root         DEBUG    Connection activation initiated: dev=temp1, con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATING of type NM.ActiveConnectionState>
2020-04-16 11:04:55,995 root         DEBUG    Connection activation succeeded: dev=temp1, con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATING of type NM.ActiveConnectionState>, dev-state=<enum NM_DEVICE_STATE_IP_CONFIG of type NM.DeviceState>, state-flags=<flags NM_ACTIVATION_STATE_FLAG_IS_MASTER | NM_ACTIVATION_STATE_FLAG_LAYER2_READY | NM_ACTIVATION_STATE_FLAG_MASTER_HAS_SLAVES of type NM.ActivationStateFlags>
2020-04-16 11:04:55,995 root         DEBUG    Executing NM action: func=_safe_modify_async
2020-04-16 11:04:56,037 root         DEBUG    Device reapply failed on veth1_ep: error=nm-device-error-quark: Can't reapply changes to 'connection.autoconnect-slaves' setting (3)
Fallback to device activation
2020-04-16 11:04:56,069 root         DEBUG    Connection activation initiated: dev=veth1_ep, con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATING of type NM.ActiveConnectionState>
2020-04-16 11:04:56,094 root         DEBUG    Connection activation succeeded: dev=veth1_ep, con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATED of type NM.ActiveConnectionState>, dev-state=<enum NM_DEVICE_STATE_ACTIVATED of type NM.DeviceState>, state-flags=<flags NM_ACTIVATION_STATE_FLAG_IS_SLAVE | NM_ACTIVATION_STATE_FLAG_LAYER2_READY | NM_ACTIVATION_STATE_FLAG_IP4_READY | NM_ACTIVATION_STATE_FLAG_IP6_READY of type NM.ActivationStateFlags>
2020-04-16 11:04:56,094 root         DEBUG    Executing NM action: func=_safe_modify_async
2020-04-16 11:04:56,099 root         DEBUG    Device reapply failed on veth8_ep: error=nm-device-error-quark: Can't reapply changes to 'connection.autoconnect-slaves' setting (3)
Fallback to device activation
2020-04-16 11:04:56,130 root         DEBUG    Connection activation initiated: dev=veth8_ep, con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATING of type NM.ActiveConnectionState>
2020-04-16 11:04:56,152 root         DEBUG    Connection activation succeeded: dev=veth8_ep, con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATED of type NM.ActiveConnectionState>, dev-state=<enum NM_DEVICE_STATE_ACTIVATED of type NM.DeviceState>, state-flags=<flags NM_ACTIVATION_STATE_FLAG_IS_SLAVE | NM_ACTIVATION_STATE_FLAG_LAYER2_READY | NM_ACTIVATION_STATE_FLAG_IP4_READY | NM_ACTIVATION_STATE_FLAG_IP6_READY of type NM.ActivationStateFlags>
2020-04-16 11:04:56,653 root         DEBUG    NM action queue exhausted, quiting mainloop
2020-04-16 11:04:56,764 root         DEBUG    Checkpoint /org/freedesktop/NetworkManager/Checkpoint/19 destroyed
Desired state applied: 
---
interfaces:
- name: temp1
  type: bond
  state: up
  ipv4:
    address:
    - ip: 192.168.11.2
      prefix-length: 24
    dhcp: false
    enabled: true
  ipv6:
    enabled: true
  link-aggregation:
    mode: active-backup
    options:
      fail_over_mac: 2
    slaves:
    - veth8_ep
    - veth1_ep
[11:04:56@dell-per740-30 ~]0# nmstatectl show temp1
---
dns-resolver:
  config:
    search: []
    server: []
  running:
    search:
    - rhts.eng.pek2.redhat.com
    server:
    - 10.73.2.107
    - 10.73.2.108
    - 10.66.127.10
route-rules:
  config: []
routes:
  config: []
  running:
  - destination: 192.168.11.0/24
    metric: 300
    next-hop-address: ''
    next-hop-interface: temp1
    table-id: 254
  - destination: fe80::/64
    metric: 300
    next-hop-address: ''
    next-hop-interface: temp1
    table-id: 254
  - destination: ff00::/8
    metric: 256
    next-hop-address: ''
    next-hop-interface: temp1
    table-id: 255
interfaces:
- name: temp1
  type: bond
  state: up
  ipv4:
    address:
    - ip: 192.168.11.2
      prefix-length: 24
    dhcp: false
    enabled: true
  ipv6:
    address:
    - ip: fe80::f869:beff:fe68:c135
      prefix-length: 64
    autoconf: false
    dhcp: false
    enabled: true
  link-aggregation:
    mode: active-backup
    options:
      active_slave: veth1_ep
      ad_actor_sys_prio: ''
      ad_user_port_key: ''
      fail_over_mac: follow
      miimon: '100'
    slaves:
    - veth1_ep
    - veth8_ep
  mac-address: FA:69:BE:68:C1:35
  mtu: 1500
[11:05:30@dell-per740-30 ~]0# nmstatectl set fail_over_mac.yaml 
2020-04-16 11:06:46,332 root         DEBUG    Checkpoint /org/freedesktop/NetworkManager/Checkpoint/20 created for all devices: 60
2020-04-16 11:06:46,333 root         DEBUG    Adding new interfaces: []
2020-04-16 11:06:46,337 root         DEBUG    Editing interfaces: ['veth8_ep', 'veth1_ep', 'temp1']
2020-04-16 11:06:46,341 root         WARNING  IPv6 link local address fe80::f869:beff:fe68:c135/64 is ignored when applying desired state
2020-04-16 11:06:46,344 root         DEBUG    Executing NM action: func=commit_changes_async
2020-04-16 11:06:46,351 root         DEBUG    Connection update succeeded: dev=temp1
2020-04-16 11:06:46,351 root         DEBUG    Executing NM action: func=commit_changes_async
2020-04-16 11:06:46,356 root         DEBUG    Connection update succeeded: dev=veth1_ep
2020-04-16 11:06:46,356 root         DEBUG    Executing NM action: func=commit_changes_async
2020-04-16 11:06:46,361 root         DEBUG    Connection update succeeded: dev=veth8_ep
2020-04-16 11:06:46,361 root         DEBUG    Executing NM action: func=_safe_modify_async
2020-04-16 11:06:46,366 root         DEBUG    Device reapply succeeded: dev=temp1
2020-04-16 11:06:46,366 root         DEBUG    Executing NM action: func=_safe_modify_async
2020-04-16 11:06:46,368 root         DEBUG    Device reapply succeeded: dev=veth1_ep
2020-04-16 11:06:46,368 root         DEBUG    Executing NM action: func=_safe_modify_async
2020-04-16 11:06:46,370 root         DEBUG    Device reapply succeeded: dev=veth8_ep
2020-04-16 11:06:46,871 root         DEBUG    NM action queue exhausted, quiting mainloop
2020-04-16 11:06:46,975 root         DEBUG    Checkpoint /org/freedesktop/NetworkManager/Checkpoint/20 destroyed
Desired state applied: 
---
interfaces:
- name: temp1
  type: bond
  state: up
  ipv4:
    address:
    - ip: 192.168.11.2
      prefix-length: 24
    dhcp: false
    enabled: true
  ipv6:
    enabled: true
  link-aggregation:
    mode: active-backup
    options:
      fail_over_mac: 2
    slaves:
    - veth8_ep
    - veth1_ep

Comment 7 errata-xmlrpc 2020-07-21 15:31:28 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.

https://access.redhat.com/errata/RHBA-2020:3052