scheduler: Pass the strategy and filters as a creation argument.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
This commit is contained in:
Andrea Luzzardi 2014-11-17 13:31:56 -08:00
parent 6585d4cfb6
commit 0577135ea9
2 changed files with 8 additions and 4 deletions

View File

@ -18,11 +18,11 @@ type Scheduler struct {
filters []filter.Filter filters []filter.Filter
} }
func NewScheduler(cluster *libcluster.Cluster) *Scheduler { func NewScheduler(cluster *libcluster.Cluster, strategy strategy.PlacementStrategy, filters []filter.Filter) *Scheduler {
return &Scheduler{ return &Scheduler{
cluster: cluster, cluster: cluster,
strategy: &strategy.RandomPlacementStrategy{}, strategy: strategy,
filters: []filter.Filter{}, filters: filters,
} }
} }

View File

@ -9,6 +9,8 @@ import (
"github.com/docker/libcluster" "github.com/docker/libcluster"
"github.com/docker/libcluster/api" "github.com/docker/libcluster/api"
"github.com/docker/libcluster/scheduler" "github.com/docker/libcluster/scheduler"
"github.com/docker/libcluster/scheduler/filter"
"github.com/docker/libcluster/scheduler/strategy"
) )
type logHandler struct { type logHandler struct {
@ -39,7 +41,9 @@ func main() {
log.Fatal(err) log.Fatal(err)
} }
} }
c.Events(&logHandler{}) c.Events(&logHandler{})
s := scheduler.NewScheduler(c) s := scheduler.NewScheduler(c, &strategy.RandomPlacementStrategy{}, []filter.Filter{})
log.Fatal(api.ListenAndServe(c, s, ":4243")) log.Fatal(api.ListenAndServe(c, s, ":4243"))
} }