diff --git a/error.go b/error.go index e8626700..062943a1 100644 --- a/error.go +++ b/error.go @@ -14,6 +14,7 @@ const ( // Container errors ContainerNotExists ContainerPaused + ContainerNotStopped // Common errors ConfigInvalid @@ -34,6 +35,8 @@ func (c ErrorCode) String() string { return "System error" case ContainerNotExists: return "Container does not exist" + case ContainerNotStopped: + return "Container isn't stopped" default: return "Unknown error" } diff --git a/linux_container.go b/linux_container.go index 0ba92a60..63135cb8 100644 --- a/linux_container.go +++ b/linux_container.go @@ -58,6 +58,15 @@ func (c *linuxContainer) StartProcess(config *ProcessConfig) (int, error) { } func (c *linuxContainer) Destroy() error { + state, err := c.RunState() + if err != nil { + return err + } + + if state != Destroyed { + return newGenericError(nil, ContainerNotStopped) + } + glog.Info("destroy container") panic("not implemented") }