[NETVIRT-1110] wrong bind and unbind leads to stale data Created: 21/Feb/18 Updated: 02/Oct/18 Resolved: 02/Oct/18 |
|
| Status: | Resolved |
| Project: | netvirt |
| Component/s: | General |
| Affects Version/s: | Nitrogen, Carbon, Oxygen |
| Fix Version/s: | Fluorine |
| Type: | Bug | Priority: | Medium |
| Reporter: | Sam Hague | Assignee: | Faseela K |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Comments |
| Comment by Faseela K [ 21/Feb/18 ] |
|
A lot of stale service bindings are seen in netvirt CSIT runs with respect to ACL service, This needs to be fixed as this is a potential issue which can lead to stale flows in OVS, causing even bigger troubles in longer run. Assigning this to Som, for debugging from ACL perspective. |
| Comment by Faseela K [ 21/Feb/18 ] |
| Comment by Somashekar B [ 23/Feb/18 ] |
|
ACL related fix is merged https://git.opendaylight.org/gerrit/#/c/68425/. Assigning back to Faseela for interface manager fix. |
| Comment by Faseela K [ 23/Feb/18 ] |
|
https://git.opendaylight.org/gerrit/#/c/68559/ Trying the fix, this will work only if there are no services which does back to back unbind and bind. Will run CSIT to confirm the same. Else interface-manager trying to remove the parent, will result in ConflictingModificationExceptions. |
| Comment by Sam Hague [ 06/Apr/18 ] |
|
k.faseela is this still an issue? |
| Comment by Faseela K [ 07/Apr/18 ] |
|
shague : As per the discussions we had in mail with thapar and others, the final interfacemanager side fix cannot be tried, as that can lead to multiple other problems. We cannot really decide when to remove the dangling parent node in service-binding DS, as there is no deterministic way of identifying when all services are unbound. thapar : After the ACL fix, there is no more functionality impact left with the bug, and thapar's suggestion was that we can use the stale clean-up script to address these pending entries. |
| Comment by Sam Hague [ 07/Apr/18 ] |
|
k.faseela are you saying there will always be stale entries? If so what are the stale data exactly - flows, model data etc? And the only way to clean it up is to have a script running that cleans it up? That doesn't sound like a fix. |
| Comment by Faseela K [ 07/Apr/18 ] |
|
service-binding DS is a DS shared across 7 applications in netvirt. ELAN, ACL, DHCP etc writes to this DS. it has a format like { interface-name -> list(services). }. Initially we had issues that some of the services in the list were not cleaned up. Som has fixed that. After that, he was pointing that, once all services are unbound properly, the parent node just lies there. ie, {interfaceName->[empty-list]}. Since interface-manager is not the owner of the writes to this DS, it is difficult for genius to clean up this DS when all services finish unbinding. For eg : in VM migration usecases, applications unbind and bind back to back. So, how do we decide when to remove this parent dangling node, and when not to?- |