diff --git a/server/container_portforward.go b/server/container_portforward.go index 9009c6bd..9f01ecc3 100644 --- a/server/container_portforward.go +++ b/server/container_portforward.go @@ -26,8 +26,8 @@ func (s *Server) PortForward(ctx context.Context, req *pb.PortForwardRequest) (* return resp, nil } -func (ss streamService) PortForward(podInfraContainerID string, port int32, stream io.ReadWriteCloser) error { - c := ss.runtimeServer.state.containers.Get(podInfraContainerID) +func (ss streamService) PortForward(podSandboxID string, port int32, stream io.ReadWriteCloser) error { + c := ss.runtimeServer.GetSandboxContainer(podSandboxID) if err := ss.runtimeServer.runtime.UpdateStatus(c); err != nil { return err diff --git a/server/server.go b/server/server.go index 48f9d302..515e21cc 100644 --- a/server/server.go +++ b/server/server.go @@ -672,6 +672,12 @@ func (s *Server) getContainer(id string) *oci.Container { return c } +// GetSandboxContainer returns the infra container for a given sandbox +func (s *Server) GetSandboxContainer(id string) *oci.Container { + sb := s.getSandbox(id) + return sb.infraContainer +} + func (s *Server) removeContainer(c *oci.Container) { s.stateLock.Lock() sandbox := s.state.sandboxes[c.Sandbox()]