mirror of
https://github.com/cloudnative-pg/plugin-barman-cloud.git
synced 2026-01-13 22:23: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 {
|
if len(config.certificates) > 0 {
|
||||||
sidecarTemplate.VolumeMounts = append(
|
sidecarTemplate.VolumeMounts = ensureVolumeMount(
|
||||||
sidecarTemplate.VolumeMounts,
|
sidecarTemplate.VolumeMounts,
|
||||||
corev1.VolumeMount{
|
corev1.VolumeMount{
|
||||||
Name: barmanCertificatesVolumeName,
|
Name: barmanCertificatesVolumeName,
|
||||||
@ -417,7 +417,7 @@ func InjectPluginVolumePodSpec(spec *corev1.PodSpec, mainContainerName string) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
spec.Volumes = append(spec.Volumes, corev1.Volume{
|
spec.Volumes = ensureVolume(spec.Volumes, corev1.Volume{
|
||||||
Name: pluginVolumeName,
|
Name: pluginVolumeName,
|
||||||
VolumeSource: corev1.VolumeSource{
|
VolumeSource: corev1.VolumeSource{
|
||||||
EmptyDir: &corev1.EmptyDirVolumeSource{},
|
EmptyDir: &corev1.EmptyDirVolumeSource{},
|
||||||
@ -426,7 +426,7 @@ func InjectPluginVolumePodSpec(spec *corev1.PodSpec, mainContainerName string) {
|
|||||||
|
|
||||||
for i := range spec.Containers {
|
for i := range spec.Containers {
|
||||||
if spec.Containers[i].Name == mainContainerName {
|
if spec.Containers[i].Name == mainContainerName {
|
||||||
spec.Containers[i].VolumeMounts = append(
|
spec.Containers[i].VolumeMounts = ensureVolumeMount(
|
||||||
spec.Containers[i].VolumeMounts,
|
spec.Containers[i].VolumeMounts,
|
||||||
corev1.VolumeMount{
|
corev1.VolumeMount{
|
||||||
Name: pluginVolumeName,
|
Name: pluginVolumeName,
|
||||||
@ -450,7 +450,7 @@ func injectPluginSidecarPodSpec(
|
|||||||
mainContainerFound := false
|
mainContainerFound := false
|
||||||
for i := range spec.Containers {
|
for i := range spec.Containers {
|
||||||
if spec.Containers[i].Name == mainContainerName {
|
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
|
mainContainerFound = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -491,6 +491,27 @@ func ensureVolume(volumes []corev1.Volume, volume corev1.Volume) []corev1.Volume
|
|||||||
return volumes
|
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.
|
// removeVolume removes a volume with a known name from a list of volumes.
|
||||||
func removeVolume(volumes []corev1.Volume, name string) []corev1.Volume {
|
func removeVolume(volumes []corev1.Volume, name string) []corev1.Volume {
|
||||||
var filteredVolumes []corev1.Volume
|
var filteredVolumes []corev1.Volume
|
||||||
|
|||||||
@ -279,3 +279,56 @@ var _ = Describe("removeVolumeMount", func() {
|
|||||||
Expect(result).To(BeEmpty())
|
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