From 78dccb265dd7578319a3f9f014065604ea3c77af 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 Upstream-commit: 4cc45d91eb44cbaddcfd75335c3f72ede035c440 Component: engine --- components/engine/api/server/router/swarm/cluster_routes.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/components/engine/api/server/router/swarm/cluster_routes.go b/components/engine/api/server/router/swarm/cluster_routes.go index a702488602..5d460741f1 100644 --- a/components/engine/api/server/router/swarm/cluster_routes.go +++ b/components/engine/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)