Signed-off-by: Victor Vieux <vieux@docker.com>
This commit is contained in:
Victor Vieux 2016-01-28 12:42:42 -08:00
parent f86f41ba09
commit 3c7a454a9d
1 changed files with 56 additions and 0 deletions

View File

@ -0,0 +1,56 @@
package scheduler
import (
"testing"
"github.com/docker/swarm/cluster"
"github.com/docker/swarm/scheduler/filter"
"github.com/docker/swarm/scheduler/node"
"github.com/docker/swarm/scheduler/strategy"
"github.com/samalba/dockerclient"
"github.com/stretchr/testify/assert"
)
func TestSelectNodesForContainer(t *testing.T) {
var (
s = Scheduler{
strategy: &strategy.SpreadPlacementStrategy{},
filters: []filter.Filter{&filter.ConstraintFilter{}},
}
nodes = []*node.Node{
{
ID: "node-0-id",
Name: "node-0-name",
Addr: "node-0",
TotalMemory: 1 * 1024 * 1024 * 1024,
TotalCpus: 1,
Labels: map[string]string{
"group": "1",
},
},
{
ID: "node-1-id",
Name: "node-1-name",
Addr: "node-1",
TotalMemory: 1 * 1024 * 1024 * 1024,
TotalCpus: 2,
Labels: map[string]string{
"group": "2",
},
},
}
config = cluster.BuildContainerConfig(dockerclient.ContainerConfig{
Memory: 1024 * 1024 * 1024,
CpuShares: 2,
Env: []string{"constraint:group==~1"},
})
)
candidates, err := s.SelectNodesForContainer(nodes, config)
assert.NoError(t, err)
assert.Equal(t, 1, len(candidates))
assert.Equal(t, "node-1-id", candidates[0].ID)
}