mirror of
https://github.com/cloudnative-pg/plugin-barman-cloud.git
synced 2026-01-12 05:33:11 +01:00
chore: consistency
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
This commit is contained in:
parent
a504ce06d0
commit
24104db1a6
@ -370,7 +370,7 @@ func reconcilePodSpec(
|
||||
}
|
||||
|
||||
if len(config.certificates) > 0 {
|
||||
sidecarTemplate.VolumeMounts = append(
|
||||
sidecarTemplate.VolumeMounts = ensureVolumeMount(
|
||||
sidecarTemplate.VolumeMounts,
|
||||
corev1.VolumeMount{
|
||||
Name: barmanCertificatesVolumeName,
|
||||
@ -417,7 +417,7 @@ func InjectPluginVolumePodSpec(spec *corev1.PodSpec, mainContainerName string) {
|
||||
return
|
||||
}
|
||||
|
||||
spec.Volumes = append(spec.Volumes, corev1.Volume{
|
||||
spec.Volumes = ensureVolume(spec.Volumes, corev1.Volume{
|
||||
Name: pluginVolumeName,
|
||||
VolumeSource: corev1.VolumeSource{
|
||||
EmptyDir: &corev1.EmptyDirVolumeSource{},
|
||||
@ -426,7 +426,7 @@ func InjectPluginVolumePodSpec(spec *corev1.PodSpec, mainContainerName string) {
|
||||
|
||||
for i := range spec.Containers {
|
||||
if spec.Containers[i].Name == mainContainerName {
|
||||
spec.Containers[i].VolumeMounts = append(
|
||||
spec.Containers[i].VolumeMounts = ensureVolumeMount(
|
||||
spec.Containers[i].VolumeMounts,
|
||||
corev1.VolumeMount{
|
||||
Name: pluginVolumeName,
|
||||
@ -450,7 +450,7 @@ func injectPluginSidecarPodSpec(
|
||||
mainContainerFound := false
|
||||
for i := range spec.Containers {
|
||||
if spec.Containers[i].Name == mainContainerName {
|
||||
sidecar.VolumeMounts = append(sidecar.VolumeMounts, spec.Containers[i].VolumeMounts...)
|
||||
sidecar.VolumeMounts = ensureVolumeMount(sidecar.VolumeMounts, spec.Containers[i].VolumeMounts...)
|
||||
mainContainerFound = true
|
||||
}
|
||||
}
|
||||
@ -491,6 +491,27 @@ func ensureVolume(volumes []corev1.Volume, volume corev1.Volume) []corev1.Volume
|
||||
return volumes
|
||||
}
|
||||
|
||||
// ensureVolumeMount makes sure the passed volume mounts are present in the list of volume mounts.
|
||||
// If a volume mount is already present, it is updated.
|
||||
func ensureVolumeMount(mounts []corev1.VolumeMount, volumeMounts ...corev1.VolumeMount) []corev1.VolumeMount {
|
||||
for _, mount := range volumeMounts {
|
||||
mountFound := false
|
||||
for i := range mounts {
|
||||
if mounts[i].Name == mount.Name {
|
||||
mountFound = true
|
||||
mounts[i] = mount
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if !mountFound {
|
||||
mounts = append(mounts, mount)
|
||||
}
|
||||
}
|
||||
|
||||
return mounts
|
||||
}
|
||||
|
||||
// removeVolume removes a volume with a known name from a list of volumes.
|
||||
func removeVolume(volumes []corev1.Volume, name string) []corev1.Volume {
|
||||
var filteredVolumes []corev1.Volume
|
||||
|
||||
@ -279,3 +279,56 @@ var _ = Describe("removeVolumeMount", func() {
|
||||
Expect(result).To(BeEmpty())
|
||||
})
|
||||
})
|
||||
|
||||
var _ = Describe("ensureVolumeMount", func() {
|
||||
It("adds a new volume mount to an empty list", func() {
|
||||
var mounts []corev1.VolumeMount
|
||||
newMount := corev1.VolumeMount{Name: "mount1", MountPath: "/path1"}
|
||||
result := ensureVolumeMount(mounts, newMount)
|
||||
Expect(result).To(HaveLen(1))
|
||||
Expect(result[0]).To(Equal(newMount))
|
||||
})
|
||||
|
||||
It("adds a new volume mount to a non-empty list", func() {
|
||||
mounts := []corev1.VolumeMount{{Name: "mount1", MountPath: "/path1"}}
|
||||
newMount := corev1.VolumeMount{Name: "mount2", MountPath: "/path2"}
|
||||
result := ensureVolumeMount(mounts, newMount)
|
||||
Expect(result).To(HaveLen(2))
|
||||
Expect(result[0].Name).To(Equal("mount1"))
|
||||
Expect(result[1].Name).To(Equal("mount2"))
|
||||
})
|
||||
|
||||
It("updates an existing volume mount", func() {
|
||||
mounts := []corev1.VolumeMount{{Name: "mount1", MountPath: "/path1"}}
|
||||
updatedMount := corev1.VolumeMount{Name: "mount1", MountPath: "/new-path"}
|
||||
result := ensureVolumeMount(mounts, updatedMount)
|
||||
Expect(result).To(HaveLen(1))
|
||||
Expect(result[0].MountPath).To(Equal("/new-path"))
|
||||
})
|
||||
|
||||
It("adds multiple new volume mounts", func() {
|
||||
mounts := []corev1.VolumeMount{{Name: "mount1", MountPath: "/path1"}}
|
||||
newMount1 := corev1.VolumeMount{Name: "mount2", MountPath: "/path2"}
|
||||
newMount2 := corev1.VolumeMount{Name: "mount3", MountPath: "/path3"}
|
||||
result := ensureVolumeMount(mounts, newMount1, newMount2)
|
||||
Expect(result).To(HaveLen(3))
|
||||
Expect(result[0].Name).To(Equal("mount1"))
|
||||
Expect(result[1].Name).To(Equal("mount2"))
|
||||
Expect(result[2].Name).To(Equal("mount3"))
|
||||
})
|
||||
|
||||
It("handles a mix of new and existing volume mounts", func() {
|
||||
mounts := []corev1.VolumeMount{
|
||||
{Name: "mount1", MountPath: "/path1"},
|
||||
{Name: "mount2", MountPath: "/path2"},
|
||||
}
|
||||
updatedMount := corev1.VolumeMount{Name: "mount1", MountPath: "/new-path"}
|
||||
newMount := corev1.VolumeMount{Name: "mount3", MountPath: "/path3"}
|
||||
result := ensureVolumeMount(mounts, updatedMount, newMount)
|
||||
Expect(result).To(HaveLen(3))
|
||||
Expect(result[0].Name).To(Equal("mount1"))
|
||||
Expect(result[0].MountPath).To(Equal("/new-path"))
|
||||
Expect(result[1].Name).To(Equal("mount2"))
|
||||
Expect(result[2].Name).To(Equal("mount3"))
|
||||
})
|
||||
})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user