I have gone through the code and found following approaches to fix this:
1) Irrespective of what drivers are enabled we can have all the drivers in the driver list. By this way release (delete) function will be called accordingly ( by respective driver).
2) At database side, we need to alter the table with cascade delete option. (Still looks like complicated to me)
3) Writing "AFTER DELETE " Trigger on ml2_network_allocations table of neutron_ml2 database such a way that respective entry from ml2_gre_allocations and ml2_vlan_allocations... will get deleted.
Currently I'm locally trying 3rd approach. Please let me know your suggestions.
I have gone through the code and found following approaches to fix this:
1) Irrespective of what drivers are enabled we can have all the drivers in the driver list. By this way release (delete) function will be called accordingly ( by respective driver).
2) At database side, we need to alter the table with cascade delete option. (Still looks like complicated to me)
3) Writing "AFTER DELETE " Trigger on ml2_network_ allocations table of neutron_ml2 database such a way that respective entry from ml2_gre_allocations and ml2_vlan_ allocations. .. will get deleted.
Currently I'm locally trying 3rd approach. Please let me know your suggestions.