openshift / openshift-sdn

Apache License 2.0
69 stars 63 forks source link

Handle race conditions during master/node sdn setup #145

Closed pravisankar closed 9 years ago

pravisankar commented 9 years ago

Current model during master/node sdn setup: (1) Fetch existing stuff from etcd store (nodes, subnets, namespaces, network namespaces) (2) Perform some stuff: bookkeeping like VNID map or adding openflow rules, etc. (3) Watch for any new changes in etcd store

Between steps (1) and (3), if there are any changes to the etcd store, that information is lost and we may end up with missing/stale OF rules, etc. We need to synchronize Get/Watch methods for the objects to ensure no events are missed, meaning if Get() returned some items till revision 'r', we need to Watch() for any items after revision 'r'.

pravisankar commented 9 years ago

Fixed in #146 and #4219