Skip to content

Commit 79953b0

Browse files
improve error handling
1 parent 5888a81 commit 79953b0

1 file changed

Lines changed: 15 additions & 9 deletions

File tree

internal/controller/flp/flp_informer_reconciler.go

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package flp
22

33
import (
44
"context"
5+
"fmt"
56

67
appsv1 "k8s.io/api/apps/v1"
78
corev1 "k8s.io/api/core/v1"
@@ -53,7 +54,7 @@ func (r *informerReconciler) reconcile(ctx context.Context, desired *flowslatest
5354
// Retrieve current owned objects
5455
err := r.Managed.FetchAll(ctx)
5556
if err != nil {
56-
return err
57+
return fmt.Errorf("failed to fetch all managed resources: %w", err)
5758
}
5859

5960
if desired.Spec.OnHold() {
@@ -66,33 +67,35 @@ func (r *informerReconciler) reconcile(ctx context.Context, desired *flowslatest
6667

6768
// Reconcile ServiceAccount
6869
if err := r.reconcileServiceAccount(ctx, &builder); err != nil {
69-
return err
70+
return fmt.Errorf("failed to reconcile service account: %w", err)
7071
}
7172

7273
// Reconcile RBAC
7374
if err := r.reconcilePermissions(ctx); err != nil {
74-
return err
75+
return fmt.Errorf("failed to reconcile permissions: %w", err)
7576
}
7677

7778
// Reconcile Deployment
7879
if err := r.reconcileDeployment(ctx, &builder); err != nil {
79-
return err
80+
return fmt.Errorf("failed to reconcile deployment: %w", err)
8081
}
8182

8283
return nil
8384
}
8485

8586
func (r *informerReconciler) reconcileServiceAccount(ctx context.Context, builder *informerBuilder) error {
8687
if !r.Managed.Exists(r.serviceAccount) {
87-
return r.CreateOwned(ctx, builder.serviceAccount())
88+
if err := r.CreateOwned(ctx, builder.serviceAccount()); err != nil {
89+
return fmt.Errorf("failed to create service account: %w", err)
90+
}
8891
} // We only configure name, update is not needed for now
8992
return nil
9093
}
9194

9295
func (r *informerReconciler) reconcilePermissions(ctx context.Context) error {
9396
r.rbInformer = resources.GetClusterRoleBinding(r.Namespace, informerShortName, informerName, informerName, constants.FLPInformersRole)
9497
if err := r.ReconcileClusterRoleBinding(ctx, r.rbInformer); err != nil {
95-
return err
98+
return fmt.Errorf("failed to reconcile cluster role binding: %w", err)
9699
}
97100
return nil
98101
}
@@ -103,16 +106,19 @@ func (r *informerReconciler) reconcileDeployment(ctx context.Context, builder *i
103106

104107
desiredDep, err := builder.deployment()
105108
if err != nil {
106-
return err
109+
return fmt.Errorf("failed to build deployment: %w", err)
107110
}
108111

109-
return reconcilers.ReconcileDeployment(
112+
if err := reconcilers.ReconcileDeployment(
110113
ctx,
111114
r.Instance,
112115
r.deployment,
113116
desiredDep,
114117
informerName,
115118
false,
116119
&report,
117-
)
120+
); err != nil {
121+
return fmt.Errorf("failed to reconcile deployment: %w", err)
122+
}
123+
return nil
118124
}

0 commit comments

Comments
 (0)