From 72ac4fe33e7e193ac6c1d0507ca288b0982a1f59 Mon Sep 17 00:00:00 2001 From: Mrunal Patel Date: Wed, 28 Sep 2016 12:24:12 -0700 Subject: [PATCH] Stop container first if it is running on RemoveContainer Signed-off-by: Mrunal Patel --- server/container.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/server/container.go b/server/container.go index 1853dd60..b3d274f8 100644 --- a/server/container.go +++ b/server/container.go @@ -352,6 +352,17 @@ func (s *Server) RemoveContainer(ctx context.Context, req *pb.RemoveContainerReq return nil, fmt.Errorf("specified container not found: %s", *containerName) } + if err := s.runtime.UpdateStatus(c); err != nil { + return nil, fmt.Errorf("failed to update container state: %v", err) + } + + cState := s.runtime.ContainerStatus(c) + if cState.Status == ContainerStateCreated || cState.Status == ContainerStateRunning { + if err := s.runtime.StopContainer(c); err != nil { + return nil, fmt.Errorf("failed to stop container %s: %v", *containerName, err) + } + } + if err := s.runtime.DeleteContainer(c); err != nil { return nil, fmt.Errorf("failed to delete container %s: %v", *containerName, err) }