From d4cfba1844f61cc2930d63fa3ce336b259bdbd8b Mon Sep 17 00:00:00 2001 From: Nishant Totla Date: Sat, 20 Feb 2016 20:10:37 -0800 Subject: [PATCH] Adding engine-api client Signed-off-by: Nishant Totla --- cluster/engine.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cluster/engine.go b/cluster/engine.go index 197afa2731..01a14a7882 100644 --- a/cluster/engine.go +++ b/cluster/engine.go @@ -15,6 +15,7 @@ import ( log "github.com/Sirupsen/logrus" "github.com/docker/docker/pkg/version" + engineapi "github.com/docker/engine-api/client" "github.com/samalba/dockerclient" "github.com/samalba/dockerclient/nopclient" ) @@ -109,6 +110,7 @@ type Engine struct { networks map[string]*Network volumes map[string]*Volume client dockerclient.Client + apiClient engineapi.APIClient eventHandler EventHandler state engineState lastError string @@ -163,7 +165,6 @@ func (e *Engine) Connect(config *tls.Config) error { if err != nil { return err } - return e.ConnectWithClient(c) } @@ -188,6 +189,14 @@ func (e *Engine) StartMonitorEvents() { func (e *Engine) ConnectWithClient(client dockerclient.Client) error { e.client = client + // Use HTTP Client used by dockerclient to create engine-api client + httpClient, _ := e.HTTPClientAndScheme() + apiClient, err := engineapi.NewClient("tcp://"+e.Addr, "", httpClient, nil) + if err != nil { + return err + } + e.apiClient = apiClient + // Fetch the engine labels. if err := e.updateSpecs(); err != nil { return err