diff --git a/server/sandbox.go b/server/sandbox.go index 1a4dd775..f24dd5b2 100644 --- a/server/sandbox.go +++ b/server/sandbox.go @@ -312,6 +312,8 @@ func (s *Server) RemovePodSandbox(ctx context.Context, req *pb.RemovePodSandboxR return nil, fmt.Errorf("failed to remove sandbox %s directory: %v", sandboxID, err) } + s.releasePodName(sb.name) + return &pb.RemovePodSandboxResponse{}, nil } diff --git a/server/server.go b/server/server.go index f4c1a0c4..6876ac01 100644 --- a/server/server.go +++ b/server/server.go @@ -95,13 +95,17 @@ func (s *Server) reservePodName(id, name string) (string, error) { logrus.Warnf("name %s already reserved for %s", name, id) return "", err } - return "", fmt.Errorf("conflict, name %s already reserver", name) + return "", fmt.Errorf("conflict, name %s already reserved", name) } return "", fmt.Errorf("error reserving name %s", name) } return name, nil } +func (s *Server) releasePodName(name string) { + s.podNameIndex.Release(name) +} + // New creates a new Server with options provided func New(runtimePath, root, sandboxDir, containerDir string) (*Server, error) { // TODO: This will go away later when we have wrapper process or systemd acting as