From 53cc270f4717bf344928599db5212ae5b0719a44 Mon Sep 17 00:00:00 2001 From: Martynas Pumputis Date: Thu, 10 Nov 2016 11:24:11 -0800 Subject: [PATCH] Make compatible with Docker Swarmkit Implement (empty) endpoints for new NetworkAllocate and NetworkFree calls Also update libnetwork and docker dependencies --- plugin/net/driver.go | 10 ++++++++++ plugin/skel/listener.go | 24 ++++++++++++++++++++++++ vendor/github.com/docker/docker | 2 +- vendor/github.com/docker/libnetwork | 2 +- 4 files changed, 36 insertions(+), 2 deletions(-) diff --git a/plugin/net/driver.go b/plugin/net/driver.go index 3a9740af..e1560bc5 100644 --- a/plugin/net/driver.go +++ b/plugin/net/driver.go @@ -67,6 +67,16 @@ func (driver *driver) CreateNetwork(create *api.CreateNetworkRequest) error { return err } +func (driver *driver) NetworkAllocate(alloc *api.AllocateNetworkRequest) (*api.AllocateNetworkResponse, error) { + driver.logReq("NetworkAllocate", alloc, alloc.NetworkID) + return nil, nil +} + +func (driver *driver) NetworkFree(free *api.FreeNetworkRequest) (*api.FreeNetworkResponse, error) { + driver.logReq("NetworkFree", free, free.NetworkID) + return nil, nil +} + // Deal with excessively-generic way the options get decoded from JSON func stringOptions(create *api.CreateNetworkRequest) map[string]string { if create.Options != nil { diff --git a/plugin/skel/listener.go b/plugin/skel/listener.go index afe0584e..a253ac94 100644 --- a/plugin/skel/listener.go +++ b/plugin/skel/listener.go @@ -26,6 +26,8 @@ type Driver interface { DeleteEndpoint(delete *api.DeleteEndpointRequest) error EndpointInfo(req *api.EndpointInfoRequest) (*api.EndpointInfoResponse, error) JoinEndpoint(j *api.JoinRequest) (response *api.JoinResponse, error error) + NetworkAllocate(*api.AllocateNetworkRequest) (*api.AllocateNetworkResponse, error) + NetworkFree(*api.FreeNetworkRequest) (*api.FreeNetworkResponse, error) LeaveEndpoint(leave *api.LeaveRequest) error DiscoverNew(discover *api.DiscoveryNotification) error DiscoverDelete(delete *api.DiscoveryNotification) error @@ -58,6 +60,8 @@ func Listen(socket net.Listener, driver Driver, ipamDriver ipamapi.Ipam) error { handleMethod(networkReceiver, "EndpointOperInfo", listener.infoEndpoint) handleMethod(networkReceiver, "Join", listener.joinEndpoint) handleMethod(networkReceiver, "Leave", listener.leaveEndpoint) + handleMethod(networkReceiver, "AllocateNetwork", listener.networkAllocate) + handleMethod(networkReceiver, "FreeNetwork", listener.networkFree) } if ipamDriver != nil { @@ -163,6 +167,26 @@ func (listener *listener) joinEndpoint(w http.ResponseWriter, r *http.Request) { objectOrErrorResponse(w, res, err) } +func (listener *listener) networkAllocate(w http.ResponseWriter, r *http.Request) { + var alloc api.AllocateNetworkRequest + if err := json.NewDecoder(r.Body).Decode(&alloc); err != nil { + sendError(w, "Could not decode JSON encode payload", http.StatusBadRequest) + return + } + res, err := listener.d.NetworkAllocate(&alloc) + objectOrErrorResponse(w, res, err) +} + +func (listener *listener) networkFree(w http.ResponseWriter, r *http.Request) { + var free api.FreeNetworkRequest + if err := json.NewDecoder(r.Body).Decode(&free); err != nil { + sendError(w, "Could not decode JSON encode payload", http.StatusBadRequest) + return + } + res, err := listener.d.NetworkFree(&free) + objectOrErrorResponse(w, res, err) +} + func (listener *listener) leaveEndpoint(w http.ResponseWriter, r *http.Request) { var l api.LeaveRequest if err := json.NewDecoder(r.Body).Decode(&l); err != nil { diff --git a/vendor/github.com/docker/docker b/vendor/github.com/docker/docker index 4dc5990d..c13bf5ba 160000 --- a/vendor/github.com/docker/docker +++ b/vendor/github.com/docker/docker @@ -1 +1 @@ -Subproject commit 4dc5990d7565a4a15d641bc6a0bc50a02cfcf302 +Subproject commit c13bf5ba51c4f6a1ba5e5c0da0d4f85d2d5b9116 diff --git a/vendor/github.com/docker/libnetwork b/vendor/github.com/docker/libnetwork index ca6760d6..1861587d 160000 --- a/vendor/github.com/docker/libnetwork +++ b/vendor/github.com/docker/libnetwork @@ -1 +1 @@ -Subproject commit ca6760d6c9d18caea324a1217f6c7032f527f44e +Subproject commit 1861587d0fe7cdf85b89160ed36f20b81e96528d