diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index da8fe6fb59..c302dfc407 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 31662ae3c7..290a1d199e 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 bd2af0705d..b118500560 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 0368ecc8ec..27a4e2d5ba 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