Bug 2177590

Summary: Setting error mac-address removed linux bridge after rollback
Product: Red Hat Enterprise Linux 9 Reporter: Mingyu Shi <mshi>
Component: NetworkManagerAssignee: Beniamino Galvani <bgalvani>
Status: ON_QA --- QA Contact: Matej Berezny <mberezny>
Severity: medium Docs Contact:
Priority: medium    
Version: 9.2CC: bgalvani, ferferna, fpokryvk, jiji, jishi, lrintel, network-qe, rkhan, sfaye, sukulkar, till, vbenes
Target Milestone: rcKeywords: Regression, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: NetworkManager-1.44.0-1.el9 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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:    
Bug Blocks: 2144442    
Attachments:
Description Flags
NetworkManager trace log none

Description Mingyu Shi 2023-03-13 04:18:01 UTC
Description of problem:
It's very similar with https://bugzilla.redhat.com/show_bug.cgi?id=2154339 , but seems the current reproducer requires more steps.

Version-Release number of selected component (if applicable):
nmstate-2.2.7-1.el9.x86_64
nispor-1.2.10-1.el9.x86_64
NetworkManager-1.42.2-1.el9.x86_64
DISTRO=RHEL-9.2.0-20230307.10

How reproducible:
100%

Steps to Reproduce:
ip netns add client
ip netns add server
ip link add veth0_c type veth peer name veth0_c_p
ip link add veth0_s type veth peer name veth0_s_p
ip link set veth0_c_p netns client
ip link set veth0_s_p netns server
ip netns exec client ip link set lo up
ip netns exec client ip link set veth0_c_p up
ip netns exec client ip addr add 192.168.0.1/24 dev veth0_c_p
ip netns exec client ip addr add 2000::1/64 dev veth0_c_p
ip netns exec server ip  link set lo up
ip netns exec server ip  link set veth0_s_p up
ip netns exec server ip addr add 192.168.0.2/24 dev veth0_s_p
ip netns exec server ip -6 addr add 2000::2/64 dev veth0_s_p
nmcli device set veth0_c managed yes
nmcli device set veth0_s managed yes

cat > br_test.yaml << EOF
---
interfaces:
- name: veth0_c
  type: ethernet
  state: up
  ipv4:
    enabled: false
  ipv6:
    enabled: false
  mtu: 1500
- name: veth0_s
  type: ethernet
  state: up
  ipv4:
    enabled: false
  ipv6:
    enabled: false
  mtu: 1500
- name: br_test
  type: linux-bridge
  description: br_test
  state: up
  bridge:
    options:
      group-forward-mask: 0
      mac-ageing-time: 300
      multicast-snooping: true
      stp:
        enabled: false
        forward-delay: 15
        hello-time: 2
        max-age: 20
        priority: 32768
    port:
        - name: veth0_c
          stp-hairpin-mode: false
          stp-path-cost: 100
          stp-priority: 32
        - name: veth0_s
          stp-hairpin-mode: false
          stp-path-cost: 100
          stp-priority: 32
  ipv4:
    dhcp: false
    enabled: true
    address:
    - ip: 192.168.0.254
      prefix-length: 24
  ipv6:
    dhcp: false
    enabled: true
    address:
    - ip: 2000::a
      prefix-length: 64
  mac-address: AA:CF:A8:2D:6A:48
  mtu: 1500
EOF

nmstatectl apply br_test.yaml
nmstatectl show br_test | sed 's/mac-address: AA:CF:A8:2D:6A:48/mac-address: error/' | nmstatectl apply
ip link
nmcli con

Actual results:
[12:15:03@sweetpig-20 linux-bridge]0# nmstatectl show br_test | sed 's/mac-address: AA:CF:A8:2D:6A:48/mac-address: error/' | nmstatectl apply
[2023-03-13T04:15:12Z INFO  nmstate::query_apply::net_state] Created checkpoint /org/freedesktop/NetworkManager/Checkpoint/81
[2023-03-13T04:15:12Z WARN  nmstate::ip] Ignoring IPv6 link local address fe80::a8cf:a8ff:fe2d:6a48/64
[2023-03-13T04:15:12Z INFO  nmstate::nm::query_apply::profile] Modifying connection UUID Some("8252142b-51e6-4dcd-904a-ab90476eb9a6"), ID Some("br_test"), type Some("bridge") name Some("br_test")
[2023-03-13T04:15:12Z ERROR nmstate::nm::nm_dbus::convert] Failed to convert to MAC address to bytes "ERROR": invalid digit found in string
[2023-03-13T04:15:12Z INFO  nmstate::nm::query_apply::profile] Activating connection 8252142b-51e6-4dcd-904a-ab90476eb9a6: br_test/bridge
[2023-03-13T04:15:12Z ERROR nmstate::nm::nm_dbus::convert] Failed to convert to MAC address to bytes "ERROR": invalid digit found in string
[2023-03-13T04:15:12Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: br_test.interface.mac-address desire '"ERROR"', current '"AA:CF:A8:2D:6A:48"'
[2023-03-13T04:15:13Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: br_test.interface.mac-address desire '"ERROR"', current '"AA:CF:A8:2D:6A:48"'
[2023-03-13T04:15:14Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: br_test.interface.mac-address desire '"ERROR"', current '"AA:CF:A8:2D:6A:48"'
[2023-03-13T04:15:15Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: br_test.interface.mac-address desire '"ERROR"', current '"AA:CF:A8:2D:6A:48"'
[2023-03-13T04:15:17Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: br_test.interface.mac-address desire '"ERROR"', current '"AA:CF:A8:2D:6A:48"'
[2023-03-13T04:15:18Z INFO  nmstate::nm::query_apply::profile] Deactivating connection 8252142b-51e6-4dcd-904a-ab90476eb9a6: br_test/bridge
[2023-03-13T04:15:18Z INFO  nmstate::nm::query_apply::profile] Modifying connection UUID Some("8252142b-51e6-4dcd-904a-ab90476eb9a6"), ID Some("br_test"), type Some("bridge") name Some("br_test")
[2023-03-13T04:15:18Z ERROR nmstate::nm::nm_dbus::convert] Failed to convert to MAC address to bytes "ERROR": invalid digit found in string
[2023-03-13T04:15:18Z INFO  nmstate::nm::query_apply::profile] Activating connection 8252142b-51e6-4dcd-904a-ab90476eb9a6: br_test/bridge
[2023-03-13T04:15:18Z ERROR nmstate::nm::nm_dbus::convert] Failed to convert to MAC address to bytes "ERROR": invalid digit found in string
[2023-03-13T04:15:18Z INFO  nmstate::nm::query_apply::profile] Got activation failure Bug: Manager(PermissionDenied): Authorization request cancelled
[2023-03-13T04:15:18Z INFO  nmstate::nm::query_apply::profile] Will retry activation 2 seconds
[2023-03-13T04:15:20Z INFO  nmstate::nm::query_apply::profile] Activating connection 8252142b-51e6-4dcd-904a-ab90476eb9a6: br_test/bridge
[2023-03-13T04:15:20Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: br_test.interface.mac-address desire '"ERROR"', current '"A6:4E:6F:D1:36:2D"'
[2023-03-13T04:15:21Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: br_test.interface.mac-address desire '"ERROR"', current '"8A:D1:23:C7:3B:3A"'
[2023-03-13T04:15:22Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: br_test.interface.mac-address desire '"ERROR"', current '"8A:D1:23:C7:3B:3A"'
[2023-03-13T04:15:23Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: br_test.interface.mac-address desire '"ERROR"', current '"8A:D1:23:C7:3B:3A"'
[2023-03-13T04:15:24Z INFO  nmstate::query_apply::net_state] Rollbacked to checkpoint /org/freedesktop/NetworkManager/Checkpoint/81
NmstateError: VerificationError: Verification failure: br_test.interface.mac-address desire '"ERROR"', current '"8A:D1:23:C7:3B:3A"'
[12:15:24@sweetpig-20 linux-bridge]1# ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:16:3e:61:a7:53 brd ff:ff:ff:ff:ff:ff
4026: veth0_c@if4025: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether a6:4e:6f:d1:36:2d brd ff:ff:ff:ff:ff:ff link-netns client
4028: veth0_s@if4027: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 8a:d1:23:c7:3b:3a brd ff:ff:ff:ff:ff:ff link-netns server
[12:15:27@sweetpig-20 linux-bridge]0# nmcli con
NAME                         UUID                                  TYPE      DEVICE 
enp0s3                       937a2763-edd3-4e05-92fd-9e6379d5fc4b  ethernet  enp0s3 
lo                           1a8cab02-4885-4b9f-9d9c-19a60c0a4f68  loopback  lo     
br_test                      8252142b-51e6-4dcd-904a-ab90476eb9a6  bridge    --         
veth0_c                      fe815f1c-8a49-4b3a-ac82-7940b1532f5e  ethernet  --     
veth0_s                      48de074d-f8e3-414d-b212-fcd119168ddc  ethernet  --

Expected results:
br_test and the ports rollbacked to the previous state

Additional info:

Comment 1 Gris Ge 2023-05-15 12:00:48 UTC
Created attachment 1964617 [details]
NetworkManager trace log

Comment 2 Gris Ge 2023-05-15 16:32:01 UTC
Changing component to NetworkManager with consent from Beniamino.