Skip to content

Commit ca2ea3f

Browse files
committed
Fix returning non-empty reconcile result and error
1 parent 5d62dd5 commit ca2ea3f

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

controllers/openstackcluster_controller.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ type OpenStackClusterReconciler struct {
6969
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=openstackclusters/status,verbs=get;update;patch
7070
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=clusters;clusters/status,verbs=get;list;watch
7171

72-
func (r *OpenStackClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error) {
72+
func (r *OpenStackClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, reterr error) {
7373
log := ctrl.LoggerFrom(ctx)
7474

7575
// Fetch the OpenStackCluster instance
@@ -108,9 +108,8 @@ func (r *OpenStackClusterReconciler) Reconcile(ctx context.Context, req ctrl.Req
108108
// Always patch the openStackCluster when exiting this function so we can persist any OpenStackCluster changes.
109109
defer func() {
110110
if err := patchHelper.Patch(ctx, openStackCluster); err != nil {
111-
if reterr == nil {
112-
reterr = fmt.Errorf("error patching OpenStackCluster %s/%s: %w", openStackCluster.Namespace, openStackCluster.Name, err)
113-
}
111+
result = ctrl.Result{}
112+
reterr = errors.Join(reterr, fmt.Errorf("error patching OpenStackCluster %s/%s: %w", openStackCluster.Namespace, openStackCluster.Name, err))
114113
}
115114
}()
116115

controllers/openstackmachine_controller.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,11 @@ func (r *OpenStackMachineReconciler) Reconcile(ctx context.Context, req ctrl.Req
158158
}
159159

160160
// Handle non-deleted clusters
161-
return r.reconcileNormal(ctx, scope, cluster, infraCluster, machine, openStackMachine)
161+
result, err := r.reconcileNormal(ctx, scope, cluster, infraCluster, machine, openStackMachine)
162+
if err != nil {
163+
return reconcile.Result{}, err
164+
}
165+
return result, nil
162166
}
163167

164168
func patchMachine(ctx context.Context, patchHelper *patch.Helper, openStackMachine *infrav1.OpenStackMachine, machine *clusterv1.Machine, options ...patch.Option) error {

0 commit comments

Comments
 (0)