DockerContaineId->DockerId

This commit is contained in:
Justin Huff 2014-06-27 14:03:39 -07:00
parent 81663fdb80
commit 8c5562ef77

View File

@ -62,7 +62,7 @@ type DockerInterface interface {
} }
// Type to make it clear when we're working with docker container Ids // Type to make it clear when we're working with docker container Ids
type DockerContainerId string type DockerId string
//Interface for testability //Interface for testability
type DockerPuller interface { type DockerPuller interface {
@ -173,8 +173,8 @@ func (kl *Kubelet) LogEvent(event *api.Event) error {
} }
// Return a map of docker containers that we manage. The map key is the docker container ID // Return a map of docker containers that we manage. The map key is the docker container ID
func (kl *Kubelet) getDockerContainers() (map[DockerContainerId]docker.APIContainers, error) { func (kl *Kubelet) getDockerContainers() (map[DockerId]docker.APIContainers, error) {
result := map[DockerContainerId]docker.APIContainers{} result := map[DockerId]docker.APIContainers{}
containerList, err := kl.DockerClient.ListContainers(docker.ListContainersOptions{}) containerList, err := kl.DockerClient.ListContainers(docker.ListContainersOptions{})
if err != nil { if err != nil {
return result, err return result, err
@ -185,13 +185,13 @@ func (kl *Kubelet) getDockerContainers() (map[DockerContainerId]docker.APIContai
if !strings.HasPrefix(value.Names[0], "/"+containerNamePrefix+"--") { if !strings.HasPrefix(value.Names[0], "/"+containerNamePrefix+"--") {
continue continue
} }
result[DockerContainerId(value.ID)] = value result[DockerId(value.ID)] = value
} }
return result, err return result, err
} }
// Return Docker's container ID for a manifest's container. Returns an empty string if it doesn't exist. // Return Docker's container ID for a manifest's container. Returns an empty string if it doesn't exist.
func (kl *Kubelet) getContainerId(manifest *api.ContainerManifest, container *api.Container) (DockerContainerId, error) { func (kl *Kubelet) getContainerId(manifest *api.ContainerManifest, container *api.Container) (DockerId, error) {
dockerContainers, err := kl.getDockerContainers() dockerContainers, err := kl.getDockerContainers()
if err != nil { if err != nil {
return "", err return "", err
@ -199,7 +199,7 @@ func (kl *Kubelet) getContainerId(manifest *api.ContainerManifest, container *ap
for id, dockerContainer := range dockerContainers { for id, dockerContainer := range dockerContainers {
manifestId, containerName := parseDockerName(dockerContainer.Names[0]) manifestId, containerName := parseDockerName(dockerContainer.Names[0])
if manifestId == manifest.Id && containerName == container.Name { if manifestId == manifest.Id && containerName == container.Name {
return DockerContainerId(id), nil return DockerId(id), nil
} }
} }
return "", nil return "", nil
@ -323,7 +323,7 @@ func makePortsAndBindings(container *api.Container) (map[docker.Port]struct{}, m
} }
// Run a single container from a manifest. Returns the docker container ID // Run a single container from a manifest. Returns the docker container ID
func (kl *Kubelet) runContainer(manifest *api.ContainerManifest, container *api.Container, netMode string) (id DockerContainerId, err error) { func (kl *Kubelet) runContainer(manifest *api.ContainerManifest, container *api.Container, netMode string) (id DockerId, err error) {
envVariables := makeEnvironmentVariables(container) envVariables := makeEnvironmentVariables(container)
volumes, binds := makeVolumesAndBinds(container) volumes, binds := makeVolumesAndBinds(container)
exposedPorts, portBindings := makePortsAndBindings(container) exposedPorts, portBindings := makePortsAndBindings(container)
@ -348,7 +348,7 @@ func (kl *Kubelet) runContainer(manifest *api.ContainerManifest, container *api.
Binds: binds, Binds: binds,
NetworkMode: netMode, NetworkMode: netMode,
}) })
return DockerContainerId(dockerContainer.ID), err return DockerId(dockerContainer.ID), err
} }
// Kill a docker container // Kill a docker container
@ -611,12 +611,12 @@ func (kl *Kubelet) WatchEtcd(watchChannel <-chan *etcd.Response, updateChannel c
const networkContainerName = "net" const networkContainerName = "net"
// Return the docker ID for a manifest's network container. Returns an empty string if it doesn't exist. // Return the docker ID for a manifest's network container. Returns an empty string if it doesn't exist.
func (kl *Kubelet) getNetworkContainerId(manifest *api.ContainerManifest) (DockerContainerId, error) { func (kl *Kubelet) getNetworkContainerId(manifest *api.ContainerManifest) (DockerId, error) {
return kl.getContainerId(manifest, &api.Container{Name: networkContainerName}) return kl.getContainerId(manifest, &api.Container{Name: networkContainerName})
} }
// Create a network container for a manifest. Returns the docker container ID of the newly created container. // Create a network container for a manifest. Returns the docker container ID of the newly created container.
func (kl *Kubelet) createNetworkContainer(manifest *api.ContainerManifest) (DockerContainerId, error) { func (kl *Kubelet) createNetworkContainer(manifest *api.ContainerManifest) (DockerId, error) {
var ports []api.Port var ports []api.Port
// Docker only exports ports from the network container. Let's // Docker only exports ports from the network container. Let's
// collect all of the relevant ports and export them. // collect all of the relevant ports and export them.
@ -637,7 +637,7 @@ func (kl *Kubelet) createNetworkContainer(manifest *api.ContainerManifest) (Dock
func (kl *Kubelet) SyncManifests(config []api.ContainerManifest) error { func (kl *Kubelet) SyncManifests(config []api.ContainerManifest) error {
glog.Infof("Desired: %#v", config) glog.Infof("Desired: %#v", config)
var err error var err error
dockerIdsToKeep := map[DockerContainerId]bool{} dockerIdsToKeep := map[DockerId]bool{}
// Check for any containers that need starting // Check for any containers that need starting
for _, manifest := range config { for _, manifest := range config {
@ -734,14 +734,14 @@ func (kl *Kubelet) RunSyncLoop(updateChannel <-chan manifestUpdate, handler Sync
// it returns true if the container is found, false otherwise, and any error that occurs. // it returns true if the container is found, false otherwise, and any error that occurs.
// TODO: This functions exists to support GetContainerInfo and GetContainerStats // TODO: This functions exists to support GetContainerInfo and GetContainerStats
// It should be removed once those two functions start taking proper pod.IDs // It should be removed once those two functions start taking proper pod.IDs
func (kl *Kubelet) getContainerIdFromName(name string) (DockerContainerId, bool, error) { func (kl *Kubelet) getContainerIdFromName(name string) (DockerId, bool, error) {
containerList, err := kl.DockerClient.ListContainers(docker.ListContainersOptions{}) containerList, err := kl.DockerClient.ListContainers(docker.ListContainersOptions{})
if err != nil { if err != nil {
return "", false, err return "", false, err
} }
for _, value := range containerList { for _, value := range containerList {
if strings.Contains(value.Names[0], name) { if strings.Contains(value.Names[0], name) {
return DockerContainerId(value.ID), true, nil return DockerId(value.ID), true, nil
} }
} }
return "", false, nil return "", false, nil