Skip to content

Commit 2cc5b10

Browse files
Various Go style improvements
1 parent 5b5c7b2 commit 2cc5b10

File tree

5 files changed

+166
-160
lines changed

5 files changed

+166
-160
lines changed

pkg/cluster-handler/controller/multigrescluster/multigrescluster_controller.go

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func (r *MultigresClusterReconciler) Reconcile(ctx context.Context, req ctrl.Req
4848
if errors.IsNotFound(err) {
4949
return ctrl.Result{}, nil
5050
}
51-
return ctrl.Result{}, err
51+
return ctrl.Result{}, fmt.Errorf("failed to get MultigresCluster: %w", err)
5252
}
5353

5454
if !cluster.ObjectMeta.DeletionTimestamp.IsZero() {
@@ -58,7 +58,7 @@ func (r *MultigresClusterReconciler) Reconcile(ctx context.Context, req ctrl.Req
5858
}
5959
controllerutil.RemoveFinalizer(cluster, finalizerName)
6060
if err := r.Update(ctx, cluster); err != nil {
61-
return ctrl.Result{}, err
61+
return ctrl.Result{}, fmt.Errorf("failed to remove finalizer: %w", err)
6262
}
6363
}
6464
return ctrl.Result{}, nil
@@ -67,7 +67,7 @@ func (r *MultigresClusterReconciler) Reconcile(ctx context.Context, req ctrl.Req
6767
if !controllerutil.ContainsFinalizer(cluster, finalizerName) {
6868
controllerutil.AddFinalizer(cluster, finalizerName)
6969
if err := r.Update(ctx, cluster); err != nil {
70-
return ctrl.Result{}, err
70+
return ctrl.Result{}, fmt.Errorf("failed to add finalizer: %w", err)
7171
}
7272
return ctrl.Result{}, nil
7373
}
@@ -105,23 +105,23 @@ func (r *MultigresClusterReconciler) checkChildrenDeleted(ctx context.Context, c
105105

106106
cells := &multigresv1alpha1.CellList{}
107107
if err := r.List(ctx, cells, client.InNamespace(cluster.Namespace), client.MatchingLabels{"multigres.com/cluster": cluster.Name}); err != nil {
108-
return err
108+
return fmt.Errorf("failed to list cells: %w", err)
109109
}
110110
if len(cells.Items) > 0 {
111111
return fmt.Errorf("cells still exist")
112112
}
113113

114114
tgs := &multigresv1alpha1.TableGroupList{}
115115
if err := r.List(ctx, tgs, client.InNamespace(cluster.Namespace), client.MatchingLabels{"multigres.com/cluster": cluster.Name}); err != nil {
116-
return err
116+
return fmt.Errorf("failed to list tablegroups: %w", err)
117117
}
118118
if len(tgs.Items) > 0 {
119119
return fmt.Errorf("tablegroups still exist")
120120
}
121121

122122
ts := &multigresv1alpha1.TopoServerList{}
123123
if err := r.List(ctx, ts, client.InNamespace(cluster.Namespace), client.MatchingLabels{"multigres.com/cluster": cluster.Name}); err != nil {
124-
return err
124+
return fmt.Errorf("failed to list toposervers: %w", err)
125125
}
126126
if len(ts.Items) > 0 {
127127
return fmt.Errorf("toposervers still exist")
@@ -140,7 +140,7 @@ func (r *MultigresClusterReconciler) reconcileGlobalComponents(ctx context.Conte
140140

141141
topoTpl, err := resolver.ResolveCoreTemplate(ctx, topoTplName)
142142
if err != nil {
143-
return err
143+
return fmt.Errorf("failed to resolve topo template: %w", err)
144144
}
145145

146146
adminTplName := cluster.Spec.TemplateDefaults.CoreTemplate
@@ -150,7 +150,7 @@ func (r *MultigresClusterReconciler) reconcileGlobalComponents(ctx context.Conte
150150

151151
adminTpl, err := resolver.ResolveCoreTemplate(ctx, adminTplName)
152152
if err != nil {
153-
return err
153+
return fmt.Errorf("failed to resolve admin template: %w", err)
154154
}
155155

156156
topoSpec := ResolveGlobalTopo(&cluster.Spec.GlobalTopoServer, topoTpl)
@@ -176,7 +176,7 @@ func (r *MultigresClusterReconciler) reconcileGlobalComponents(ctx context.Conte
176176
}
177177
return controllerutil.SetControllerReference(cluster, ts, r.Scheme)
178178
}); err != nil {
179-
return err
179+
return fmt.Errorf("failed to create/update global topo: %w", err)
180180
}
181181
}
182182

@@ -216,7 +216,7 @@ func (r *MultigresClusterReconciler) reconcileGlobalComponents(ctx context.Conte
216216
}
217217
return controllerutil.SetControllerReference(cluster, deploy, r.Scheme)
218218
}); err != nil {
219-
return err
219+
return fmt.Errorf("failed to create/update multiadmin: %w", err)
220220
}
221221
}
222222

@@ -226,15 +226,15 @@ func (r *MultigresClusterReconciler) reconcileGlobalComponents(ctx context.Conte
226226
func (r *MultigresClusterReconciler) reconcileCells(ctx context.Context, cluster *multigresv1alpha1.MultigresCluster, resolver *TemplateResolver) error {
227227
existingCells := &multigresv1alpha1.CellList{}
228228
if err := r.List(ctx, existingCells, client.InNamespace(cluster.Namespace), client.MatchingLabels{"multigres.com/cluster": cluster.Name}); err != nil {
229-
return err
229+
return fmt.Errorf("failed to list existing cells: %w", err)
230230
}
231231

232232
globalTopoRef, err := r.getGlobalTopoRef(ctx, cluster, resolver)
233233
if err != nil {
234-
return err
234+
return fmt.Errorf("failed to get global topo ref: %w", err)
235235
}
236236

237-
activeCellNames := make(map[string]bool)
237+
activeCellNames := make(map[string]bool, len(cluster.Spec.Cells))
238238

239239
allCellNames := []multigresv1alpha1.CellName{}
240240
for _, cellCfg := range cluster.Spec.Cells {
@@ -246,7 +246,7 @@ func (r *MultigresClusterReconciler) reconcileCells(ctx context.Context, cluster
246246

247247
tpl, err := resolver.ResolveCellTemplate(ctx, cellCfg.CellTemplate)
248248
if err != nil {
249-
return err
249+
return fmt.Errorf("failed to resolve cell template '%s': %w", cellCfg.CellTemplate, err)
250250
}
251251

252252
gatewaySpec, localTopoSpec := MergeCellConfig(tpl, cellCfg.Overrides, cellCfg.Spec)
@@ -280,14 +280,14 @@ func (r *MultigresClusterReconciler) reconcileCells(ctx context.Context, cluster
280280

281281
return controllerutil.SetControllerReference(cluster, cellCR, r.Scheme)
282282
}); err != nil {
283-
return err
283+
return fmt.Errorf("failed to create/update cell '%s': %w", cellCfg.Name, err)
284284
}
285285
}
286286

287287
for _, item := range existingCells.Items {
288288
if !activeCellNames[item.Spec.Name] {
289289
if err := r.Delete(ctx, &item); err != nil {
290-
return err
290+
return fmt.Errorf("failed to delete orphaned cell '%s': %w", item.Name, err)
291291
}
292292
}
293293
}
@@ -298,12 +298,12 @@ func (r *MultigresClusterReconciler) reconcileCells(ctx context.Context, cluster
298298
func (r *MultigresClusterReconciler) reconcileDatabases(ctx context.Context, cluster *multigresv1alpha1.MultigresCluster, resolver *TemplateResolver) error {
299299
existingTGs := &multigresv1alpha1.TableGroupList{}
300300
if err := r.List(ctx, existingTGs, client.InNamespace(cluster.Namespace), client.MatchingLabels{"multigres.com/cluster": cluster.Name}); err != nil {
301-
return err
301+
return fmt.Errorf("failed to list existing tablegroups: %w", err)
302302
}
303303

304304
globalTopoRef, err := r.getGlobalTopoRef(ctx, cluster, resolver)
305305
if err != nil {
306-
return err
306+
return fmt.Errorf("failed to get global topo ref: %w", err)
307307
}
308308

309309
activeTGNames := make(map[string]bool)
@@ -322,7 +322,7 @@ func (r *MultigresClusterReconciler) reconcileDatabases(ctx context.Context, clu
322322
for _, shard := range tg.Shards {
323323
tpl, err := resolver.ResolveShardTemplate(ctx, shard.ShardTemplate)
324324
if err != nil {
325-
return err
325+
return fmt.Errorf("failed to resolve shard template '%s': %w", shard.ShardTemplate, err)
326326
}
327327

328328
orch, pools := MergeShardConfig(tpl, shard.Overrides, shard.Spec)
@@ -378,15 +378,15 @@ func (r *MultigresClusterReconciler) reconcileDatabases(ctx context.Context, clu
378378

379379
return controllerutil.SetControllerReference(cluster, tgCR, r.Scheme)
380380
}); err != nil {
381-
return err
381+
return fmt.Errorf("failed to create/update tablegroup '%s': %w", tgNameFull, err)
382382
}
383383
}
384384
}
385385

386386
for _, item := range existingTGs.Items {
387387
if !activeTGNames[item.Name] {
388388
if err := r.Delete(ctx, &item); err != nil {
389-
return err
389+
return fmt.Errorf("failed to delete orphaned tablegroup '%s': %w", item.Name, err)
390390
}
391391
}
392392
}
@@ -402,7 +402,7 @@ func (r *MultigresClusterReconciler) getGlobalTopoRef(ctx context.Context, clust
402402

403403
topoTpl, err := resolver.ResolveCoreTemplate(ctx, topoTplName)
404404
if err != nil {
405-
return multigresv1alpha1.GlobalTopoServerRef{}, err
405+
return multigresv1alpha1.GlobalTopoServerRef{}, fmt.Errorf("failed to resolve global topo template: %w", err)
406406
}
407407

408408
topoSpec := ResolveGlobalTopo(&cluster.Spec.GlobalTopoServer, topoTpl)
@@ -428,7 +428,7 @@ func (r *MultigresClusterReconciler) updateStatus(ctx context.Context, cluster *
428428

429429
cells := &multigresv1alpha1.CellList{}
430430
if err := r.List(ctx, cells, client.InNamespace(cluster.Namespace), client.MatchingLabels{"multigres.com/cluster": cluster.Name}); err != nil {
431-
return err
431+
return fmt.Errorf("failed to list cells for status: %w", err)
432432
}
433433

434434
for _, c := range cells.Items {
@@ -447,7 +447,7 @@ func (r *MultigresClusterReconciler) updateStatus(ctx context.Context, cluster *
447447

448448
tgs := &multigresv1alpha1.TableGroupList{}
449449
if err := r.List(ctx, tgs, client.InNamespace(cluster.Namespace), client.MatchingLabels{"multigres.com/cluster": cluster.Name}); err != nil {
450-
return err
450+
return fmt.Errorf("failed to list tablegroups for status: %w", err)
451451
}
452452

453453
dbShards := make(map[string]struct {
@@ -490,7 +490,11 @@ func (r *MultigresClusterReconciler) updateStatus(ctx context.Context, cluster *
490490
LastTransitionTime: metav1.Now(),
491491
})
492492

493-
return r.Status().Update(ctx, cluster)
493+
if err := r.Status().Update(ctx, cluster); err != nil {
494+
return fmt.Errorf("failed to update cluster status: %w", err)
495+
}
496+
497+
return nil
494498
}
495499

496500
// SetupWithManager sets up the controller with the Manager.

0 commit comments

Comments
 (0)