Remove deprecated bits from kubelet
This commit is contained in:
parent
2a62d72140
commit
97b05619f1
@ -198,29 +198,20 @@ func makeEnvironmentVariables(container *api.Container) []string {
|
||||
return result
|
||||
}
|
||||
|
||||
func makeVolumesAndBinds(pod *Pod, container *api.Container, podVolumes volumeMap) (map[string]struct{}, []string) {
|
||||
volumes := map[string]struct{}{}
|
||||
func makeBinds(pod *Pod, container *api.Container, podVolumes volumeMap) []string {
|
||||
binds := []string{}
|
||||
for _, volume := range container.VolumeMounts {
|
||||
var basePath string
|
||||
if vol, ok := podVolumes[volume.Name]; ok {
|
||||
// Host volumes are not Docker volumes and are directly mounted from the host.
|
||||
basePath = fmt.Sprintf("%s:%s", vol.GetPath(), volume.MountPath)
|
||||
} else if volume.MountType == "HOST" {
|
||||
// DEPRECATED: VolumeMount.MountType will be handled by the Volume struct.
|
||||
basePath = fmt.Sprintf("%s:%s", volume.MountPath, volume.MountPath)
|
||||
} else {
|
||||
// TODO(jonesdl) This clause should be deleted and an error should be thrown. The default
|
||||
// behavior is now supported by the EmptyDirectory type.
|
||||
volumes[volume.MountPath] = struct{}{}
|
||||
basePath = fmt.Sprintf("/exports/%s/%s:%s", GetPodFullName(pod), volume.Name, volume.MountPath)
|
||||
for _, mount := range container.VolumeMounts {
|
||||
vol, ok := podVolumes[mount.Name]
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
if volume.ReadOnly {
|
||||
basePath += ":ro"
|
||||
b := fmt.Sprintf("%s:%s", vol.GetPath(), mount.MountPath)
|
||||
if mount.ReadOnly {
|
||||
b += ":ro"
|
||||
}
|
||||
binds = append(binds, basePath)
|
||||
binds = append(binds, b)
|
||||
}
|
||||
return volumes, binds
|
||||
return binds
|
||||
}
|
||||
|
||||
func makePortsAndBindings(container *api.Container) (map[docker.Port]struct{}, map[docker.Port][]docker.PortBinding) {
|
||||
@ -294,7 +285,7 @@ func (kl *Kubelet) mountExternalVolumes(manifest *api.ContainerManifest) (volume
|
||||
// Run a single container from a pod. Returns the docker container ID
|
||||
func (kl *Kubelet) runContainer(pod *Pod, container *api.Container, podVolumes volumeMap, netMode string) (id DockerID, err error) {
|
||||
envVariables := makeEnvironmentVariables(container)
|
||||
volumes, binds := makeVolumesAndBinds(pod, container, podVolumes)
|
||||
binds := makeBinds(pod, container, podVolumes)
|
||||
exposedPorts, portBindings := makePortsAndBindings(container)
|
||||
|
||||
opts := docker.CreateContainerOptions{
|
||||
@ -307,7 +298,6 @@ func (kl *Kubelet) runContainer(pod *Pod, container *api.Container, podVolumes v
|
||||
Image: container.Image,
|
||||
Memory: int64(container.Memory),
|
||||
CpuShares: int64(milliCPUToShares(container.CPU)),
|
||||
Volumes: volumes,
|
||||
WorkingDir: container.WorkingDir,
|
||||
},
|
||||
}
|
||||
|
@ -671,17 +671,10 @@ func TestMakeVolumesAndBinds(t *testing.T) {
|
||||
Name: "disk",
|
||||
ReadOnly: false,
|
||||
},
|
||||
{
|
||||
MountPath: "/mnt/path2",
|
||||
Name: "disk2",
|
||||
ReadOnly: true,
|
||||
MountType: "LOCAL",
|
||||
},
|
||||
{
|
||||
MountPath: "/mnt/path3",
|
||||
Name: "disk3",
|
||||
ReadOnly: false,
|
||||
MountType: "HOST",
|
||||
Name: "disk",
|
||||
ReadOnly: true,
|
||||
},
|
||||
{
|
||||
MountPath: "/mnt/path4",
|
||||
@ -701,24 +694,21 @@ func TestMakeVolumesAndBinds(t *testing.T) {
|
||||
Namespace: "test",
|
||||
}
|
||||
|
||||
podVolumes := make(volumeMap)
|
||||
podVolumes["disk4"] = &volume.HostDirectory{"/mnt/host"}
|
||||
podVolumes["disk5"] = &volume.EmptyDirectory{"disk5", "podID", "/var/lib/kubelet"}
|
||||
|
||||
volumes, binds := makeVolumesAndBinds(&pod, &container, podVolumes)
|
||||
|
||||
expectedVolumes := []string{"/mnt/path", "/mnt/path2"}
|
||||
expectedBinds := []string{"/exports/pod.test/disk:/mnt/path", "/exports/pod.test/disk2:/mnt/path2:ro", "/mnt/path3:/mnt/path3",
|
||||
"/mnt/host:/mnt/path4", "/var/lib/kubelet/podID/volumes/empty/disk5:/mnt/path5"}
|
||||
|
||||
if len(volumes) != len(expectedVolumes) {
|
||||
t.Errorf("Unexpected volumes. Expected %#v got %#v. Container was: %#v", expectedVolumes, volumes, container)
|
||||
podVolumes := volumeMap{
|
||||
"disk": &volume.HostDirectory{"/mnt/disk"},
|
||||
"disk4": &volume.HostDirectory{"/mnt/host"},
|
||||
"disk5": &volume.EmptyDirectory{"disk5", "podID", "/var/lib/kubelet"},
|
||||
}
|
||||
for _, expectedVolume := range expectedVolumes {
|
||||
if _, ok := volumes[expectedVolume]; !ok {
|
||||
t.Errorf("Volumes map is missing key: %s. %#v", expectedVolume, volumes)
|
||||
}
|
||||
|
||||
binds := makeBinds(&pod, &container, podVolumes)
|
||||
|
||||
expectedBinds := []string{
|
||||
"/mnt/disk:/mnt/path",
|
||||
"/mnt/disk:/mnt/path3:ro",
|
||||
"/mnt/host:/mnt/path4",
|
||||
"/var/lib/kubelet/podID/volumes/empty/disk5:/mnt/path5",
|
||||
}
|
||||
|
||||
if len(binds) != len(expectedBinds) {
|
||||
t.Errorf("Unexpected binds: Expected %#v got %#v. Container was: %#v", expectedBinds, binds, container)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user