From 4cc45d91eb44cbaddcfd75335c3f72ede035c440 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 13 Nov 2018 14:04:06 +0100 Subject: [PATCH] Ignore default address-pools on API < 1.39 These options were added in API 1.39, so should be ignored when using an older version of the API. Signed-off-by: Sebastiaan van Stijn (cherry picked from commit 7632ccbc66c82179547b96524672bd5082ae7481) Signed-off-by: Sebastiaan van Stijn --- api/server/router/swarm/cluster_routes.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/api/server/router/swarm/cluster_routes.go b/api/server/router/swarm/cluster_routes.go index a70248860208f..5d460741f1b87 100644 --- a/api/server/router/swarm/cluster_routes.go +++ b/api/server/router/swarm/cluster_routes.go @@ -23,6 +23,12 @@ func (sr *swarmRouter) initCluster(ctx context.Context, w http.ResponseWriter, r if err := json.NewDecoder(r.Body).Decode(&req); err != nil { return err } + version := httputils.VersionFromContext(ctx) + // DefaultAddrPool and SubnetSize were added in API 1.39. Ignore on older API versions. + if versions.LessThan(version, "1.39") { + req.DefaultAddrPool = nil + req.SubnetSize = 0 + } nodeID, err := sr.backend.Init(req) if err != nil { logrus.Errorf("Error initializing swarm: %v", err)