prevent panic in random strategy if no node

Signed-off-by: Victor Vieux <vieux@docker.com>
This commit is contained in:
Victor Vieux 2014-12-09 00:19:24 +00:00
parent 21ee7e1a13
commit ebe77641c7
1 changed files with 6 additions and 4 deletions

View File

@ -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")