From 5b47ab465f1a7c5fe1baf78983f86167164f2f50 Mon Sep 17 00:00:00 2001 From: Francisco Barros <francisco.borges.aurindo.barros@cern.ch> Date: Wed, 6 Dec 2023 15:35:32 +0100 Subject: [PATCH] Fix bug on container removal --- controllers/reconciler_common.go | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/controllers/reconciler_common.go b/controllers/reconciler_common.go index 9ddd1b87..ab2a65e0 100644 --- a/controllers/reconciler_common.go +++ b/controllers/reconciler_common.go @@ -23,6 +23,7 @@ import ( "fmt" "io" "reflect" + "slices" "time" "github.com/asaskevich/govalidator" @@ -499,17 +500,10 @@ func containerExists(name string, currentobject *appsv1.Deployment) { // containerRemove checks if a container exists on the deployment // if it does exists, removes it -func containerRemove(name string, currentobject *appsv1.Deployment) { - for index, container := range currentobject.Spec.Template.Spec.Containers { - if container.Name == name { - if index == len(currentobject.Spec.Template.Spec.Containers)-1 { - currentobject.Spec.Template.Spec.Containers = currentobject.Spec.Template.Spec.Containers[:index] - } else { - currentobject.Spec.Template.Spec.Containers = append(currentobject.Spec.Template.Spec.Containers[:index], currentobject.Spec.Template.Spec.Containers[index+1]) - } - break - } - } +func containerRemove(name string, d *appsv1.Deployment) { + d.Spec.Template.Spec.Containers = slices.DeleteFunc(d.Spec.Template.Spec.Containers, func(container corev1.Container) bool { + return container.Name == name + }) } // getDeploymentConfiguration precalculates all the configuration that the server deployment needs, including: -- GitLab