diff --git a/server/sandbox.go b/server/sandbox.go index 27589126..73c6919a 100644 --- a/server/sandbox.go +++ b/server/sandbox.go @@ -1,6 +1,7 @@ package server import ( + "errors" "fmt" "github.com/docker/docker/pkg/stringid" @@ -26,6 +27,10 @@ const ( podDefaultNamespace = "default" ) +var ( + errSandboxIDEmpty = errors.New("PodSandboxId should not be empty") +) + func (s *sandbox) addContainer(c *oci.Container) { s.containers.Add(c.Name(), c) } @@ -60,7 +65,7 @@ type podSandboxRequest interface { func (s *Server) getPodSandboxFromRequest(req podSandboxRequest) (*sandbox, error) { sbID := req.GetPodSandboxId() if sbID == "" { - return nil, fmt.Errorf("PodSandboxId should not be empty") + return nil, errSandboxIDEmpty } sandboxID, err := s.podIDIndex.Get(sbID) diff --git a/server/sandbox_remove.go b/server/sandbox_remove.go index b71cf43a..df9c5128 100644 --- a/server/sandbox_remove.go +++ b/server/sandbox_remove.go @@ -18,7 +18,13 @@ func (s *Server) RemovePodSandbox(ctx context.Context, req *pb.RemovePodSandboxR logrus.Debugf("RemovePodSandboxRequest %+v", req) sb, err := s.getPodSandboxFromRequest(req) if err != nil { - return nil, err + if err == errSandboxIDEmpty { + return nil, err + } + + resp := &pb.RemovePodSandboxResponse{} + logrus.Warnf("could not get sandbox %s, it's probably been removed already: %v", req.GetPodSandboxId(), err) + return resp, nil } podInfraContainer := sb.infraContainer