Hide Forgot
Description of problem: Cannot configure IP on an ovs interface which has the same name with ovs bridge Version-Release number of selected component (if applicable): nmstate-1.0.0-1.el8.noarch nispor-1.0.1-2.el8.x86_64 NetworkManager-1.30.0-0.3.el8.x86_64 DISTRO=RHEL-8.4.0-20201203.n.0 Linux hp-dl380pg8-11.rhts.eng.pek2.redhat.com 4.18.0-257.el8.x86_64 #1 SMP Wed Dec 2 02:01:12 EST 2020 x86_64 x86_64 x86_64 GNU/Linux openvswitch-selinux-extra-policy-1.0-22.el8fdp.noarch openvswitch2.13-2.13.0-71.el8fdp.x86_64 nmstate-plugin-ovsdb-1.0.0-1.el8.noarch python3-openvswitch2.13-2.13.0-71.el8fdp.x86_64 How reproducible: 100% Steps to Reproduce: echo "--- interfaces: - name: br0 type: ovs-bridge state: up bridge: port: - name: br0 - name: br0 type: ovs-interface state: up ipv4: enabled: true address: - ip: 1.0.0.1 prefix-length: 24" | nmstatectl set Actual results: Failed Expected results: No failure Additional info: 2020-12-17 17:06:51,318 root DEBUG Async action: Retrieve applied config: ethernet eno1 started 2020-12-17 17:06:51,321 root DEBUG Async action: Retrieve applied config: ethernet eno1 finished 2020-12-17 17:06:51,374 root DEBUG Interface lo is type unknown and will be ignored during the activation 2020-12-17 17:06:51,376 root DEBUG Async action: Create checkpoint started 2020-12-17 17:06:51,380 root DEBUG Checkpoint /org/freedesktop/NetworkManager/Checkpoint/16 created for all devices 2020-12-17 17:06:51,381 root DEBUG Async action: Create checkpoint finished 2020-12-17 17:06:51,385 root DEBUG Async action: Add profile: ed484648-38ca-4de4-8a94-465d9077ad53, iface:br0, type:ovs-interface started 2020-12-17 17:06:51,387 root DEBUG Async action: Add profile: d6609ad7-2752-4bc8-b55a-a4bcc1f57d0f, iface:br0, type:ovs-bridge started 2020-12-17 17:06:51,388 root DEBUG Async action: Add profile: ea26a5c0-ecba-4570-a186-79509c7e8934, iface:ovs-port-br0, type:ovs-port started 2020-12-17 17:06:51,396 root DEBUG Async action: Add profile: ed484648-38ca-4de4-8a94-465d9077ad53, iface:br0, type:ovs-interface finished 2020-12-17 17:06:51,403 root DEBUG Async action: Add profile: d6609ad7-2752-4bc8-b55a-a4bcc1f57d0f, iface:br0, type:ovs-bridge finished 2020-12-17 17:06:51,403 root DEBUG Async action: Add profile: ea26a5c0-ecba-4570-a186-79509c7e8934, iface:ovs-port-br0, type:ovs-port finished 2020-12-17 17:06:51,404 root DEBUG Async action: Activate profile uuid:d6609ad7-2752-4bc8-b55a-a4bcc1f57d0f iface:br0 type: ovs-bridge started 2020-12-17 17:06:51,411 root DEBUG Connection activation initiated: iface=br0 type=ovs-bridge con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATING of type NM.ActiveConnectionState> 2020-12-17 17:06:51,424 root DEBUG Connection activation succeeded: iface=br0, type=ovs-bridge, 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-12-17 17:06:51,425 root DEBUG Async action: Activate profile uuid:d6609ad7-2752-4bc8-b55a-a4bcc1f57d0f iface:br0 type: ovs-bridge finished 2020-12-17 17:06:51,425 root DEBUG Async action: Activate profile uuid:ea26a5c0-ecba-4570-a186-79509c7e8934 iface:ovs-port-br0 type: ovs-port started 2020-12-17 17:06:51,438 root DEBUG Connection activation initiated: iface=ovs-port-br0 type=ovs-port con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATING of type NM.ActiveConnectionState> 2020-12-17 17:06:51,469 root DEBUG Connection activation succeeded: iface=ovs-port-br0, type=ovs-port, 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_IS_SLAVE | NM_ACTIVATION_STATE_FLAG_LAYER2_READY of type NM.ActivationStateFlags> 2020-12-17 17:06:51,469 root DEBUG Async action: Activate profile uuid:ea26a5c0-ecba-4570-a186-79509c7e8934 iface:ovs-port-br0 type: ovs-port finished 2020-12-17 17:06:51,470 root DEBUG Async action: Activate profile uuid:ed484648-38ca-4de4-8a94-465d9077ad53 iface:br0 type: ovs-interface started 2020-12-17 17:06:51,477 root DEBUG Connection activation initiated: iface=br0 type=ovs-interface con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATING of type NM.ActiveConnectionState> 2020-12-17 17:06:51,950 root DEBUG Connection activation succeeded: iface=br0, type=ovs-interface, 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-12-17 17:06:51,951 root DEBUG Async action: Activate profile uuid:ed484648-38ca-4de4-8a94-465d9077ad53 iface:br0 type: ovs-interface finished 2020-12-17 17:06:51,952 root DEBUG Async action: Delete profile: uuid:7a817759-a846-468d-97ab-402aef17b2a3 id:br0 iface:br0 type:ovs-interface started 2020-12-17 17:06:51,957 root DEBUG Async action: Delete profile: uuid:7a817759-a846-468d-97ab-402aef17b2a3 id:br0 iface:br0 type:ovs-interface finished 2020-12-17 17:06:51,963 root DEBUG Async action: Retrieve applied config: ethernet eno1 started 2020-12-17 17:06:51,963 root DEBUG Async action: Retrieve applied config: ovs-interface br0 started 2020-12-17 17:06:51,963 root DEBUG Async action: Retrieve applied config: ovs-bridge br0 started 2020-12-17 17:06:51,964 root DEBUG Async action: Retrieve applied config: ovs-port ovs-port-br0 started 2020-12-17 17:06:51,966 root DEBUG Async action: Retrieve applied config: ethernet eno1 finished 2020-12-17 17:06:51,967 root DEBUG Async action: Retrieve applied config: ovs-interface br0 finished 2020-12-17 17:06:51,968 root DEBUG Async action: Retrieve applied config: ovs-bridge br0 finished 2020-12-17 17:06:51,969 root DEBUG Async action: Retrieve applied config: ovs-port ovs-port-br0 finished 2020-12-17 17:06:53,024 root DEBUG Async action: Retrieve applied config: ethernet eno1 started 2020-12-17 17:06:53,025 root DEBUG Async action: Retrieve applied config: ovs-interface br0 started 2020-12-17 17:06:53,025 root DEBUG Async action: Retrieve applied config: ovs-bridge br0 started 2020-12-17 17:06:53,025 root DEBUG Async action: Retrieve applied config: ovs-port ovs-port-br0 started 2020-12-17 17:06:53,029 root DEBUG Async action: Retrieve applied config: ethernet eno1 finished 2020-12-17 17:06:53,031 root DEBUG Async action: Retrieve applied config: ovs-interface br0 finished 2020-12-17 17:06:53,032 root DEBUG Async action: Retrieve applied config: ovs-bridge br0 finished 2020-12-17 17:06:53,033 root DEBUG Async action: Retrieve applied config: ovs-port ovs-port-br0 finished 2020-12-17 17:06:54,083 root DEBUG Async action: Retrieve applied config: ethernet eno1 started 2020-12-17 17:06:54,083 root DEBUG Async action: Retrieve applied config: ovs-interface br0 started 2020-12-17 17:06:54,083 root DEBUG Async action: Retrieve applied config: ovs-bridge br0 started 2020-12-17 17:06:54,084 root DEBUG Async action: Retrieve applied config: ovs-port ovs-port-br0 started 2020-12-17 17:06:54,087 root DEBUG Async action: Retrieve applied config: ethernet eno1 finished 2020-12-17 17:06:54,088 root DEBUG Async action: Retrieve applied config: ovs-interface br0 finished 2020-12-17 17:06:54,089 root DEBUG Async action: Retrieve applied config: ovs-bridge br0 finished 2020-12-17 17:06:54,090 root DEBUG Async action: Retrieve applied config: ovs-port ovs-port-br0 finished 2020-12-17 17:06:55,138 root DEBUG Async action: Retrieve applied config: ethernet eno1 started 2020-12-17 17:06:55,139 root DEBUG Async action: Retrieve applied config: ovs-interface br0 started 2020-12-17 17:06:55,139 root DEBUG Async action: Retrieve applied config: ovs-bridge br0 started 2020-12-17 17:06:55,139 root DEBUG Async action: Retrieve applied config: ovs-port ovs-port-br0 started 2020-12-17 17:06:55,143 root DEBUG Async action: Retrieve applied config: ethernet eno1 finished 2020-12-17 17:06:55,144 root DEBUG Async action: Retrieve applied config: ovs-interface br0 finished 2020-12-17 17:06:55,145 root DEBUG Async action: Retrieve applied config: ovs-bridge br0 finished 2020-12-17 17:06:55,146 root DEBUG Async action: Retrieve applied config: ovs-port ovs-port-br0 finished 2020-12-17 17:06:56,195 root DEBUG Async action: Retrieve applied config: ethernet eno1 started 2020-12-17 17:06:56,195 root DEBUG Async action: Retrieve applied config: ovs-interface br0 started 2020-12-17 17:06:56,196 root DEBUG Async action: Retrieve applied config: ovs-bridge br0 started 2020-12-17 17:06:56,196 root DEBUG Async action: Retrieve applied config: ovs-port ovs-port-br0 started 2020-12-17 17:06:56,199 root DEBUG Async action: Retrieve applied config: ethernet eno1 finished 2020-12-17 17:06:56,200 root DEBUG Async action: Retrieve applied config: ovs-interface br0 finished 2020-12-17 17:06:56,201 root DEBUG Async action: Retrieve applied config: ovs-bridge br0 finished 2020-12-17 17:06:56,202 root DEBUG Async action: Retrieve applied config: ovs-port ovs-port-br0 finished 2020-12-17 17:06:57,251 root DEBUG Async action: Retrieve applied config: ethernet eno1 started 2020-12-17 17:06:57,251 root DEBUG Async action: Retrieve applied config: ovs-interface br0 started 2020-12-17 17:06:57,252 root DEBUG Async action: Retrieve applied config: ovs-bridge br0 started 2020-12-17 17:06:57,252 root DEBUG Async action: Retrieve applied config: ovs-port ovs-port-br0 started 2020-12-17 17:06:57,255 root DEBUG Async action: Retrieve applied config: ethernet eno1 finished 2020-12-17 17:06:57,256 root DEBUG Async action: Retrieve applied config: ovs-interface br0 finished 2020-12-17 17:06:57,257 root DEBUG Async action: Retrieve applied config: ovs-bridge br0 finished 2020-12-17 17:06:57,258 root DEBUG Async action: Retrieve applied config: ovs-port ovs-port-br0 finished 2020-12-17 17:06:57,302 root DEBUG Async action: Rollback to checkpoint /org/freedesktop/NetworkManager/Checkpoint/16 started 2020-12-17 17:06:57,317 root DEBUG Checkpoint /org/freedesktop/NetworkManager/Checkpoint/16 rollback executed 2020-12-17 17:06:57,318 root DEBUG Interface eno1 rollback succeeded 2020-12-17 17:06:57,318 root DEBUG Interface ens5f1 rollback succeeded 2020-12-17 17:06:57,318 root DEBUG Interface ens5f2 rollback succeeded 2020-12-17 17:06:57,318 root DEBUG Interface ens5f3 rollback succeeded 2020-12-17 17:06:57,318 root DEBUG Interface eno2 rollback succeeded 2020-12-17 17:06:57,319 root DEBUG Interface lo rollback succeeded 2020-12-17 17:06:57,319 root DEBUG Interface ens5f0 rollback succeeded 2020-12-17 17:06:57,319 root DEBUG Async action: Rollback to checkpoint /org/freedesktop/NetworkManager/Checkpoint/16 finished Traceback (most recent call last): File "/usr/bin/nmstatectl", line 11, in <module> load_entry_point('nmstate==1.0.0', 'console_scripts', 'nmstatectl')() File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 70, in main return args.func(args) File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 280, in apply args.save_to_disk, File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 309, in apply_state save_to_disk=save_to_disk, File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 71, in apply _apply_ifaces_state(plugins, net_state, verify_change, save_to_disk) File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 115, in _apply_ifaces_state _verify_change(plugins, net_state) File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 120, in _verify_change net_state.verify(current_state) File "/usr/lib/python3.6/site-packages/libnmstate/net_state.py", line 64, in verify self._ifaces.verify(current_state.get(Interface.KEY)) File "/usr/lib/python3.6/site-packages/libnmstate/ifaces/ifaces.py", line 553, in verify cur_iface.state_for_verify(), libnmstate.error.NmstateVerificationError: desired ======= --- name: br0 type: ovs-interface state: up ipv4: enabled: true address: - ip: 1.0.0.1 prefix-length: 24 current ======= --- name: br0 type: ovs-interface state: up ipv4: enabled: false ipv6: enabled: false lldp: enabled: false mac-address: 7E:6E:4F:AA:29:47 mtu: 1500 ovs-db: external_ids: NM.connection.uuid: ed484648-38ca-4de4-8a94-465d9077ad53 difference ========== --- desired +++ current @@ -3,7 +3,13 @@ type: ovs-interface state: up ipv4: - enabled: true - address: - - ip: 1.0.0.1 - prefix-length: 24 + enabled: false +ipv6: + enabled: false +lldp: + enabled: false +mac-address: 7E:6E:4F:AA:29:47 +mtu: 1500 +ovs-db: + external_ids: + NM.connection.uuid: ed484648-38ca-4de4-8a94-465d9077ad53
I've identified the error. When collecting the information from NM we are not considering duplicated names. Therefore we are overwritting the IP information from br0 (ovs-interface) with br0 (ovs-bridge). This fix is required as it is important for us.
Verified with versions: nmstate-1.1.0-1.el8.noarch nispor-1.1.1-1.el8.x86_64 NetworkManager-1.32.3-0.z.2.20e3975fd2.el8.x86_64 openvswitch2.13-2.13.0-114.el8fdp.x86_64
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