Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-1464

Cannot delete ovs bridge when it contains unmanaged port

    • None
    • Low
    • rhel-sst-network-management
    • ssg_networking
    • 5
    • False
    • Hide

      None

      Show
      None
    • No
    • None
    • Hide

      Givena system administrator configuring a RHEL-9 system

      When they attempt to delete an ovs bridge that contains an unmanaged port.

      Then the ovs bridge should be successfully removed without any errors.

      Definition of Done:

      • The implementation meets the acceptance criteria
      • Unit tests and integration tests are written and pass
      • The code is part of a build attached to an errata
      Show
      Givena system administrator configuring a RHEL-9 system When they attempt to delete an ovs bridge that contains an unmanaged port. Then the ovs bridge should be successfully removed without any errors. Definition of Done: The implementation meets the acceptance criteria Unit tests and integration tests are written and pass The code is part of a build attached to an errata
    • None
    • None
    • If docs needed, set a value
    • None

      Description of problem:
      Cannot delete ovs bridge when it contains unmanaged port.
      It works well when testing with linux bridge, bond etc instead of ovs bridge.

      Version-Release number of selected component (if applicable):
      nmstate-2.2.12-2.el9.x86_64
      nispor-1.2.10-1.el9.x86_64
      NetworkManager-1.43.9-1.el9.x86_64
      openvswitch2.15-2.15.0-82.el9fdp.x86_64
      DISTRO=RHEL-9.3.0-updates-20230611.28

      How reproducible:
      100%

      Steps to Reproduce:
      echo "
      interfaces:

      • name: ovsbr0
        type: ovs-bridge
        state: up
        bridge:
        port:
      • name: ovsbr0
        " | nmstatectl apply

      ip link add veth0 type veth peer veth0_p
      ovs-vsctl add-port ovsbr0 veth0
      ip link set veth0 up
      ip link set veth0_p up

      echo "
      interfaces:

      • name: ovsbr0
        type: ovs-bridge
        state: up
        bridge:
        port:
      • name: veth0
        " | nmstatectl apply

      nmcli dev # veth0 unmanaged

      echo "
      interfaces:

      • name: ovsbr0
        type: ovs-bridge
        state: up
        bridge:
        port:
      • name: ovsbr0
        " | nmstatectl apply

      nmcli dev # veth0 unmanaged

      echo "
      interfaces:

      • name: ovsbr0
        type: ovs-interface
        state: absent
      • name: ovsbr0
        type: ovs-bridge
        state: absent
      • name: veth0
        type: veth
        state: absent
      • name: veth0_p
        type: veth
        state: absent
        " | nmstatectl apply

      Actual results:
      [2023-06-13T09:47:08Z WARN nmstate::ovsdb::show] Unknown OVS interface type
      [2023-06-13T09:47:08Z INFO nmstate::iface] Interface ovsbr0 cannot live without controller, marking as absent as it has been detached from its original controller ovsbr0
      [2023-06-13T09:47:08Z INFO nmstate::query_apply::net_state] Created checkpoint /org/freedesktop/NetworkManager/Checkpoint/81
      [2023-06-13T09:47:08Z INFO nmstate::nm::query_apply::apply] Deleting NM connection for absent interface ovsbr0/ovs-bridge: 8c6dc71d-ae4b-4813-b1d2-30c6fab207f9
      [2023-06-13T09:47:08Z INFO nmstate::nm::query_apply::apply] Deleting NM connection for absent interface ovsbr0/ovs-interface: ca7856f7-0e1a-4203-9f77-a2a0ee5fb3e3
      [2023-06-13T09:47:08Z INFO nmstate::nm::query_apply::apply] Deleting NM OVS port connection 34bd7940-0281-4374-8cfb-5440ff4c5eef for absent OVS interface ovsbr0
      [2023-06-13T09:47:08Z WARN nmstate::ovsdb::show] Unknown OVS interface type
      [2023-06-13T09:47:08Z ERROR nmstate::query_apply::inter_ifaces] VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:08Z INFO nmstate::query_apply::net_state] Retrying on: VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:09Z WARN nmstate::ovsdb::show] Unknown OVS interface type
      [2023-06-13T09:47:09Z ERROR nmstate::query_apply::inter_ifaces] VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:09Z INFO nmstate::query_apply::net_state] Retrying on: VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:10Z WARN nmstate::ovsdb::show] Unknown OVS interface type
      [2023-06-13T09:47:10Z ERROR nmstate::query_apply::inter_ifaces] VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:10Z INFO nmstate::query_apply::net_state] Retrying on: VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:11Z WARN nmstate::ovsdb::show] Unknown OVS interface type
      [2023-06-13T09:47:11Z ERROR nmstate::query_apply::inter_ifaces] VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:11Z INFO nmstate::query_apply::net_state] Retrying on: VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:12Z WARN nmstate::ovsdb::show] Unknown OVS interface type
      [2023-06-13T09:47:12Z ERROR nmstate::query_apply::inter_ifaces] VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:12Z INFO nmstate::query_apply::net_state] Retrying on: VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:14Z WARN nmstate::ovsdb::show] Unknown OVS interface type
      [2023-06-13T09:47:14Z ERROR nmstate::query_apply::inter_ifaces] VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:14Z INFO nmstate::query_apply::net_state] Retrying on: VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:15Z WARN nmstate::ovsdb::show] Unknown OVS interface type
      [2023-06-13T09:47:15Z ERROR nmstate::query_apply::inter_ifaces] VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:15Z INFO nmstate::query_apply::net_state] Retrying on: VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:16Z WARN nmstate::ovsdb::show] Unknown OVS interface type
      [2023-06-13T09:47:16Z ERROR nmstate::query_apply::inter_ifaces] VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:16Z INFO nmstate::query_apply::net_state] Retrying on: VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:17Z WARN nmstate::ovsdb::show] Unknown OVS interface type
      [2023-06-13T09:47:17Z ERROR nmstate::query_apply::inter_ifaces] VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:17Z INFO nmstate::query_apply::net_state] Retrying on: VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:18Z WARN nmstate::ovsdb::show] Unknown OVS interface type
      [2023-06-13T09:47:18Z ERROR nmstate::query_apply::inter_ifaces] VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })
      [2023-06-13T09:47:18Z INFO nmstate::query_apply::net_state] Rollbacked to checkpoint /org/freedesktop/NetworkManager/Checkpoint/81
      NmstateError: VerificationError: Absent/Down interface ovsbr0/ovs-bridge still found as OvsBridge(OvsBridgeInterface { base: BaseInterface { name: "ovsbr0", profile_name: None, description: None, prop_list: ["ovsdb", "bridge", "iface_type", "state"], iface_type: OvsBridge, state: Up, identifier: Name, mac_address: None, permanent_mac_address: None, mtu: None, min_mtu: None, max_mtu: None, wait_ip: None, ipv4: None, ipv6: None, mptcp: None, controller: Some(""), accept_all_mac_addresses: None, copy_mac_from: None, ovsdb: Some(OvsDbIfaceConfig { external_ids: Some({}), other_config: Some({}) }), ieee8021x: None, lldp: None, ethtool: None, controller_type: None, up_priority: 0, routes: None, _other: {} }, bridge: Some(OvsBridgeConfig { options: Some(OvsBridgeOptions

      { stp: Some(false), rstp: Some(false), mcast_snooping_enable: Some(false), fail_mode: Some(""), datapath: Some("") }

      ), ports: Some([OvsBridgePortConfig

      { name: "veth0", bond: None, vlan: None }

      ]) }) })

      Expected results:
      ovs removed

      Additional info:

              rh-ee-sfaye Stanislas Faye
              rh-ee-mshi1 Mingyu Shi
              Network Management Team Network Management Team
              Mingyu Shi Mingyu Shi
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated: