Use VisitContainers instead of directly accessing pod container fields

Change-Id: I354513683e7b5bf4d1837f567ef0e84b17f6e174
This commit is contained in:
Michelle Au 2019-08-20 11:16:35 -07:00
parent f17b608157
commit fa822f3c51

View File

@ -36,6 +36,7 @@ import (
clientset "k8s.io/client-go/kubernetes"
"k8s.io/klog"
"k8s.io/kubernetes/pkg/api/legacyscheme"
podutil "k8s.io/kubernetes/pkg/api/v1/pod"
v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/util/mount"
@ -555,13 +556,7 @@ func GetPodVolumeNames(pod *v1.Pod) (mounts sets.String, devices sets.String) {
mounts = sets.NewString()
devices = sets.NewString()
addContainerVolumes(pod.Spec.Containers, mounts, devices)
addContainerVolumes(pod.Spec.InitContainers, mounts, devices)
return
}
func addContainerVolumes(containers []v1.Container, mounts, devices sets.String) {
for _, container := range containers {
podutil.VisitContainers(&pod.Spec, func(container *v1.Container) bool {
if container.VolumeMounts != nil {
for _, mount := range container.VolumeMounts {
mounts.Insert(mount.Name)
@ -574,5 +569,7 @@ func addContainerVolumes(containers []v1.Container, mounts, devices sets.String)
devices.Insert(device.Name)
}
}
}
return true
})
return
}