From cd321a3e6eca5a01a2ab6a1ab9b3cb927948ed95 Mon Sep 17 00:00:00 2001 From: ZeroMagic Date: Thu, 9 Aug 2018 10:31:15 +0800 Subject: [PATCH] containerd-shim-kata-v2: add the service ResizePty support Add the ResizePty api support to resize the console. Signed-off-by: ZeroMagic --- containerd-shim-v2/service.go | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/containerd-shim-v2/service.go b/containerd-shim-v2/service.go index f23d2ec46b..41cbe75583 100644 --- a/containerd-shim-v2/service.go +++ b/containerd-shim-v2/service.go @@ -423,7 +423,32 @@ func (s *service) Exec(ctx context.Context, r *taskAPI.ExecProcessRequest) (*pty // ResizePty of a process func (s *service) ResizePty(ctx context.Context, r *taskAPI.ResizePtyRequest) (*ptypes.Empty, error) { - return nil, errdefs.ErrNotImplemented + s.Lock() + defer s.Unlock() + + c, err := s.getContainer(r.ID) + if err != nil { + return nil, err + } + + processID := c.id + if r.ExecID != "" { + execs, err := c.getExec(r.ExecID) + if err != nil { + return nil, err + } + execs.tty.height = r.Height + execs.tty.width = r.Width + + processID = execs.id + + } + err = s.sandbox.WinsizeProcess(c.id, processID, r.Height, r.Width) + if err != nil { + return nil, err + } + + return empty, err } // State returns runtime state information for a process