Adding synchronization around peerAdd and peerDelete to prevent network connectivity issue#2356
Conversation
|
Please sign your commits following these rules: $ git clone -b "RS1-Synch" [email protected]:pradipd/libnetwork.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -fAmending updates the existing PR. You DO NOT need to open a new one. |
|
FYI to docker team: @mavenugo @danil @selansen |
…rk connectivity issue Signed-off-by: Pradip Dhara <[email protected]>
| } | ||
|
|
||
| func endpointRequest(method, path, request string) (*hcsshim.HNSEndpoint, error) { | ||
| if windowsBuild == 14393 { |
There was a problem hiding this comment.
@pradipd is this a fixed version for WS 2016 server or will this change for every patch ?
There was a problem hiding this comment.
fixed version. We (windows) should really have a constant for this.
There was a problem hiding this comment.
Thanks. We see it as a hcsshim constant osversion.RS5. Thanks.
When multiple networks are present in a Swarm Cluster, multiple peerAdd or peerDelete calls are an issue for different remote endpoints. These threads are updating the remote endpoint to HNS parallelly. In 2016 HNS code base, we don't have synchronization around remoteEndpoint addition and deletion. So serializing the peerAdd and peerDelete calls from docker network driver.