From b9d0d8927f4146a9a80f7ace7e29ede8cfc38aaf Mon Sep 17 00:00:00 2001 From: Sun Hongliang Date: Sun, 13 Mar 2016 18:33:04 +0800 Subject: [PATCH] force to validate min and max refresh interval to be positive Signed-off-by: Sun Hongliang --- cli/manage.go | 4 ++-- .../nodemanagement/engine_options.bats | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/cli/manage.go b/cli/manage.go index 1233f65767..6f347b65c8 100644 --- a/cli/manage.go +++ b/cli/manage.go @@ -244,8 +244,8 @@ func manage(c *cli.Context) { refreshMinInterval := c.Duration("engine-refresh-min-interval") refreshMaxInterval := c.Duration("engine-refresh-max-interval") - if refreshMinInterval == time.Duration(0)*time.Second { - log.Fatal("minimum refresh interval should be a positive number") + if refreshMinInterval <= time.Duration(0)*time.Second { + log.Fatal("min refresh interval should be a positive number") } if refreshMaxInterval < refreshMinInterval { log.Fatal("max refresh interval cannot be less than min refresh interval") diff --git a/test/integration/nodemanagement/engine_options.bats b/test/integration/nodemanagement/engine_options.bats index bb817d4371..65a729a475 100644 --- a/test/integration/nodemanagement/engine_options.bats +++ b/test/integration/nodemanagement/engine_options.bats @@ -6,9 +6,22 @@ load ../helpers # minimum refresh interval run swarm manage --engine-refresh-min-interval "0s" --advertise 127.0.0.1:$SWARM_BASE_PORT 192.168.56.202:4444 [ "$status" -ne 0 ] - [[ "${output}" == *"minimum refresh interval should be a positive number"* ]] + [[ "${output}" == *"min refresh interval should be a positive number"* ]] - # max refresh interval + run swarm manage --engine-refresh-min-interval "-10s" --advertise 127.0.0.1:$SWARM_BASE_PORT 192.168.56.202:4444 + [ "$status" -ne 0 ] + [[ "${output}" == *"min refresh interval should be a positive number"* ]] + + # maximum refresh interval, minimum refresh interval is 30s as default + run swarm manage --engine-refresh-max-interval "0s" --advertise 127.0.0.1:$SWARM_BASE_PORT 192.168.56.202:4444 + [ "$status" -ne 0 ] + [[ "${output}" == *"max refresh interval cannot be less than min refresh interval"* ]] + + run swarm manage --engine-refresh-max-interval "-30s" --advertise 127.0.0.1:$SWARM_BASE_PORT 192.168.56.202:4444 + [ "$status" -ne 0 ] + [[ "${output}" == *"max refresh interval cannot be less than min refresh interval"* ]] + + # max refresh interval is larger than min refresh interval run swarm manage --engine-refresh-min-interval "30s" -engine-refresh-max-interval "20s" --advertise 127.0.0.1:$SWARM_BASE_PORT 192.168.56.202:4444 [ "$status" -ne 0 ] [[ "${output}" == *"max refresh interval cannot be less than min refresh interval"* ]]