use host uts namespace when pod.Spec.HostNetwork is true

pull/6/head
Lv Lv 2015-08-19 13:02:10 +08:00
parent b5a4a548df
commit 0b90dfba3a
1 changed files with 8 additions and 2 deletions

View File

@ -572,7 +572,8 @@ func (dm *DockerManager) runContainer(
opts *kubecontainer.RunContainerOptions, opts *kubecontainer.RunContainerOptions,
ref *api.ObjectReference, ref *api.ObjectReference,
netMode string, netMode string,
ipcMode string) (string, error) { ipcMode string,
utsMode string) (string, error) {
dockerName := KubeletContainerName{ dockerName := KubeletContainerName{
PodFullName: kubecontainer.GetPodFullName(pod), PodFullName: kubecontainer.GetPodFullName(pod),
@ -679,6 +680,7 @@ func (dm *DockerManager) runContainer(
Binds: binds, Binds: binds,
NetworkMode: netMode, NetworkMode: netMode,
IpcMode: ipcMode, IpcMode: ipcMode,
UTSMode: utsMode,
// Memory and CPU are set here for newer versions of Docker (1.6+). // Memory and CPU are set here for newer versions of Docker (1.6+).
Memory: memoryLimit, Memory: memoryLimit,
MemorySwap: -1, MemorySwap: -1,
@ -1240,7 +1242,11 @@ func (dm *DockerManager) runContainerInPod(pod *api.Pod, container *api.Containe
return "", err 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 { if err != nil {
return "", err return "", err
} }