feature: Do not append var-run volume if it was supplied in spec

This commit is contained in:
Illia Pshonkin 2024-05-31 13:04:00 +02:00
parent 9afd93065f
commit 0a132ca2b7
1 changed files with 26 additions and 11 deletions

View File

@ -1084,17 +1084,19 @@ func newRunnerPodWithContainerMode(containerMode string, template corev1.Pod, ru
) )
} }
pod.Spec.Volumes = append(pod.Spec.Volumes, if ok, _ := varRunVolumePresent(pod.Spec.Volumes); !ok {
corev1.Volume{ pod.Spec.Volumes = append(pod.Spec.Volumes,
Name: varRunVolumeName, corev1.Volume{
VolumeSource: corev1.VolumeSource{ Name: varRunVolumeName,
EmptyDir: &corev1.EmptyDirVolumeSource{ VolumeSource: corev1.VolumeSource{
Medium: corev1.StorageMediumMemory, EmptyDir: &corev1.EmptyDirVolumeSource{
SizeLimit: runnerSpec.DockerVarRunVolumeSizeLimit, Medium: corev1.StorageMediumMemory,
SizeLimit: runnerSpec.DockerVarRunVolumeSizeLimit,
},
}, },
}, },
}, )
) }
if ok, _ := workVolumeMountPresent(runnerContainer.VolumeMounts); !ok { if ok, _ := workVolumeMountPresent(runnerContainer.VolumeMounts); !ok {
runnerContainer.VolumeMounts = append(runnerContainer.VolumeMounts, runnerContainer.VolumeMounts = append(runnerContainer.VolumeMounts,
@ -1105,7 +1107,7 @@ func newRunnerPodWithContainerMode(containerMode string, template corev1.Pod, ru
) )
} }
if ok, _ := volumeMountPresent(varRunVolumeName, runnerContainer.VolumeMounts); !ok { if ok, _ := varRunVolumeMountPresent(runnerContainer.VolumeMounts); !ok {
runnerContainer.VolumeMounts = append(runnerContainer.VolumeMounts, runnerContainer.VolumeMounts = append(runnerContainer.VolumeMounts,
corev1.VolumeMount{ corev1.VolumeMount{
Name: varRunVolumeName, Name: varRunVolumeName,
@ -1123,7 +1125,7 @@ func newRunnerPodWithContainerMode(containerMode string, template corev1.Pod, ru
}, },
} }
if p, _ := volumeMountPresent(varRunVolumeName, dockerdContainer.VolumeMounts); !p { if p, _ := varRunVolumeMountPresent(dockerdContainer.VolumeMounts); !p {
dockerVolumeMounts = append(dockerVolumeMounts, corev1.VolumeMount{ dockerVolumeMounts = append(dockerVolumeMounts, corev1.VolumeMount{
Name: varRunVolumeName, Name: varRunVolumeName,
MountPath: varRunVolumeMountPath, MountPath: varRunVolumeMountPath,
@ -1349,6 +1351,19 @@ func workVolumeMountPresent(items []corev1.VolumeMount) (bool, int) {
return volumeMountPresent("work", items) return volumeMountPresent("work", items)
} }
func varRunVolumePresent(items []corev1.Volume) (bool, int) {
for index, item := range items {
if item.Name == "var-run" {
return true, index
}
}
return false, 0
}
func varRunVolumeMountPresent(items []corev1.VolumeMount) (bool, int) {
return volumeMountPresent("var-run", items)
}
func volumeMountPresent(name string, items []corev1.VolumeMount) (bool, int) { func volumeMountPresent(name string, items []corev1.VolumeMount) (bool, int) {
for index, item := range items { for index, item := range items {
if item.Name == name { if item.Name == name {