From 333aad53b6d1599f6b575b1e7f9d31a830a52d17 Mon Sep 17 00:00:00 2001 From: Wang Xu Date: Wed, 19 Apr 2017 02:04:51 +0800 Subject: [PATCH] check if sandbox create returns no error no result Signed-off-by: Wang Xu --- daemon/pod/provision.go | 4 ++++ errors/errors.go | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/daemon/pod/provision.go b/daemon/pod/provision.go index 49675499..818591d4 100644 --- a/daemon/pod/provision.go +++ b/daemon/pod/provision.go @@ -248,6 +248,10 @@ func (p *XPod) createSandbox(spec *apitypes.UserPod) error { p.Log(ERROR, err) return err } + if sandbox == nil { + p.Log(ERROR, "startSandbox returns no sandbox and no error") + return errors.ErrSandboxNotExist + } config := &runv.SandboxConfig{ Hostname: spec.Hostname, diff --git a/errors/errors.go b/errors/errors.go index 2780c733..6646a48f 100644 --- a/errors/errors.go +++ b/errors/errors.go @@ -15,6 +15,12 @@ var ( HTTPStatusCode: http.StatusInternalServerError, }) + ErrSandboxNotExist = errcode.Register(errGroup, errcode.ErrorDescriptor{ + Value: "HYPER_SANDBOX_NOT_EXIST", + Message: "sandbox does not exist", + HTTPStatusCode: http.StatusPreconditionFailed, + }) + ErrPodNotAlive = errcode.Register(errGroup, errcode.ErrorDescriptor{ Value: "HYPER_POD_NOT_ALIVE", Message: "cannot complete the operation, because the pod %s is not alive",