From bd7132bc071a7f896614ce463804907756cf1049 Mon Sep 17 00:00:00 2001 From: Yifan Gu Date: Thu, 23 Apr 2015 13:55:50 -0700 Subject: [PATCH] kubelet/container: Introduce RunContainerOptionsGenerator. This interface wraps the kubelet to provide the options for container runtime to run a container. --- pkg/kubelet/container/helpers.go | 7 +++++++ pkg/kubelet/kubelet.go | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/pkg/kubelet/container/helpers.go b/pkg/kubelet/container/helpers.go index 6776339421d..8ae31c64a71 100644 --- a/pkg/kubelet/container/helpers.go +++ b/pkg/kubelet/container/helpers.go @@ -30,3 +30,10 @@ type HandlerRunner interface { type Prober interface { Probe(pod *api.Pod, status api.PodStatus, container api.Container, containerID string, createdAt int64) (probe.Result, error) } + +// RunContainerOptionsGenerator generates the options that necessary for +// container runtime to run a container. +// TODO(yifan): Remove netMode, ipcMode. +type RunContainerOptionsGenerator interface { + GenerateRunContainerOptions(pod *api.Pod, container *api.Container, netMode, ipcMode string) (*RunContainerOptions, error) +} diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 3c4348b7e8e..8bdbe16ebe5 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -682,9 +682,9 @@ func makeBinds(container *api.Container, podVolumes volumeMap) (binds []string) return } -// generateRunContainerOptions generates the RunContainerOptions, which can be used by +// GenerateRunContainerOptions generates the RunContainerOptions, which can be used by // the container runtime to set parameters for launching a container. -func (kl *Kubelet) generateRunContainerOptions(pod *api.Pod, container *api.Container, netMode, ipcMode string) (*kubecontainer.RunContainerOptions, error) { +func (kl *Kubelet) GenerateRunContainerOptions(pod *api.Pod, container *api.Container, netMode, ipcMode string) (*kubecontainer.RunContainerOptions, error) { var err error opts := &kubecontainer.RunContainerOptions{ NetMode: netMode, @@ -725,7 +725,7 @@ func (kl *Kubelet) runContainer(pod *api.Pod, container *api.Container, netMode, glog.Errorf("Couldn't make a ref to pod %v, container %v: '%v'", pod.Name, container.Name, err) } - opts, err := kl.generateRunContainerOptions(pod, container, netMode, ipcMode) + opts, err := kl.GenerateRunContainerOptions(pod, container, netMode, ipcMode) if err != nil { return "", err }