@@ -149,44 +149,12 @@ func (r *OpenStackDataPlaneDeploymentReconciler) Reconcile(ctx context.Context,
149149 }()
150150
151151 // Ensure NodeSets
152- nodeSets := dataplanev1.OpenStackDataPlaneNodeSetList {}
153- for _ , nodeSet := range instance .Spec .NodeSets {
154-
155- // Fetch the OpenStackDataPlaneNodeSet instance
156- nodeSetInstance := & dataplanev1.OpenStackDataPlaneNodeSet {}
157- err := r .Client .Get (
158- ctx ,
159- types.NamespacedName {
160- Namespace : instance .GetNamespace (),
161- Name : nodeSet ,
162- },
163- nodeSetInstance )
164- if err != nil {
165- // NodeSet not found, force a requeue
166- if k8s_errors .IsNotFound (err ) {
167- Log .Info ("NodeSet not found" , "NodeSet" , nodeSet )
168- return ctrl.Result {RequeueAfter : time .Second * time .Duration (instance .Spec .DeploymentRequeueTime )}, nil
169- }
170- instance .Status .Conditions .MarkFalse (
171- dataplanev1 .SetupReadyCondition ,
172- condition .ErrorReason ,
173- condition .SeverityError ,
174- dataplanev1 .DataPlaneNodeSetErrorMessage ,
175- err .Error ())
176- // Error reading the object - requeue the request.
177- return ctrl.Result {}, err
178- }
179- if err = nodeSetInstance .Spec .ValidateTLS (instance .GetNamespace (), r .Client , ctx ); err != nil {
180- Log .Info ("error while comparing TLS settings of nodeset %s with control plane: %w" , nodeSet , err )
181- instance .Status .Conditions .MarkFalse (
182- dataplanev1 .SetupReadyCondition ,
183- condition .ErrorReason ,
184- condition .SeverityError ,
185- dataplanev1 .DataPlaneNodeSetErrorMessage ,
186- err .Error ())
187- return ctrl.Result {}, err
152+ nodeSets , err := r .listNodeSets (ctx , & Log , instance )
153+ if err != nil {
154+ if k8s_errors .IsNotFound (err ) {
155+ return ctrl.Result {RequeueAfter : time .Second * time .Duration (instance .Spec .DeploymentRequeueTime )}, nil
188156 }
189- nodeSets . Items = append ( nodeSets . Items , * nodeSetInstance )
157+ return ctrl. Result {}, err
190158 }
191159
192160 globalInventorySecrets := map [string ]string {}
@@ -385,7 +353,7 @@ func (r *OpenStackDataPlaneDeploymentReconciler) Reconcile(ctx context.Context,
385353 if version != nil {
386354 instance .Status .DeployedVersion = version .Spec .TargetVersion
387355 }
388- err = r .setHashes (ctx , helper , instance , nodeSets )
356+ err = r .setHashes (ctx , helper , instance , * nodeSets )
389357 if err != nil {
390358 Log .Error (err , "Error setting service hashes" )
391359 }
@@ -493,3 +461,38 @@ func (r *OpenStackDataPlaneDeploymentReconciler) SetupWithManager(mgr ctrl.Manag
493461 handler .EnqueueRequestsFromMapFunc (certFn )).
494462 Complete (r )
495463}
464+
465+ func (r * OpenStackDataPlaneDeploymentReconciler ) listNodeSets (ctx context.Context , Log * logr.Logger , instance * dataplanev1.OpenStackDataPlaneDeployment ) (* dataplanev1.OpenStackDataPlaneNodeSetList , error ) {
466+
467+ var nodeSets = dataplanev1.OpenStackDataPlaneNodeSetList {}
468+ var err error
469+
470+ for _ , nodeSet := range instance .Spec .NodeSets {
471+
472+ // Fetch the OpenStackDataPlaneNodeSet instance
473+ nodeSetInstance := & dataplanev1.OpenStackDataPlaneNodeSet {}
474+ err := r .Client .Get (
475+ ctx ,
476+ types.NamespacedName {
477+ Namespace : instance .GetNamespace (),
478+ Name : nodeSet ,
479+ },
480+ nodeSetInstance )
481+ if err != nil {
482+ Log .Info ("NodeSet not found" , "NodeSet" , nodeSet )
483+ return & nodeSets , err
484+ }
485+ if err = nodeSetInstance .Spec .ValidateTLS (instance .GetNamespace (), r .Client , ctx ); err != nil {
486+ Log .Info ("error while comparing TLS settings of nodeset %s with control plane: %w" , nodeSet , err )
487+ instance .Status .Conditions .MarkFalse (
488+ dataplanev1 .SetupReadyCondition ,
489+ condition .ErrorReason ,
490+ condition .SeverityError ,
491+ dataplanev1 .DataPlaneNodeSetErrorMessage ,
492+ err .Error ())
493+ return & nodeSets , err
494+ }
495+ nodeSets .Items = append (nodeSets .Items , * nodeSetInstance )
496+ }
497+ return & nodeSets , err
498+ }
0 commit comments