From 9728c56a5a342e9c2437c817dea2e6b45961feba Mon Sep 17 00:00:00 2001 From: Yu-Ju Hong Date: Fri, 19 Jan 2018 13:51:24 -0800 Subject: [PATCH] dockershim: call DockerService.Start() during grpc server startup --- cmd/kubelet/app/server.go | 4 ---- pkg/kubelet/dockershim/docker_service.go | 3 ++- pkg/kubelet/dockershim/remote/docker_server.go | 6 ++++++ pkg/kubelet/kubelet.go | 3 --- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index da8fe6fb594..c302dfc4074 100644 --- a/cmd/kubelet/app/server.go +++ b/cmd/kubelet/app/server.go @@ -998,10 +998,6 @@ func RunDockershim(f *options.KubeletFlags, c *kubeletconfiginternal.KubeletConf if err != nil { return err } - if err := ds.Start(); err != nil { - return err - } - glog.V(2).Infof("Starting the GRPC server for the docker CRI shim.") server := dockerremote.NewDockerServer(f.RemoteRuntimeEndpoint, ds) if err := server.Start(); err != nil { diff --git a/pkg/kubelet/dockershim/docker_service.go b/pkg/kubelet/dockershim/docker_service.go index 31662ae3c72..290a1d199ef 100644 --- a/pkg/kubelet/dockershim/docker_service.go +++ b/pkg/kubelet/dockershim/docker_service.go @@ -266,6 +266,8 @@ func NewDockerService(config *ClientConfig, podSandboxImage string, streamingCon type CRIService interface { runtimeapi.RuntimeServiceServer runtimeapi.ImageServiceServer + + Start() error } // DockerService is an interface that embeds the new RuntimeService and @@ -273,7 +275,6 @@ type CRIService interface { type DockerService interface { CRIService - Start() error // For serving streaming calls. http.Handler diff --git a/pkg/kubelet/dockershim/remote/docker_server.go b/pkg/kubelet/dockershim/remote/docker_server.go index bd2af0705d3..b1185005602 100644 --- a/pkg/kubelet/dockershim/remote/docker_server.go +++ b/pkg/kubelet/dockershim/remote/docker_server.go @@ -48,6 +48,12 @@ func NewDockerServer(endpoint string, s dockershim.CRIService) *DockerServer { // Start starts the dockershim grpc server. func (s *DockerServer) Start() error { + // Start the internal service. + if err := s.service.Start(); err != nil { + glog.Errorf("Unable to start docker service") + return err + } + glog.V(2).Infof("Start dockershim grpc server") l, err := util.CreateListener(s.endpoint) if err != nil { diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 0368ecc8ece..27a4e2d5ba0 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -610,9 +610,6 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration, if err != nil { return nil, err } - if err := ds.Start(); err != nil { - return nil, err - } // For now, the CRI shim redirects the streaming requests to the // kubelet, which handles the requests using DockerService.. klet.criHandler = ds