Skip to content

Commit 89c0391

Browse files
committed
Dedicated listNodeSets logic in Deployment controller
Signed-off-by: Brendan Shephard <bshephar@redhat.com>
1 parent a42115a commit 89c0391

File tree

1 file changed

+41
-38
lines changed

1 file changed

+41
-38
lines changed

controllers/dataplane/openstackdataplanedeployment_controller.go

Lines changed: 41 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)