Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-18869

nmstate ovn bridge mappings API is clearing all other OVS table external IDs

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Critical Critical
    • None
    • 4.14
    • None
    • No
    • Rejected
    • False
    • Hide
      * Previously, the `spec.desiredState.ovn.bridge-mappings` API configuration deleted all the external IDs in Open vSwitch (OVS) local tables on each Kubernetes node. As a result, the OVN chassis configuration was deleted, breaking the default cluster network. With this fix, you can use the `ovn.bridge-mappings` configuration without affecting the OVS configuration. (link:https://issues.redhat.com/browse/OCPBUGS-18869[*OCPBUGS-18869*])
      Show
      * Previously, the `spec.desiredState.ovn.bridge-mappings` API configuration deleted all the external IDs in Open vSwitch (OVS) local tables on each Kubernetes node. As a result, the OVN chassis configuration was deleted, breaking the default cluster network. With this fix, you can use the `ovn.bridge-mappings` configuration without affecting the OVS configuration. (link: https://issues.redhat.com/browse/OCPBUGS-18869 [* OCPBUGS-18869 *])
    • Bug Fix
    • In Progress

      Description of problem:

      When using the ovn bridge mappings API all the external IDs on the kubernetes nodes OVS local table (ovs-vsctl list open .) are being cleared.
      
      This is clearing the OVN chassis configuration, and thus, breaking the default cluster network.
      
      
      

      Version-Release number of selected component (if applicable):

      v2.2.14

      How reproducible:

      Always.

      Steps to Reproduce:

      1. Have something provisioned in the external IDs:
      
      ```
      [root@d7ef906127d3 nmstate-workspace]# ovs-vsctl set open . external_ids:aKey=aVal
      [root@d7ef906127d3 nmstate-workspace]# nmstatectl show
      ...
      ovs-db:
        external_ids:
          system-id: a83596ca-95a7-47f2-82d0-068286542426
          ovn-memlimit-lflow-cache-kb: '1048576'
          ovn-openflow-probe-interval: '180'
          hostname: ip-10-0-110-228.us-west-2.compute.internal
          ovn-encap-type: geneve
          ovn-enable-lflow-cache: 'true'
          ovn-is-interconn: 'true'
          ovn-monitor-all: 'true'
          ovn-ofctrl-wait-before-clear: '0'
          ovn-remote-probe-interval: '180000'
          rundir: /var/run/openvswitch
          ovn-encap-ip: 10.0.110.228
          ovn-remote: unix:/var/run/ovn/ovnsb_db.sock
        other_config:
          vlan-limit: '0'
          ovn-chassis-idx-a83596ca-95a7-47f2-82d0-068286542426: ''
          bundle-idle-timeout: '180'
      ovn:
        bridge-mappings:
        - localnet: physnet
          state: present
          bridge: br-ex
      ```
      
      2. Apply a new mapping: 
      ```
      ---
      ovn:
        bridge-mappings:
        - localnet: net1
          bridge: br-ex
      ```
      
      The rest of the external IDs keys are gone, along w/ the `other_config` data.

      Actual results:

      $ nmstatectl show
      ...
      ovs-db: {}
      ovn:
        bridge-mappings:
        - localnet: physnet
          state: present
          bridge: br-ex
        - localnet: net1
          state: present
          bridge: br-ex

      Expected results:

      $ nmstatectl show
      ...
      ovs-db: 
        external_ids:
          system-id: a83596ca-95a7-47f2-82d0-068286542426
          ovn-memlimit-lflow-cache-kb: '1048576'
          ovn-openflow-probe-interval: '180'
          hostname: ip-10-0-110-228.us-west-2.compute.internal
          ovn-encap-type: geneve
          ovn-enable-lflow-cache: 'true'
          ovn-is-interconn: 'true'
          ovn-monitor-all: 'true'
          ovn-ofctrl-wait-before-clear: '0'
          ovn-remote-probe-interval: '180000'
          rundir: /var/run/openvswitch
          ovn-encap-ip: 10.0.110.228
          ovn-remote: unix:/var/run/ovn/ovnsb_db.sock
        other_config:
          vlan-limit: '0'
          ovn-chassis-idx-a83596ca-95a7-47f2-82d0-068286542426: ''
          bundle-idle-timeout: '180' ovn:
        bridge-mappings:
        - localnet: physnet
          state: present
          bridge: br-ex
        - localnet: net1
          state: present
          bridge: br-ex
      

      Additional info:

       

            bnemec@redhat.com Benjamin Nemec
            mduarted@redhat.com Miguel Duarte de Mora Barroso
            Qiong Wang Qiong Wang
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: