mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
validate heartbeat in discovery cluster opts
Signed-off-by: allencloud <allen.sun@daocloud.io>
This commit is contained in:
parent
b42ab41b8f
commit
68fde86256
2 changed files with 24 additions and 0 deletions
|
@ -56,6 +56,12 @@ func discoveryOpts(clusterOpts map[string]string) (time.Duration, time.Duration,
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return time.Duration(0), time.Duration(0), err
|
return time.Duration(0), time.Duration(0), err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if h <= 0 {
|
||||||
|
return time.Duration(0), time.Duration(0),
|
||||||
|
fmt.Errorf("discovery.heartbeat must be positive")
|
||||||
|
}
|
||||||
|
|
||||||
heartbeat = time.Duration(h) * time.Second
|
heartbeat = time.Duration(h) * time.Second
|
||||||
ttl = defaultDiscoveryTTLFactor * heartbeat
|
ttl = defaultDiscoveryTTLFactor * heartbeat
|
||||||
}
|
}
|
||||||
|
@ -65,6 +71,12 @@ func discoveryOpts(clusterOpts map[string]string) (time.Duration, time.Duration,
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return time.Duration(0), time.Duration(0), err
|
return time.Duration(0), time.Duration(0), err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if t <= 0 {
|
||||||
|
return time.Duration(0), time.Duration(0),
|
||||||
|
fmt.Errorf("discovery.ttl must be positive")
|
||||||
|
}
|
||||||
|
|
||||||
ttl = time.Duration(t) * time.Second
|
ttl = time.Duration(t) * time.Second
|
||||||
|
|
||||||
if _, ok := clusterOpts["discovery.heartbeat"]; !ok {
|
if _, ok := clusterOpts["discovery.heartbeat"]; !ok {
|
||||||
|
|
|
@ -18,6 +18,18 @@ func TestDiscoveryOpts(t *testing.T) {
|
||||||
t.Fatalf("discovery.ttl == discovery.heartbeat must fail")
|
t.Fatalf("discovery.ttl == discovery.heartbeat must fail")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
clusterOpts = map[string]string{"discovery.heartbeat": "-10", "discovery.ttl": "10"}
|
||||||
|
heartbeat, ttl, err = discoveryOpts(clusterOpts)
|
||||||
|
if err == nil {
|
||||||
|
t.Fatalf("negative discovery.heartbeat must fail")
|
||||||
|
}
|
||||||
|
|
||||||
|
clusterOpts = map[string]string{"discovery.heartbeat": "10", "discovery.ttl": "-10"}
|
||||||
|
heartbeat, ttl, err = discoveryOpts(clusterOpts)
|
||||||
|
if err == nil {
|
||||||
|
t.Fatalf("negative discovery.ttl must fail")
|
||||||
|
}
|
||||||
|
|
||||||
clusterOpts = map[string]string{"discovery.heartbeat": "invalid"}
|
clusterOpts = map[string]string{"discovery.heartbeat": "invalid"}
|
||||||
heartbeat, ttl, err = discoveryOpts(clusterOpts)
|
heartbeat, ttl, err = discoveryOpts(clusterOpts)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue