From ebe77641c7e30666fe2a701da08929e2da670fb4 Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Tue, 9 Dec 2014 00:19:24 +0000 Subject: [PATCH] prevent panic in random strategy if no node Signed-off-by: Victor Vieux --- scheduler/strategy/random.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scheduler/strategy/random.go b/scheduler/strategy/random.go index ea44bc39d1..a6c6af3896 100644 --- a/scheduler/strategy/random.go +++ b/scheduler/strategy/random.go @@ -18,10 +18,12 @@ type RandomPlacementStrategy struct { } func (p *RandomPlacementStrategy) PlaceContainer(config *dockerclient.ContainerConfig, nodes []*cluster.Node) (*cluster.Node, error) { - n := rand.Intn(len(nodes)) - for i, node := range nodes { - if i == n { - return node, nil + if size := len(nodes); size > 0 { + n := rand.Intn(len(nodes)) + for i, node := range nodes { + if i == n { + return node, nil + } } } return nil, errors.New("No nodes running in the cluster")