From af5ce4bdb0bc4df6689d760ed04d5e35970e79b8 Mon Sep 17 00:00:00 2001 From: Nishant Totla Date: Wed, 6 Apr 2016 18:01:38 -0700 Subject: [PATCH] Returning error when Image Pull fails Signed-off-by: Nishant Totla --- cluster/engine.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cluster/engine.go b/cluster/engine.go index 20abb306d4..4d587025c0 100644 --- a/cluster/engine.go +++ b/cluster/engine.go @@ -991,12 +991,20 @@ func (e *Engine) Pull(image string, authConfig *types.AuthConfig) error { dec := json.NewDecoder(pullResponse) for { m := map[string]interface{}{} - if err := dec.Decode(&m); err != nil { + err := dec.Decode(&m) + if err != nil { if err == io.EOF { break } return err } + // if the stream contains an error, return it + if val, ok := m["error"]; ok { + if errmsg, strok := val.(string); strok { + return errors.New(errmsg) + } + return errors.New("Error while downloading image") + } } // force refresh images