mirror of
https://github.com/cloudnative-pg/plugin-barman-cloud.git
synced 2026-01-12 13:43:10 +01:00
chore: review
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
This commit is contained in:
parent
0f05e0cc7d
commit
a504ce06d0
@ -377,7 +377,7 @@ func reconcilePodSpec(
|
|||||||
MountPath: metadata.BarmanCertificatesPath,
|
MountPath: metadata.BarmanCertificatesPath,
|
||||||
})
|
})
|
||||||
|
|
||||||
spec.Volumes = volumeListEnsureVolume(spec.Volumes, corev1.Volume{
|
spec.Volumes = ensureVolume(spec.Volumes, corev1.Volume{
|
||||||
Name: barmanCertificatesVolumeName,
|
Name: barmanCertificatesVolumeName,
|
||||||
VolumeSource: corev1.VolumeSource{
|
VolumeSource: corev1.VolumeSource{
|
||||||
Projected: &corev1.ProjectedVolumeSource{
|
Projected: &corev1.ProjectedVolumeSource{
|
||||||
@ -386,7 +386,8 @@ func reconcilePodSpec(
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
spec.Volumes = volumeListRemoveVolume(spec.Volumes, barmanCertificatesVolumeName)
|
sidecarTemplate.VolumeMounts = removeVolumeMount(sidecarTemplate.VolumeMounts, barmanCertificatesVolumeName)
|
||||||
|
spec.Volumes = removeVolume(spec.Volumes, barmanCertificatesVolumeName)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := injectPluginSidecarPodSpec(spec, &sidecarTemplate, mainContainerName); err != nil {
|
if err := injectPluginSidecarPodSpec(spec, &sidecarTemplate, mainContainerName); err != nil {
|
||||||
@ -472,9 +473,9 @@ func injectPluginSidecarPodSpec(
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// volumeListEnsureVolume makes sure the passed volume is present in the list of volumes.
|
// ensureVolume makes sure the passed volume is present in the list of volumes.
|
||||||
// If the volume is already present, it is updated.
|
// If the volume is already present, it is updated.
|
||||||
func volumeListEnsureVolume(volumes []corev1.Volume, volume corev1.Volume) []corev1.Volume {
|
func ensureVolume(volumes []corev1.Volume, volume corev1.Volume) []corev1.Volume {
|
||||||
volumeFound := false
|
volumeFound := false
|
||||||
for i := range volumes {
|
for i := range volumes {
|
||||||
if volumes[i].Name == volume.Name {
|
if volumes[i].Name == volume.Name {
|
||||||
@ -490,16 +491,25 @@ func volumeListEnsureVolume(volumes []corev1.Volume, volume corev1.Volume) []cor
|
|||||||
return volumes
|
return volumes
|
||||||
}
|
}
|
||||||
|
|
||||||
// volumeListRemoveVolume 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 volumeListRemoveVolume(volumes []corev1.Volume, name string) []corev1.Volume {
|
func removeVolume(volumes []corev1.Volume, name string) []corev1.Volume {
|
||||||
j := 0
|
var filteredVolumes []corev1.Volume
|
||||||
for _, volume := range volumes {
|
for _, volume := range volumes {
|
||||||
if volume.Name != name {
|
if volume.Name != name {
|
||||||
volumes[j] = volume
|
filteredVolumes = append(filteredVolumes, volume)
|
||||||
j++
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return volumes[:j]
|
return filteredVolumes
|
||||||
|
}
|
||||||
|
|
||||||
|
func removeVolumeMount(mounts []corev1.VolumeMount, name string) []corev1.VolumeMount {
|
||||||
|
var filteredMounts []corev1.VolumeMount
|
||||||
|
for _, mount := range mounts {
|
||||||
|
if mount.Name != name {
|
||||||
|
filteredMounts = append(filteredMounts, mount)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return filteredMounts
|
||||||
}
|
}
|
||||||
|
|
||||||
// getCNPGJobRole gets the role associated to a CNPG job
|
// getCNPGJobRole gets the role associated to a CNPG job
|
||||||
|
|||||||
@ -211,11 +211,11 @@ var _ = Describe("LifecycleImplementation", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
var _ = Describe("Volume utilities", func() {
|
var _ = Describe("Volume utilities", func() {
|
||||||
Describe("volumeListEnsureVolume", func() {
|
Describe("ensureVolume", func() {
|
||||||
It("adds a new volume if not present", func() {
|
It("adds a new volume if not present", func() {
|
||||||
volumes := []corev1.Volume{{Name: "vol1"}}
|
volumes := []corev1.Volume{{Name: "vol1"}}
|
||||||
newVol := corev1.Volume{Name: "vol2"}
|
newVol := corev1.Volume{Name: "vol2"}
|
||||||
result := volumeListEnsureVolume(volumes, newVol)
|
result := ensureVolume(volumes, newVol)
|
||||||
Expect(result).To(HaveLen(2))
|
Expect(result).To(HaveLen(2))
|
||||||
Expect(result[1]).To(Equal(newVol))
|
Expect(result[1]).To(Equal(newVol))
|
||||||
})
|
})
|
||||||
@ -223,20 +223,20 @@ var _ = Describe("Volume utilities", func() {
|
|||||||
It("updates an existing volume", func() {
|
It("updates an existing volume", func() {
|
||||||
volumes := []corev1.Volume{{Name: "vol1"}}
|
volumes := []corev1.Volume{{Name: "vol1"}}
|
||||||
updatedVol := corev1.Volume{Name: "vol1", VolumeSource: corev1.VolumeSource{EmptyDir: &corev1.EmptyDirVolumeSource{}}}
|
updatedVol := corev1.Volume{Name: "vol1", VolumeSource: corev1.VolumeSource{EmptyDir: &corev1.EmptyDirVolumeSource{}}}
|
||||||
result := volumeListEnsureVolume(volumes, updatedVol)
|
result := ensureVolume(volumes, updatedVol)
|
||||||
Expect(result).To(HaveLen(1))
|
Expect(result).To(HaveLen(1))
|
||||||
Expect(result[0]).To(Equal(updatedVol))
|
Expect(result[0]).To(Equal(updatedVol))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
Describe("volumeListRemoveVolume", func() {
|
Describe("removeVolume", func() {
|
||||||
It("removes the specified volume", func() {
|
It("removes the specified volume", func() {
|
||||||
volumes := []corev1.Volume{
|
volumes := []corev1.Volume{
|
||||||
{Name: "vol1"},
|
{Name: "vol1"},
|
||||||
{Name: "vol2"},
|
{Name: "vol2"},
|
||||||
{Name: "vol3"},
|
{Name: "vol3"},
|
||||||
}
|
}
|
||||||
result := volumeListRemoveVolume(volumes, "vol2")
|
result := removeVolume(volumes, "vol2")
|
||||||
Expect(result).To(HaveLen(2))
|
Expect(result).To(HaveLen(2))
|
||||||
for _, v := range result {
|
for _, v := range result {
|
||||||
Expect(v.Name).NotTo(Equal("vol2"))
|
Expect(v.Name).NotTo(Equal("vol2"))
|
||||||
@ -245,8 +245,37 @@ var _ = Describe("Volume utilities", func() {
|
|||||||
|
|
||||||
It("returns the same list if the volume is not present", func() {
|
It("returns the same list if the volume is not present", func() {
|
||||||
volumes := []corev1.Volume{{Name: "vol1"}, {Name: "vol2"}}
|
volumes := []corev1.Volume{{Name: "vol1"}, {Name: "vol2"}}
|
||||||
result := volumeListRemoveVolume(volumes, "vol3")
|
result := removeVolume(volumes, "vol3")
|
||||||
Expect(result).To(Equal(volumes))
|
Expect(result).To(Equal(volumes))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
var _ = Describe("removeVolumeMount", func() {
|
||||||
|
It("removes the specified volume mount", func() {
|
||||||
|
mounts := []corev1.VolumeMount{
|
||||||
|
{Name: "mount1"},
|
||||||
|
{Name: "mount2"},
|
||||||
|
{Name: "mount3"},
|
||||||
|
}
|
||||||
|
result := removeVolumeMount(mounts, "mount2")
|
||||||
|
Expect(result).To(HaveLen(2))
|
||||||
|
for _, m := range result {
|
||||||
|
Expect(m.Name).NotTo(Equal("mount2"))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
It("returns the same list if the volume mount is not present", func() {
|
||||||
|
mounts := []corev1.VolumeMount{{Name: "mount1"}, {Name: "mount2"}}
|
||||||
|
result := removeVolumeMount(mounts, "mount3")
|
||||||
|
Expect(result).To(HaveLen(2))
|
||||||
|
Expect(result[0].Name).To(Equal("mount1"))
|
||||||
|
Expect(result[1].Name).To(Equal("mount2"))
|
||||||
|
})
|
||||||
|
|
||||||
|
It("handles empty input slice", func() {
|
||||||
|
var mounts []corev1.VolumeMount
|
||||||
|
result := removeVolumeMount(mounts, "mount1")
|
||||||
|
Expect(result).To(BeEmpty())
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user