From e3f4e823bae76331d0d3314e076ff9bafbf48dd3 Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Sun, 31 Jan 2016 01:03:05 -0500 Subject: [PATCH] Allow the Kubelet Docker container prefix to be changed Enables running multiple Kubelets on the same instance for testing and for node bootstrapping experimentation --- pkg/kubelet/dockertools/docker.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkg/kubelet/dockertools/docker.go b/pkg/kubelet/dockertools/docker.go index 8d499c4db70..91f6ba1ae74 100644 --- a/pkg/kubelet/dockertools/docker.go +++ b/pkg/kubelet/dockertools/docker.go @@ -81,6 +81,17 @@ type KubeletContainerName struct { ContainerName string } +// containerNamePrefix is used to identify the containers on the node managed by this +// process. +var containerNamePrefix = "k8s" + +// SetContainerNamePrefix allows the container prefix name for this process to be changed. +// This is intended to support testing and bootstrapping experimentation. It cannot be +// changed once the Kubelet starts. +func SetContainerNamePrefix(prefix string) { + containerNamePrefix = prefix +} + // DockerPuller is an abstract interface for testability. It abstracts image pull operations. type DockerPuller interface { Pull(image string, secrets []api.Secret) error @@ -209,8 +220,6 @@ func (p throttledDockerPuller) IsImagePresent(name string) (bool, error) { return p.puller.IsImagePresent(name) } -const containerNamePrefix = "k8s" - // Creates a name which can be reversed to identify both full pod name and container name. func BuildDockerName(dockerName KubeletContainerName, container *api.Container) (string, string) { containerName := dockerName.ContainerName + "." + strconv.FormatUint(kubecontainer.HashContainer(container), 16)