mirror of https://github.com/docker/docs.git
parent
f86f41ba09
commit
3c7a454a9d
|
|
@ -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)
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue