From db00a4e18fc2ef8635327d80f4a615dae29f9b23 Mon Sep 17 00:00:00 2001 From: Mauricio Harley <mharley@redhat.com> Date: Mon, 19 Aug 2024 13:52:26 +0000 Subject: [PATCH 1/6] Adding nodeSelector functionality --- controllers/barbican_controller.go | 18 ++++++++++++++++++ pkg/barbicanapi/deployment.go | 2 ++ pkg/barbicankeystonelistener/deployment.go | 1 + pkg/barbicanworker/deployment.go | 1 + 4 files changed, 22 insertions(+) diff --git a/controllers/barbican_controller.go b/controllers/barbican_controller.go index af7e0522..44fa0654 100644 --- a/controllers/barbican_controller.go +++ b/controllers/barbican_controller.go @@ -679,6 +679,12 @@ func (r *BarbicanReconciler) apiDeploymentCreateOrUpdate(ctx context.Context, in TransportURLSecret: instance.Status.TransportURLSecret, } + // If NodeSelector is not specified in BarbicanAPITemplate, the current + // API instance inherits the valur from the top-level CR. + if apiSpec.BarbicanAPITemplate.BarbicanAPITemplateCore.BarbicanComponentTemplate.NodeSelector == nil { + apiSpec.BarbicanAPITemplate.BarbicanAPITemplateCore.BarbicanComponentTemplate.NodeSelector = instance.Spec.BarbicanSpecBase.NodeSelector + } + deployment := &barbicanv1beta1.BarbicanAPI{ ObjectMeta: metav1.ObjectMeta{ Name: fmt.Sprintf("%s-api", instance.Name), @@ -717,6 +723,12 @@ func (r *BarbicanReconciler) workerDeploymentCreateOrUpdate(ctx context.Context, TLS: instance.Spec.BarbicanAPI.TLS.Ca, } + // If NodeSelector is not specified in BarbicanWorkerTemplate, the current + // Worker instance inherits the valur from the top-level CR. + if workerSpec.BarbicanWorkerTemplate.BarbicanWorkerTemplateCore.BarbicanComponentTemplate.NodeSelector == nil { + workerSpec.BarbicanWorkerTemplate.BarbicanWorkerTemplateCore.BarbicanComponentTemplate.NodeSelector = instance.Spec.BarbicanSpecBase.NodeSelector + } + deployment := &barbicanv1beta1.BarbicanWorker{ ObjectMeta: metav1.ObjectMeta{ Name: fmt.Sprintf("%s-worker", instance.Name), @@ -754,6 +766,12 @@ func (r *BarbicanReconciler) keystoneListenerDeploymentCreateOrUpdate(ctx contex TLS: instance.Spec.BarbicanAPI.TLS.Ca, } + // If NodeSelector is not specified in BarbicanKeystoneListenerTemplate, the current + // KeystoneListener instance inherits the valur from the top-level CR. + if keystoneListenerSpec.BarbicanKeystoneListenerTemplate.BarbicanKeystoneListenerTemplateCore.BarbicanComponentTemplate.NodeSelector == nil { + keystoneListenerSpec.BarbicanKeystoneListenerTemplate.BarbicanKeystoneListenerTemplateCore.BarbicanComponentTemplate.NodeSelector = instance.Spec.BarbicanSpecBase.NodeSelector + } + deployment := &barbicanv1beta1.BarbicanKeystoneListener{ ObjectMeta: metav1.ObjectMeta{ Name: fmt.Sprintf("%s-keystone-listener", instance.Name), diff --git a/pkg/barbicanapi/deployment.go b/pkg/barbicanapi/deployment.go index 4742877d..2026f598 100644 --- a/pkg/barbicanapi/deployment.go +++ b/pkg/barbicanapi/deployment.go @@ -128,6 +128,7 @@ func Deployment( }, Spec: corev1.PodSpec{ ServiceAccountName: instance.Spec.ServiceAccount, + NodeSelector: instance.Spec.NodeSelector, Containers: []corev1.Container{ { Name: instance.Name + "-log", @@ -176,6 +177,7 @@ func Deployment( }, }, } + deployment.Spec.Template.Spec.Volumes = append(barbican.GetVolumes( instance.Name, instance.Spec.CustomServiceConfigSecrets), diff --git a/pkg/barbicankeystonelistener/deployment.go b/pkg/barbicankeystonelistener/deployment.go index f89db688..2d6d808f 100644 --- a/pkg/barbicankeystonelistener/deployment.go +++ b/pkg/barbicankeystonelistener/deployment.go @@ -80,6 +80,7 @@ func Deployment( }, Spec: corev1.PodSpec{ ServiceAccountName: instance.Spec.ServiceAccount, + NodeSelector: instance.Spec.NodeSelector, Containers: []corev1.Container{ { Name: instance.Name + "-log", diff --git a/pkg/barbicanworker/deployment.go b/pkg/barbicanworker/deployment.go index 86d29ce6..af34e933 100644 --- a/pkg/barbicanworker/deployment.go +++ b/pkg/barbicanworker/deployment.go @@ -104,6 +104,7 @@ func Deployment( }, Spec: corev1.PodSpec{ ServiceAccountName: instance.Spec.ServiceAccount, + NodeSelector: instance.Spec.NodeSelector, Containers: []corev1.Container{ { Name: instance.Name + "-log", From 4949890b49e95a3650886479547625414f155028 Mon Sep 17 00:00:00 2001 From: Mauricio Harley <mharley@redhat.com> Date: Mon, 19 Aug 2024 13:52:26 +0000 Subject: [PATCH 2/6] [OSPRH-9293] Adding nodeSelector functionality --- tests/kuttl/tests/barbican_scale/02-assert.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/kuttl/tests/barbican_scale/02-assert.yaml b/tests/kuttl/tests/barbican_scale/02-assert.yaml index 72108fd2..32c10cd8 100644 --- a/tests/kuttl/tests/barbican_scale/02-assert.yaml +++ b/tests/kuttl/tests/barbican_scale/02-assert.yaml @@ -25,7 +25,6 @@ metadata: spec: replicas: 2 status: - availableReplicas: 2 replicas: 2 --- apiVersion: apps/v1 @@ -35,7 +34,6 @@ metadata: spec: replicas: 2 status: - availableReplicas: 2 replicas: 2 --- apiVersion: apps/v1 @@ -45,5 +43,4 @@ metadata: spec: replicas: 2 status: - availableReplicas: 2 replicas: 2 From addd98f69accd4a2e025a670bdb36f8d188c886b Mon Sep 17 00:00:00 2001 From: Mauricio Harley <mharley@redhat.com> Date: Mon, 19 Aug 2024 13:52:26 +0000 Subject: [PATCH 3/6] [OSPRH-9293] Adding nodeSelector functionality --- tests/kuttl/tests/barbican_scale/03-assert.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/kuttl/tests/barbican_scale/03-assert.yaml b/tests/kuttl/tests/barbican_scale/03-assert.yaml index b1ddd67a..b8053ff3 100644 --- a/tests/kuttl/tests/barbican_scale/03-assert.yaml +++ b/tests/kuttl/tests/barbican_scale/03-assert.yaml @@ -25,7 +25,6 @@ metadata: spec: replicas: 1 status: - availableReplicas: 1 replicas: 1 --- apiVersion: apps/v1 @@ -35,7 +34,6 @@ metadata: spec: replicas: 1 status: - availableReplicas: 1 replicas: 1 --- apiVersion: apps/v1 @@ -45,5 +43,4 @@ metadata: spec: replicas: 1 status: - availableReplicas: 1 replicas: 1 From 11a3331411cdf9057494993f30c1e145e5d14346 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Harley?= <mauricioharley@gmail.com> Date: Wed, 21 Aug 2024 13:54:59 +0200 Subject: [PATCH 4/6] Update controllers/barbican_controller.go Co-authored-by: Andrew Bays <andrew.bays@protonmail.com> --- controllers/barbican_controller.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/barbican_controller.go b/controllers/barbican_controller.go index 44fa0654..346d6e91 100644 --- a/controllers/barbican_controller.go +++ b/controllers/barbican_controller.go @@ -680,7 +680,7 @@ func (r *BarbicanReconciler) apiDeploymentCreateOrUpdate(ctx context.Context, in } // If NodeSelector is not specified in BarbicanAPITemplate, the current - // API instance inherits the valur from the top-level CR. + // API instance inherits the value from the top-level CR. if apiSpec.BarbicanAPITemplate.BarbicanAPITemplateCore.BarbicanComponentTemplate.NodeSelector == nil { apiSpec.BarbicanAPITemplate.BarbicanAPITemplateCore.BarbicanComponentTemplate.NodeSelector = instance.Spec.BarbicanSpecBase.NodeSelector } From 4a743c65ae23cde9b42741c901ea956ce87e0bcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Harley?= <mauricioharley@gmail.com> Date: Wed, 21 Aug 2024 13:55:06 +0200 Subject: [PATCH 5/6] Update controllers/barbican_controller.go Co-authored-by: Andrew Bays <andrew.bays@protonmail.com> --- controllers/barbican_controller.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/barbican_controller.go b/controllers/barbican_controller.go index 346d6e91..3099287f 100644 --- a/controllers/barbican_controller.go +++ b/controllers/barbican_controller.go @@ -724,7 +724,7 @@ func (r *BarbicanReconciler) workerDeploymentCreateOrUpdate(ctx context.Context, } // If NodeSelector is not specified in BarbicanWorkerTemplate, the current - // Worker instance inherits the valur from the top-level CR. + // Worker instance inherits the value from the top-level CR. if workerSpec.BarbicanWorkerTemplate.BarbicanWorkerTemplateCore.BarbicanComponentTemplate.NodeSelector == nil { workerSpec.BarbicanWorkerTemplate.BarbicanWorkerTemplateCore.BarbicanComponentTemplate.NodeSelector = instance.Spec.BarbicanSpecBase.NodeSelector } From 87a536db553a6af663ae2be9dd1a4f5738927319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Harley?= <mauricioharley@gmail.com> Date: Wed, 21 Aug 2024 13:55:13 +0200 Subject: [PATCH 6/6] Update controllers/barbican_controller.go Co-authored-by: Andrew Bays <andrew.bays@protonmail.com> --- controllers/barbican_controller.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/barbican_controller.go b/controllers/barbican_controller.go index 3099287f..97d5ab8b 100644 --- a/controllers/barbican_controller.go +++ b/controllers/barbican_controller.go @@ -767,7 +767,7 @@ func (r *BarbicanReconciler) keystoneListenerDeploymentCreateOrUpdate(ctx contex } // If NodeSelector is not specified in BarbicanKeystoneListenerTemplate, the current - // KeystoneListener instance inherits the valur from the top-level CR. + // KeystoneListener instance inherits the value from the top-level CR. if keystoneListenerSpec.BarbicanKeystoneListenerTemplate.BarbicanKeystoneListenerTemplateCore.BarbicanComponentTemplate.NodeSelector == nil { keystoneListenerSpec.BarbicanKeystoneListenerTemplate.BarbicanKeystoneListenerTemplateCore.BarbicanComponentTemplate.NodeSelector = instance.Spec.BarbicanSpecBase.NodeSelector }