From d403254ed2d34ecebac6741d5b5a201077608c4c Mon Sep 17 00:00:00 2001 From: Sun Hongliang Date: Fri, 18 Mar 2016 23:46:29 +0800 Subject: [PATCH] 1.validate cluster option swarm.overcommit 2.change swarm.createretry's error info and add its integration test Signed-off-by: Sun Hongliang --- cluster/swarm/cluster.go | 11 +++++++++-- .../nodemanagement/cluster_options.bats | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 test/integration/nodemanagement/cluster_options.bats diff --git a/cluster/swarm/cluster.go b/cluster/swarm/cluster.go index a6910dc1de..bf70436767 100644 --- a/cluster/swarm/cluster.go +++ b/cluster/swarm/cluster.go @@ -82,12 +82,19 @@ func NewCluster(scheduler *scheduler.Scheduler, TLSConfig *tls.Config, discovery } if val, ok := options.Float("swarm.overcommit", ""); ok { - cluster.overcommitRatio = val + if val <= float64(-1) { + log.Fatalf("swarm.overcommit should be larger than -1, %f is invalid", val) + } else if val < float64(0) { + log.Warn("-1 < swarm.overcommit < 0 will make swarm take less resource than docker engine offers") + cluster.overcommitRatio = val + } else { + cluster.overcommitRatio = val + } } if val, ok := options.Int("swarm.createretry", ""); ok { if val < 0 { - log.Fatalf("swarm.createretry=%d is invalid", val) + log.Fatalf("swarm.createretry can not be negative, %d is invalid", val) } cluster.createRetry = val } diff --git a/test/integration/nodemanagement/cluster_options.bats b/test/integration/nodemanagement/cluster_options.bats new file mode 100644 index 0000000000..17c417ef65 --- /dev/null +++ b/test/integration/nodemanagement/cluster_options.bats @@ -0,0 +1,15 @@ +#!/usr/bin/env bats + +load ../helpers + +@test "cluster options" { + # cluster option swarm.overcommit + run swarm manage --cluster-opt swarm.overcommit=-2 nodes://192.168.56.22:4444 + [ "$status" -ne 0 ] + [[ "${output}" == *"swarm.overcommit should be larger than -1, -2.000000 is invalid"* ]] + + # cluster option swarm.createretry + run swarm manage --cluster-opt swarm.createretry=-1 nodes://192.168.56.22:4444 + [ "$status" -ne 0 ] + [[ "${output}" == *"swarm.createretry can not be negative, -1 is invalid"* ]] +}