@@ -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 // Check that all NodeSets are ready and get TLS certs
@@ -386,7 +354,7 @@ func (r *OpenStackDataPlaneDeploymentReconciler) Reconcile(ctx context.Context,
386354 if version != nil {
387355 instance .Status .DeployedVersion = version .Spec .TargetVersion
388356 }
389- err = r .setHashes (ctx , helper , instance , nodeSets )
357+ err = r .setHashes (ctx , helper , instance , * nodeSets )
390358 if err != nil {
391359 Log .Error (err , "Error setting service hashes" )
392360 }
@@ -494,3 +462,38 @@ func (r *OpenStackDataPlaneDeploymentReconciler) SetupWithManager(mgr ctrl.Manag
494462 handler .EnqueueRequestsFromMapFunc (certFn )).
495463 Complete (r )
496464}
465+
466+ func (r * OpenStackDataPlaneDeploymentReconciler ) listNodeSets (ctx context.Context , Log * logr.Logger , instance * dataplanev1.OpenStackDataPlaneDeployment ) (* dataplanev1.OpenStackDataPlaneNodeSetList , error ) {
467+
468+ var nodeSets = dataplanev1.OpenStackDataPlaneNodeSetList {}
469+ var err error
470+
471+ for _ , nodeSet := range instance .Spec .NodeSets {
472+
473+ // Fetch the OpenStackDataPlaneNodeSet instance
474+ nodeSetInstance := & dataplanev1.OpenStackDataPlaneNodeSet {}
475+ err := r .Client .Get (
476+ ctx ,
477+ types.NamespacedName {
478+ Namespace : instance .GetNamespace (),
479+ Name : nodeSet ,
480+ },
481+ nodeSetInstance )
482+ if err != nil {
483+ Log .Info ("NodeSet not found" , "NodeSet" , nodeSet )
484+ return & nodeSets , err
485+ }
486+ if err = nodeSetInstance .Spec .ValidateTLS (instance .GetNamespace (), r .Client , ctx ); err != nil {
487+ Log .Info ("error while comparing TLS settings of nodeset %s with control plane: %w" , nodeSet , err )
488+ instance .Status .Conditions .MarkFalse (
489+ dataplanev1 .SetupReadyCondition ,
490+ condition .ErrorReason ,
491+ condition .SeverityError ,
492+ dataplanev1 .DataPlaneNodeSetErrorMessage ,
493+ err .Error ())
494+ return & nodeSets , err
495+ }
496+ nodeSets .Items = append (nodeSets .Items , * nodeSetInstance )
497+ }
498+ return & nodeSets , err
499+ }
0 commit comments