From 8c190a683cdc072da6c752a4fde2419e90feeee1 Mon Sep 17 00:00:00 2001 From: Antonio Murdaca Date: Fri, 12 Jan 2018 15:45:44 +0100 Subject: [PATCH] server: use grpc getters to avoid panics Signed-off-by: Antonio Murdaca --- server/container_create.go | 6 +++++- server/sandbox_run.go | 14 +++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/server/container_create.go b/server/container_create.go index 56a94c2b..7db6a51d 100644 --- a/server/container_create.go +++ b/server/container_create.go @@ -562,7 +562,11 @@ func (s *Server) CreateContainer(ctx context.Context, req *pb.CreateContainerReq return nil, fmt.Errorf("CreateContainerRequest.ContainerConfig is nil") } - name := containerConfig.GetMetadata().Name + if containerConfig.GetMetadata() == nil { + return nil, fmt.Errorf("CreateContainerRequest.ContainerConfig.Metadata is nil") + } + + name := containerConfig.GetMetadata().GetName() if name == "" { return nil, fmt.Errorf("CreateContainerRequest.ContainerConfig.Name is empty") } diff --git a/server/sandbox_run.go b/server/sandbox_run.go index 9e9ff487..8e6c1732 100644 --- a/server/sandbox_run.go +++ b/server/sandbox_run.go @@ -101,16 +101,20 @@ func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest s.updateLock.RLock() defer s.updateLock.RUnlock() + if req.GetConfig().GetMetadata() == nil { + return nil, fmt.Errorf("CreateContainerRequest.ContainerConfig.Metadata is nil") + } + logrus.Debugf("RunPodSandboxRequest %+v", req) var processLabel, mountLabel, resolvPath string // process req.Name - kubeName := req.GetConfig().GetMetadata().Name + kubeName := req.GetConfig().GetMetadata().GetName() if kubeName == "" { return nil, fmt.Errorf("PodSandboxConfig.Name should not be empty") } - namespace := req.GetConfig().GetMetadata().Namespace - attempt := req.GetConfig().GetMetadata().Attempt + namespace := req.GetConfig().GetMetadata().GetNamespace() + attempt := req.GetConfig().GetMetadata().GetAttempt() id, name, err := s.generatePodIDandName(req.GetConfig()) if err != nil { @@ -156,8 +160,8 @@ func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest name, id, s.config.PauseImage, "", containerName, - req.GetConfig().GetMetadata().Name, - req.GetConfig().GetMetadata().Uid, + req.GetConfig().GetMetadata().GetName(), + req.GetConfig().GetMetadata().GetUid(), namespace, attempt, nil)