Skip to content

Commit 78adbc4

Browse files
Merge pull request #2627 from SD-13/shadow_variable
🌱 Enable govet shadow variables
2 parents 2527278 + 5d5f208 commit 78adbc4

30 files changed

+95
-98
lines changed

.golangci.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,9 @@ linters-settings:
145145
case:
146146
rules:
147147
json: goCamel
148+
govet:
149+
enable:
150+
- shadow
148151

149152
issues:
150153
exclude-dirs:

baremetal/metal3data_manager.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,6 @@ func (m *DataManager) getAddressesFromPool(ctx context.Context,
346346

347347
for pool, ref := range poolRefs {
348348
var rc reconciledClaim
349-
var err error
350349
if isMetal3IPPoolRef(ref) {
351350
rc, err = m.ensureM3IPClaim(ctx, ref)
352351
} else {
@@ -365,7 +364,6 @@ func (m *DataManager) getAddressesFromPool(ctx context.Context,
365364
continue
366365
}
367366
if rc.fetchAgain {
368-
var err error
369367
if rc.m3Claim != nil {
370368
rc.m3Claim, err = fetchM3IPClaim(ctx, m.client, m.Log, m.Data.Name+"-"+ref.Name, m.Data.Namespace)
371369
} else {
@@ -1489,7 +1487,7 @@ func fetchM3IPClaim(ctx context.Context, cl client.Client, mLog logr.Logger,
14891487
mLog.Info(errMessage)
14901488
return nil, WithTransientError(errors.New(errMessage), requeueAfter)
14911489
}
1492-
err := errors.Wrap(err, "Failed to get address claim")
1490+
err = errors.Wrap(err, "Failed to get address claim")
14931491
return nil, err
14941492
}
14951493
return metal3IPClaim, nil

baremetal/metal3datatemplate_manager.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ func (m *DataTemplateManager) updateData(ctx context.Context,
198198
}
199199
// Always patch dataClaim exiting this function so we can persist any changes.
200200
defer func() {
201-
err := helper.Patch(ctx, dataClaim)
201+
err = helper.Patch(ctx, dataClaim)
202202
if err != nil {
203203
m.Log.Info("failed to Patch capm3DataClaim")
204204
}

baremetal/metal3machine_manager.go

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ func (m *MachineManager) SetPauseAnnotation(ctx context.Context) error {
286286
return errors.Wrap(err, "failed to marshall status annotation")
287287
}
288288
obj := map[string]interface{}{}
289-
if err := json.Unmarshal(newAnnotation, &obj); err != nil {
289+
if err = json.Unmarshal(newAnnotation, &obj); err != nil {
290290
return errors.Wrap(err, "failed to unmarshall status annotation")
291291
}
292292
delete(obj, "hardware")
@@ -382,7 +382,7 @@ func (m *MachineManager) Associate(ctx context.Context) error {
382382
if m.Metal3Machine.Spec.DataTemplate != nil {
383383
// Requeue to get the DataTemplate output. We need to requeue to trigger the
384384
// wait on the Metal3DataTemplate
385-
if err := m.WaitForM3Metadata(ctx); err != nil {
385+
if err = m.WaitForM3Metadata(ctx); err != nil {
386386
return err
387387
}
388388

@@ -547,7 +547,7 @@ func (m *MachineManager) Delete(ctx context.Context) error {
547547
if bmhUpdated {
548548
// Update the BMH object, if the errors are NotFound, do not return the
549549
// errors.
550-
if err := patchIfFound(ctx, helper, host); err != nil {
550+
if err = patchIfFound(ctx, helper, host); err != nil {
551551
return err
552552
}
553553

@@ -599,7 +599,7 @@ func (m *MachineManager) Delete(ctx context.Context) error {
599599
Name: m.Metal3Machine.ObjectMeta.GetAnnotations()[clusterv1.TemplateClonedFromNameAnnotation],
600600
Namespace: m.Metal3Machine.Namespace,
601601
}
602-
if err := m.client.Get(ctx, m3mtKey, m3mt); err != nil {
602+
if err = m.client.Get(ctx, m3mtKey, m3mt); err != nil {
603603
// we are here, because while normal deprovisioning, Metal3MachineTemplate will be deleted first
604604
// and we can't get it even though Metal3Machine has reference to it. We consider it nil and move
605605
// forward with normal deprovisioning.
@@ -620,7 +620,8 @@ func (m *MachineManager) Delete(ctx context.Context) error {
620620
if m.isControlPlane() {
621621
// Fetch ControlPlane name for controlplane machine
622622
m.Log.Info("Fetch ControlPlane name while deprovisioning host", "host", host.Name)
623-
cpName, err := m.getControlPlaneName(ctx)
623+
var cpName string
624+
cpName, err = m.getControlPlaneName(ctx)
624625
if err != nil {
625626
return err
626627
}
@@ -630,7 +631,8 @@ func (m *MachineManager) Delete(ctx context.Context) error {
630631
} else {
631632
// Fetch MachineDeployment name for worker machine
632633
m.Log.Info("Fetch MachineDeployment name while deprovisioning host", "host", host.Name)
633-
mdName, err := m.getMachineDeploymentName(ctx)
634+
var mdName string
635+
mdName, err = m.getMachineDeploymentName(ctx)
634636
if err != nil {
635637
return err
636638
}
@@ -698,7 +700,7 @@ func (m *MachineManager) Update(ctx context.Context) error {
698700
return WithTransientError(errors.New(errMessage), requeueAfter)
699701
}
700702

701-
if err := m.WaitForM3Metadata(ctx); err != nil {
703+
if err = m.WaitForM3Metadata(ctx); err != nil {
702704
return err
703705
}
704706

@@ -812,12 +814,13 @@ func (m *MachineManager) chooseHost(ctx context.Context) (*bmov1alpha1.BareMetal
812814
// I think it's because we have a local cache of all BareMetalHosts.
813815
labelSelector := labels.NewSelector()
814816
var reqs labels.Requirements
817+
var r *labels.Requirement
815818

816819
for labelKey, labelVal := range m.Metal3Machine.Spec.HostSelector.MatchLabels {
817820
m.Log.Info("Adding requirement to match label",
818821
"label key", labelKey,
819822
"label value", labelVal)
820-
r, err := labels.NewRequirement(labelKey, selection.Equals, []string{labelVal})
823+
r, err = labels.NewRequirement(labelKey, selection.Equals, []string{labelVal})
821824
if err != nil {
822825
m.Log.Error(err, "Failed to create MatchLabel requirement, not choosing host")
823826
return nil, nil, err
@@ -830,7 +833,7 @@ func (m *MachineManager) chooseHost(ctx context.Context) (*bmov1alpha1.BareMetal
830833
"label operator", req.Operator,
831834
"label value", req.Values)
832835
lowercaseOperator := selection.Operator(strings.ToLower(string(req.Operator)))
833-
r, err := labels.NewRequirement(req.Key, lowercaseOperator, req.Values)
836+
r, err = labels.NewRequirement(req.Key, lowercaseOperator, req.Values)
834837
if err != nil {
835838
m.Log.Error(err, "Failed to create MatchExpression requirement, not choosing host")
836839
return nil, nil, err
@@ -844,8 +847,9 @@ func (m *MachineManager) chooseHost(ctx context.Context) (*bmov1alpha1.BareMetal
844847

845848
for i, host := range hosts.Items {
846849
if host.Spec.ConsumerRef != nil && consumerRefMatches(host.Spec.ConsumerRef, m.Metal3Machine) {
850+
var helper *v1beta1patch.Helper
847851
m.Log.Info("Found host with existing ConsumerRef", "host", host.Name)
848-
helper, err := v1beta1patch.NewHelper(&hosts.Items[i], m.client)
852+
helper, err = v1beta1patch.NewHelper(&hosts.Items[i], m.client)
849853
return &hosts.Items[i], helper, err
850854
}
851855
if host.Spec.ConsumerRef != nil ||
@@ -1467,7 +1471,7 @@ func (m *MachineManager) SetProviderIDFromNodeLabel(ctx context.Context, clientF
14671471
// By default we use the new format, if not set on the node.
14681472
m.SetProviderID(providerIDNew)
14691473
m.SetReadyTrue()
1470-
err := m.setNodeProviderID(ctx, corev1Remote, node, providerIDNew)
1474+
err = m.setNodeProviderID(ctx, corev1Remote, node, providerIDNew)
14711475

14721476
if err != nil {
14731477
return false, err

baremetal/metal3machine_manager_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1602,7 +1602,7 @@ var _ = Describe("Metal3Machine manager", func() {
16021602
}
16031603
host := bmov1alpha1.BareMetalHost{}
16041604

1605-
err := fakeClient.Get(context.TODO(), key, &host)
1605+
err = fakeClient.Get(context.TODO(), key, &host)
16061606
Expect(err).NotTo(HaveOccurred())
16071607

16081608
name := ""

baremetal/utils.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ func fetchM3DataTemplate(ctx context.Context,
228228
mLog.Info(errMessage)
229229
return nil, WithTransientError(errors.New(errMessage), requeueAfter)
230230
}
231-
err := errors.Wrap(err, "Failed to get Metal3DataTemplate")
231+
err = errors.Wrap(err, "Failed to get Metal3DataTemplate")
232232
return nil, err
233233
}
234234

@@ -256,7 +256,7 @@ func fetchM3DataClaim(ctx context.Context, cl client.Client, mLog logr.Logger,
256256
mLog.Info(errMessage)
257257
return nil, WithTransientError(errors.New(errMessage), requeueAfter)
258258
}
259-
err := errors.Wrap(err, "Failed to get Metal3DataClaim")
259+
err = errors.Wrap(err, "Failed to get Metal3DataClaim")
260260
return nil, err
261261
}
262262
return m3DataClaim, nil
@@ -278,7 +278,7 @@ func fetchM3Data(ctx context.Context, cl client.Client, mLog logr.Logger,
278278
mLog.Info(errMessage)
279279
return nil, WithTransientError(errors.New(errMessage), requeueAfter)
280280
}
281-
err := errors.Wrap(err, "Failed to get Metal3Data")
281+
err = errors.Wrap(err, "Failed to get Metal3Data")
282282
return nil, err
283283
}
284284
return m3Data, nil
@@ -306,7 +306,7 @@ func getM3Machine(ctx context.Context, cl client.Client, mLog logr.Logger,
306306
}
307307
return nil, nil //nolint:nilnil
308308
}
309-
err := errors.Wrap(err, "Failed to get Metal3Machine")
309+
err = errors.Wrap(err, "Failed to get Metal3Machine")
310310
return nil, err
311311
}
312312

baremetal/utils_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ var _ = Describe("Metal3 manager utils", func() {
237237
Expect(err).NotTo(HaveOccurred())
238238
Expect(savedObject.Spec).To(Equal(tc.TestObject.Spec))
239239
Expect(savedObject.ResourceVersion).NotTo(Equal(tc.TestObject.ResourceVersion))
240-
err := updateObject(context.TODO(), k8sClient, obj)
240+
err = updateObject(context.TODO(), k8sClient, obj)
241241
Expect(err).To(HaveOccurred())
242242
Expect(err).To(BeAssignableToTypeOf(ReconcileError{}))
243243
}

controllers/metal3cluster_controller.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ func (r *Metal3ClusterReconciler) Reconcile(ctx context.Context, req ctrl.Reques
102102
}
103103
// Always patch metal3Cluster when exiting this function so we can persist any metal3Cluster changes.
104104
defer func() {
105-
if err := patchMetal3Cluster(ctx, patchHelper, metal3Cluster); err != nil {
105+
if err = patchMetal3Cluster(ctx, patchHelper, metal3Cluster); err != nil {
106106
clusterLog.Error(err, "failed to Patch metal3Cluster")
107107
rerr = err
108108
}
@@ -143,7 +143,8 @@ func (r *Metal3ClusterReconciler) Reconcile(ctx context.Context, req ctrl.Reques
143143

144144
// Handle deleted clusters
145145
if !metal3Cluster.DeletionTimestamp.IsZero() {
146-
res, err := reconcileDelete(ctx, clusterMgr)
146+
var res ctrl.Result
147+
res, err = reconcileDelete(ctx, clusterMgr)
147148
// Requeue if the reconcile failed because the ClusterCache was locked for
148149
// the current cluster because of concurrent access.
149150
if errors.Is(err, clustercache.ErrClusterNotConnected) {

controllers/metal3data_controller.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,14 @@ func (r *Metal3DataReconciler) Reconcile(ctx context.Context, req ctrl.Request)
7878
defer func() {
7979
// Check if the object still exists before attempting to patch
8080
var currentObj infrav1.Metal3Data
81-
if err := r.Client.Get(ctx, req.NamespacedName, &currentObj); err != nil {
81+
if err = r.Client.Get(ctx, req.NamespacedName, &currentObj); err != nil {
8282
if apierrors.IsNotFound(err) {
8383
metadataLog.Info("Metal3Data no longer exists, skipping patch")
8484
return
8585
}
8686
metadataLog.Info("Failed to check if Metal3Data exists, attempting patch")
8787
}
88-
err := helper.Patch(ctx, metal3Data)
88+
err = helper.Patch(ctx, metal3Data)
8989
if err != nil {
9090
metadataLog.Info("failed to Patch Metal3Data")
9191
rerr = err

controllers/metal3datatemplate_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ func (r *Metal3DataTemplateReconciler) Reconcile(ctx context.Context, req ctrl.R
8888
}
8989
// Always patch the Metal3DataTemplate exiting this function so we can persist any changes.
9090
defer func() {
91-
err := helper.Patch(ctx, metal3DataTemplate)
91+
err = helper.Patch(ctx, metal3DataTemplate)
9292
if err != nil {
9393
log.Info("failed to Patch Metal3DataTemplate")
9494
rerr = err

0 commit comments

Comments
 (0)