Skip to content

Commit

Permalink
Merge branch 'master' into release-1.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
andrestc committed Feb 1, 2018
2 parents f7aa2a5 + 6ca1e14 commit a258ae8
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 4 deletions.
7 changes: 4 additions & 3 deletions provision/kubernetes/deploy.go
Expand Up @@ -676,12 +676,13 @@ func imageTagAndPush(client *clusterClient, a provision.App, oldImage, newImage
return nil, errors.Wrapf(err, "unable to pull and tag image: %q", buf.String())
}
var imgs []dockerImageSpec
err = json.Unmarshal(buf.Bytes(), &imgs)
bufData := buf.String()
err = json.NewDecoder(buf).Decode(&imgs)
if err != nil {
return nil, errors.Wrapf(err, "invalid image inspect response: %q", buf.String())
return nil, errors.Wrapf(err, "invalid image inspect response: %q", bufData)
}
if len(imgs) != 1 {
return nil, errors.Errorf("unexpected image inspect response: %q", buf.String())
return nil, errors.Errorf("unexpected image inspect response: %q", bufData)
}
return &imgs[0], nil
}
30 changes: 29 additions & 1 deletion provision/kubernetes/provisioner_test.go
Expand Up @@ -786,7 +786,14 @@ func (s *S) TestImageDeploy(c *check.C) {
})
c.Assert(err, check.IsNil)
s.logHook = func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte(`[{"Config": {"Cmd": ["arg1"], "Entrypoint": ["run", "mycmd"], "ExposedPorts": null}}]`))
w.Write([]byte(`[
{
"Config": {"Cmd": ["arg1"], "Entrypoint": ["run", "mycmd"], "ExposedPorts": null}
}
]
ignored docker tag output
ignored docker push output
`))
}
img, err := s.p.ImageDeploy(a, "myimg", evt)
c.Assert(err, check.IsNil, check.Commentf("%+v", err))
Expand All @@ -804,6 +811,27 @@ func (s *S) TestImageDeploy(c *check.C) {
c.Assert(units, check.HasLen, 1)
}

func (s *S) TestImageDeployInspectError(c *check.C) {
a, _, rollback := s.defaultReactions(c)
defer rollback()
evt, err := event.New(&event.Opts{
Target: event.Target{Type: event.TargetTypeApp, Value: a.GetName()},
Kind: permission.PermAppDeploy,
Owner: s.token,
Allowed: event.Allowed(permission.PermAppDeploy),
})
c.Assert(err, check.IsNil)
s.logHook = func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte(`x
ignored docker tag output
ignored docker push output
`))
}
_, err = s.p.ImageDeploy(a, "myimg", evt)
c.Assert(err, check.NotNil)
c.Assert(err.Error(), check.Equals, "invalid image inspect response: \"x\\nignored docker tag output\\nignored docker push output\\n\": invalid character 'x' looking for beginning of value")
}

func (s *S) TestImageDeployWithProcfile(c *check.C) {
a, wait, rollback := s.defaultReactions(c)
defer rollback()
Expand Down

0 comments on commit a258ae8

Please sign in to comment.