remove events from the cluster interface

Signed-off-by: Victor Vieux <vieux@docker.com>
This commit is contained in:
Victor Vieux 2015-02-16 15:18:50 -08:00
parent 6348fdd849
commit fa8a06685b
6 changed files with 8 additions and 13 deletions

View File

@ -28,13 +28,12 @@ func newListener(proto, addr string, tlsConfig *tls.Config) (net.Listener, error
return l, nil
}
func ListenAndServe(c cluster.Cluster, hosts []string, enableCors bool, tlsConfig *tls.Config) error {
func ListenAndServe(c cluster.Cluster, hosts []string, enableCors bool, tlsConfig *tls.Config, eventsHandler *eventsHandler) error {
context := &context{
cluster: c,
eventsHandler: NewEventsHandler(),
eventsHandler: eventsHandler,
tlsConfig: tlsConfig,
}
c.Events(context.eventsHandler)
r := createRouter(context, enableCors)
chErrors := make(chan error, len(hosts))

View File

@ -6,7 +6,6 @@ type Cluster interface {
CreateContainer(config *dockerclient.ContainerConfig, name string) (*Container, error)
RemoveContainer(container *Container, force bool) error
Events(eventsHandler EventHandler)
Nodes() []*Node
Containers() []*Container
Container(IdOrName string) *Container

View File

@ -59,10 +59,6 @@ func (s *MesosCluster) RemoveContainer(container *cluster.Container, force bool)
return ErrNotImplemented
}
func (s *MesosCluster) Events(eventsHandler cluster.EventHandler) {
s.nodes.Events(eventsHandler)
}
func (s *MesosCluster) Nodes() []*cluster.Node {
return s.nodes.List()
}

View File

@ -7,4 +7,5 @@ type Options struct {
OvercommitRatio float64
Discovery string
Heartbeat int
EventsHandler EventHandler
}

View File

@ -30,6 +30,8 @@ func NewCluster(scheduler *scheduler.Scheduler, store *state.Store, options *clu
store: store,
}
cluster.nodes.Events(options.EventsHandler)
// get the list of entries from the discovery service
go func() {
d, err := discovery.New(options.Discovery, options.Heartbeat)
@ -113,10 +115,6 @@ func (s *SwarmCluster) newEntries(entries []*discovery.Entry) {
}
}
func (s *SwarmCluster) Events(eventsHandler cluster.EventHandler) {
s.nodes.Events(eventsHandler)
}
func (s *SwarmCluster) Nodes() []*cluster.Node {
return s.nodes.List()
}

View File

@ -120,11 +120,13 @@ func manage(c *cli.Context) {
sched := scheduler.New(s, fs)
eventsHandler := api.NewEventsHandler()
options := &cluster.Options{
TLSConfig: tlsConfig,
OvercommitRatio: c.Float64("overcommit"),
Discovery: dflag,
Heartbeat: c.Int("heartbeat"),
EventsHandler: eventsHandler,
}
var cluster cluster.Cluster
@ -143,5 +145,5 @@ func manage(c *cli.Context) {
if c.IsSet("host") || c.IsSet("H") {
hosts = hosts[1:]
}
log.Fatal(api.ListenAndServe(cluster, hosts, c.Bool("cors"), tlsConfig))
log.Fatal(api.ListenAndServe(cluster, hosts, c.Bool("cors"), tlsConfig, eventsHandler))
}