Uploaded image for project: 'netvirt'
  1. netvirt
  2. NETVIRT-1235

Prefix-To-Interface datastore is not cleaned up incase of Dual stack testcases

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • Fluorine
    • Oxygen
    • General
    • None
    • Openstack Pike with ODl stable oxygen

      4 Dual-Stack test cases have a bug where, when Dual stack VM is deleted, one of the primary-adj entry remains stale in prefix-to-interface.

      Analysis:

       

      In oxygen dual-stack coming into picture, I see challenge in managing prefix-to-interface.

      The reason being , prefix-to-interface is managed via VpnInterface Op listener like before(Boron).

       

      But in Boron , prefix-to-interface always had only one primary adj stored , it was manageable through VpnInterfaceOp listener.

      When adj count becomes 1 , we deleted the entire VpnInterface Op entry for the port. It used to trigger  remove() of VpnInterfaceOp listener.

      In that ,  we removed prefix-to-interface and updated the vpn-to-dpn-list.

       

      But challenge in Oxygen is , we have 2 primary adj  stored in VpnInterfaceOp DS. When VM is deleted , 2 FIB entries are removed.

      In cleanupOpDataForFib() , when we remove first primary adj from VpnInterfaceOp DS , it triggers update in VpnInterfaceOp listener.

      We ignore update of VpnInterfaceOp. When 2^nd^ / final primary adj is removed , we delete the VpnInterfaceOp entry.

      This leads to removal of prefix-to-interface for 2^nd^ primary adj. First primary adj , always remains stale.

       

            akash Akash Sahu
            akash Akash Sahu
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: