From 0b90dfba3a9f89bc1783b7cbed90258bbe4583db Mon Sep 17 00:00:00 2001 From: Lv Lv Date: Wed, 19 Aug 2015 13:02:10 +0800 Subject: [PATCH] use host uts namespace when pod.Spec.HostNetwork is true --- pkg/kubelet/dockertools/manager.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/kubelet/dockertools/manager.go b/pkg/kubelet/dockertools/manager.go index 29405ac9f7f..80855452d7e 100644 --- a/pkg/kubelet/dockertools/manager.go +++ b/pkg/kubelet/dockertools/manager.go @@ -572,7 +572,8 @@ func (dm *DockerManager) runContainer( opts *kubecontainer.RunContainerOptions, ref *api.ObjectReference, netMode string, - ipcMode string) (string, error) { + ipcMode string, + utsMode string) (string, error) { dockerName := KubeletContainerName{ PodFullName: kubecontainer.GetPodFullName(pod), @@ -679,6 +680,7 @@ func (dm *DockerManager) runContainer( Binds: binds, NetworkMode: netMode, IpcMode: ipcMode, + UTSMode: utsMode, // Memory and CPU are set here for newer versions of Docker (1.6+). Memory: memoryLimit, MemorySwap: -1, @@ -1240,7 +1242,11 @@ func (dm *DockerManager) runContainerInPod(pod *api.Pod, container *api.Containe return "", err } - id, err := dm.runContainer(pod, container, opts, ref, netMode, ipcMode) + utsMode := "" + if pod.Spec.HostNetwork { + utsMode = "host" + } + id, err := dm.runContainer(pod, container, opts, ref, netMode, ipcMode, utsMode) if err != nil { return "", err }