summaryrefslogtreecommitdiff
path: root/libkpod/remove.go
diff options
context:
space:
mode:
Diffstat (limited to 'libkpod/remove.go')
-rw-r--r--libkpod/remove.go53
1 files changed, 0 insertions, 53 deletions
diff --git a/libkpod/remove.go b/libkpod/remove.go
deleted file mode 100644
index 529348840..000000000
--- a/libkpod/remove.go
+++ /dev/null
@@ -1,53 +0,0 @@
-package libkpod
-
-import (
- "os"
- "path/filepath"
-
- "github.com/pkg/errors"
- "github.com/projectatomic/libpod/oci"
- "golang.org/x/net/context"
-)
-
-// Remove removes a container
-func (c *ContainerServer) Remove(ctx context.Context, container string, force bool) (string, error) {
- ctr, err := c.LookupContainer(container)
- if err != nil {
- return "", err
- }
- ctrID := ctr.ID()
-
- cStatus := c.runtime.ContainerStatus(ctr)
- switch cStatus.Status {
- case oci.ContainerStatePaused:
- return "", errors.Errorf("cannot remove paused container %s", ctrID)
- case oci.ContainerStateCreated, oci.ContainerStateRunning:
- if force {
- _, err = c.ContainerStop(ctx, container, 10)
- if err != nil {
- return "", errors.Wrapf(err, "unable to stop container %s", ctrID)
- }
- } else {
- return "", errors.Errorf("cannot remove running container %s", ctrID)
- }
- }
-
- if err := c.runtime.DeleteContainer(ctr); err != nil {
- return "", errors.Wrapf(err, "failed to delete container %s", ctrID)
- }
- if err := os.Remove(filepath.Join(c.Config().RuntimeConfig.ContainerExitsDir, ctrID)); err != nil && !os.IsNotExist(err) {
- return "", errors.Wrapf(err, "failed to remove container exit file %s", ctrID)
- }
- c.RemoveContainer(ctr)
-
- if err := c.storageRuntimeServer.DeleteContainer(ctrID); err != nil {
- return "", errors.Wrapf(err, "failed to delete storage for container %s", ctrID)
- }
-
- c.ReleaseContainerName(ctr.Name())
-
- if err := c.ctrIDIndex.Delete(ctrID); err != nil {
- return "", err
- }
- return ctrID, nil
-}