Skip to content

Commit 42ca30e

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

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

controllers/openstackcluster_controller.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525

2626
corev1 "k8s.io/api/core/v1"
2727
apierrors "k8s.io/apimachinery/pkg/api/errors"
28+
kerrors "k8s.io/apimachinery/pkg/util/errors"
2829
"k8s.io/client-go/tools/record"
2930
"k8s.io/utils/pointer"
3031
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
@@ -69,7 +70,7 @@ type OpenStackClusterReconciler struct {
6970
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=openstackclusters/status,verbs=get;update;patch
7071
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=clusters;clusters/status,verbs=get;list;watch
7172

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

7576
// Fetch the OpenStackCluster instance
@@ -108,9 +109,8 @@ func (r *OpenStackClusterReconciler) Reconcile(ctx context.Context, req ctrl.Req
108109
// Always patch the openStackCluster when exiting this function so we can persist any OpenStackCluster changes.
109110
defer func() {
110111
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-
}
112+
result = ctrl.Result{}
113+
reterr = kerrors.NewAggregate([]error{reterr, fmt.Errorf("error patching OpenStackCluster %s/%s: %w", openStackCluster.Namespace, openStackCluster.Name, err)})
114114
}
115115
}()
116116

controllers/openstackmachine_controller.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ const (
7676
// +kubebuilder:rbac:groups="",resources=secrets;,verbs=get;list;watch
7777
// +kubebuilder:rbac:groups="",resources=events,verbs=get;list;watch;create;update;patch
7878

79-
func (r *OpenStackMachineReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error) {
79+
func (r *OpenStackMachineReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, reterr error) {
8080
log := ctrl.LoggerFrom(ctx)
8181

8282
// Fetch the OpenStackMachine instance.
@@ -137,6 +137,7 @@ func (r *OpenStackMachineReconciler) Reconcile(ctx context.Context, req ctrl.Req
137137
// Always patch the openStackMachine when exiting this function so we can persist any OpenStackMachine changes.
138138
defer func() {
139139
if err := patchMachine(ctx, patchHelper, openStackMachine, machine); err != nil {
140+
result = ctrl.Result{}
140141
reterr = kerrors.NewAggregate([]error{reterr, err})
141142
}
142143
}()

0 commit comments

Comments
 (0)