Skip to content

Commit 69a97b9

Browse files
authored
Merge pull request #2315 from MrDXY/pr-golangci-enable-gocritic
🌱 lint: enable `gocritic` configuration and fix findings
2 parents a117865 + eb7f3e5 commit 69a97b9

22 files changed

+111
-134
lines changed

.golangci.yml

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -68,27 +68,27 @@ linters-settings:
6868
exclude:
6969
- '^ \+.*'
7070
- '^ ANCHOR.*'
71-
# gocritic:
72-
# enabled-tags:
73-
# - diagnostic
74-
# - experimental
75-
# - performance
76-
# disabled-checks:
77-
# - appendAssign
78-
# - dupImport # https://github.com/go-critic/go-critic/issues/845
79-
# - evalOrder
80-
# - ifElseChain
81-
# - octalLiteral
82-
# - regexpSimplify
83-
# - sloppyReassign
84-
# - truncateCmp
85-
# - typeDefFirst
86-
# - unnamedResult
87-
# - unnecessaryDefer
88-
# - whyNoLint
89-
# - wrapperFunc
90-
# - rangeValCopy
91-
# - hugeParam
71+
gocritic:
72+
enabled-tags:
73+
- diagnostic
74+
- experimental
75+
- performance
76+
disabled-checks:
77+
- appendAssign
78+
- dupImport # https://github.com/go-critic/go-critic/issues/845
79+
- evalOrder
80+
- ifElseChain
81+
- octalLiteral
82+
- regexpSimplify
83+
- sloppyReassign
84+
- truncateCmp
85+
- typeDefFirst
86+
- unnamedResult
87+
- unnecessaryDefer
88+
- whyNoLint
89+
- wrapperFunc
90+
- rangeValCopy
91+
- hugeParam
9292
importas:
9393
no-unaliased: true
9494
alias:

apis/v1alpha3/cloudprovider_encoding_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,6 @@ func TestUnmarshalINI(t *testing.T) {
610610
},
611611
}
612612

613-
//nolint:gocritic
614613
testCases := append(
615614
testcases,
616615
deprecatedTestCases...,

apis/v1alpha3/cloudprovider_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ limitations under the License.
2323
//
2424
// The "gopkg.in/go-ini/ini.v1" package was investigated, but it does not
2525
// support reflecting a struct with a field of type "map[string]TYPE" to INI.
26-
//nolint:gocritic,godot
26+
2727
package v1alpha3
2828

2929
// CPIConfig is the vSphere cloud provider's configuration.

apis/v1alpha3/haproxyloadbalancer_types.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ See the License for the specific language governing permissions and
1414
limitations under the License.
1515
*/
1616

17-
//nolint:gocritic,godot
1817
package v1alpha3
1918

2019
import (

apis/v1alpha3/vspherecluster_types.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ See the License for the specific language governing permissions and
1414
limitations under the License.
1515
*/
1616

17-
//nolint:gocritic,godot
1817
package v1alpha3
1918

2019
import (

apis/v1alpha4/vspheremachinetemplate_conversion.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import (
2626
infrav1 "sigs.k8s.io/cluster-api-provider-vsphere/apis/v1beta1"
2727
)
2828

29-
// ConvertTo.
29+
// ConvertTo converts this VSphereMachineTemplate to the Hub version (v1beta1).
3030
func (src *VSphereMachineTemplate) ConvertTo(dstRaw conversion.Hub) error {
3131
dst := dstRaw.(*infrav1.VSphereMachineTemplate)
3232
if err := Convert_v1alpha4_VSphereMachineTemplate_To_v1beta1_VSphereMachineTemplate(src, dst, nil); err != nil {
@@ -51,6 +51,7 @@ func (src *VSphereMachineTemplate) ConvertTo(dstRaw conversion.Hub) error {
5151
return nil
5252
}
5353

54+
// ConvertFrom converts from the Hub version (v1beta1) to this VSphereMachineTemplate.
5455
func (dst *VSphereMachineTemplate) ConvertFrom(srcRaw conversion.Hub) error {
5556
src := srcRaw.(*infrav1.VSphereMachineTemplate)
5657
if err := Convert_v1beta1_VSphereMachineTemplate_To_v1alpha4_VSphereMachineTemplate(src, dst, nil); err != nil {

controllers/controllers_suite_test.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@ var (
5151

5252
func TestMain(m *testing.M) {
5353
setup()
54-
defer func() {
55-
teardown()
56-
}()
54+
defer teardown()
5755
code := m.Run()
5856
os.Exit(code) //nolint:gocritic
5957
}

controllers/servicediscovery_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ func getSupervisorAPIServerURLWithFIP(client client.Client) (string, error) {
429429
// tryParseClusterInfoFromConfigMap tries to parse a kubeconfig file from a ConfigMap key.
430430
func tryParseClusterInfoFromConfigMap(cm *corev1.ConfigMap) (*clientcmdapi.Config, error) {
431431
kubeConfigString, ok := cm.Data[bootstrapapi.KubeConfigKey]
432-
if !ok || len(kubeConfigString) == 0 {
432+
if !ok || kubeConfigString == "" {
433433
return nil, errors.Errorf("no %s key in ConfigMap %s/%s", bootstrapapi.KubeConfigKey, cm.Namespace, cm.Name)
434434
}
435435
parsedKubeConfig, err := clientcmd.Load([]byte(kubeConfigString))

controllers/vspherecluster_reconciler.go

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -153,18 +153,19 @@ func (r clusterReconciler) reconcileDelete(clusterCtx *capvcontext.ClusterContex
153153
// If the VSphereMachine is not owned by the CAPI Machine object because the machine object was deleted
154154
// before setting the owner references, then proceed with the deletion of the VSphereMachine object.
155155
// This is required until CAPI has a solution for https://github.com/kubernetes-sigs/cluster-api/issues/5483
156-
if clusterutilv1.IsOwnedByObject(vsphereMachine, clusterCtx.VSphereCluster) && len(vsphereMachine.OwnerReferences) == 1 {
157-
machineDeletionCount++
158-
// Remove the finalizer since VM creation wouldn't proceed
159-
r.Logger.Info("Removing finalizer from VSphereMachine", "namespace", vsphereMachine.Namespace, "name", vsphereMachine.Name)
160-
ctrlutil.RemoveFinalizer(vsphereMachine, infrav1.MachineFinalizer)
161-
if err := r.Client.Update(clusterCtx, vsphereMachine); err != nil {
162-
return reconcile.Result{}, err
163-
}
164-
if err := r.Client.Delete(clusterCtx, vsphereMachine); err != nil && !apierrors.IsNotFound(err) {
165-
clusterCtx.Logger.Error(err, "Failed to delete for VSphereMachine", "namespace", vsphereMachine.Namespace, "name", vsphereMachine.Name)
166-
deletionErrors = append(deletionErrors, err)
167-
}
156+
if !clusterutilv1.IsOwnedByObject(vsphereMachine, clusterCtx.VSphereCluster) || len(vsphereMachine.OwnerReferences) != 1 {
157+
continue
158+
}
159+
machineDeletionCount++
160+
// Remove the finalizer since VM creation wouldn't proceed
161+
r.Logger.Info("Removing finalizer from VSphereMachine", "namespace", vsphereMachine.Namespace, "name", vsphereMachine.Name)
162+
ctrlutil.RemoveFinalizer(vsphereMachine, infrav1.MachineFinalizer)
163+
if err := r.Client.Update(clusterCtx, vsphereMachine); err != nil {
164+
return reconcile.Result{}, err
165+
}
166+
if err := r.Client.Delete(clusterCtx, vsphereMachine); err != nil && !apierrors.IsNotFound(err) {
167+
clusterCtx.Logger.Error(err, "Failed to delete for VSphereMachine", "namespace", vsphereMachine.Namespace, "name", vsphereMachine.Name)
168+
deletionErrors = append(deletionErrors, err)
168169
}
169170
}
170171
if len(deletionErrors) > 0 {

controllers/vspheredeploymentzone_controller.go

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -243,20 +243,21 @@ func (r vsphereDeploymentZoneReconciler) getVCenterSession(deploymentZoneCtx *ca
243243
}
244244

245245
for _, vsphereCluster := range clusterList.Items {
246-
if deploymentZoneCtx.VSphereDeploymentZone.Spec.Server == vsphereCluster.Spec.Server && vsphereCluster.Spec.IdentityRef != nil {
247-
logger := deploymentZoneCtx.Logger.WithValues("cluster", vsphereCluster.Name)
248-
params = params.WithThumbprint(vsphereCluster.Spec.Thumbprint)
249-
clust := vsphereCluster
250-
creds, err := identity.GetCredentials(deploymentZoneCtx, r.Client, &clust, r.Namespace)
251-
if err != nil {
252-
logger.Error(err, "error retrieving credentials from IdentityRef")
253-
continue
254-
}
255-
logger.Info("using server credentials to create the authenticated session")
256-
params = params.WithUserInfo(creds.Username, creds.Password)
257-
return session.GetOrCreate(r.Context,
258-
params)
246+
if deploymentZoneCtx.VSphereDeploymentZone.Spec.Server != vsphereCluster.Spec.Server || vsphereCluster.Spec.IdentityRef == nil {
247+
continue
248+
}
249+
logger := deploymentZoneCtx.Logger.WithValues("cluster", vsphereCluster.Name)
250+
params = params.WithThumbprint(vsphereCluster.Spec.Thumbprint)
251+
clust := vsphereCluster
252+
creds, err := identity.GetCredentials(deploymentZoneCtx, r.Client, &clust, r.Namespace)
253+
if err != nil {
254+
logger.Error(err, "error retrieving credentials from IdentityRef")
255+
continue
259256
}
257+
logger.Info("using server credentials to create the authenticated session")
258+
params = params.WithUserInfo(creds.Username, creds.Password)
259+
return session.GetOrCreate(r.Context,
260+
params)
260261
}
261262

262263
// Fallback to using credentials provided to the manager

0 commit comments

Comments
 (0)