Skip to content

Commit 2ddce8c

Browse files
authored
Merge pull request #2273 from MrDXY/pr-golangci-sync-errchkjson
🌱 lint: fix the JSON encoding check error via errchkjson linter
2 parents 9881385 + 2e2f203 commit 2ddce8c

File tree

3 files changed

+44
-15
lines changed

3 files changed

+44
-15
lines changed

.golangci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ linters:
1818
- dupword
1919
- durationcheck
2020
- errcheck
21-
# - errchkjson
21+
- errchkjson
2222
- exportloopref
2323
- gci
2424
# - ginkgolinter

packaging/flavorgen/flavors/flavors.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,10 @@ func ClusterClassTemplateWithKubeVIP() []runtime.Object {
5555
}
5656

5757
func ClusterTopologyTemplateKubeVIP() []runtime.Object {
58-
cluster := newClusterClassCluster()
58+
cluster, err := newClusterTopologyCluster()
59+
if err != nil {
60+
return nil
61+
}
5962
identitySecret := newIdentitySecret()
6063
clusterResourceSet := newClusterResourceSet(cluster)
6164
crsResourcesCSI := crs.CreateCrsResourceObjectsCSI(&clusterResourceSet)

packaging/flavorgen/flavors/generators.go

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"encoding/json"
2121
"fmt"
2222

23+
"github.com/pkg/errors"
2324
corev1 "k8s.io/api/core/v1"
2425
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
2526
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -94,7 +95,11 @@ systemd:
9495
EnvironmentFile=/run/metadata/*`
9596
)
9697

97-
func newClusterClassCluster() clusterv1.Cluster {
98+
func newClusterTopologyCluster() (clusterv1.Cluster, error) {
99+
variables, err := clusterTopologyVariables()
100+
if err != nil {
101+
return clusterv1.Cluster{}, errors.Wrap(err, "failed to create ClusterTopologyCluster template")
102+
}
98103
return clusterv1.Cluster{
99104
TypeMeta: metav1.TypeMeta{
100105
APIVersion: clusterv1.GroupVersion.String(),
@@ -121,17 +126,34 @@ func newClusterClassCluster() clusterv1.Cluster {
121126
},
122127
},
123128
},
124-
Variables: clusterTopologyVariables(),
129+
Variables: variables,
125130
},
126131
},
127-
}
132+
}, nil
128133
}
129134

130-
func clusterTopologyVariables() []clusterv1.ClusterVariable {
131-
sshKey, _ := json.Marshal(env.VSphereSSHAuthorizedKeysVar)
132-
controlPlaneIP, _ := json.Marshal(env.ControlPlaneEndpointVar)
133-
secretName, _ := json.Marshal(env.ClusterNameVar)
134-
kubeVipPod, _ := json.Marshal(kubeVIPPodYaml())
135+
func clusterTopologyVariables() ([]clusterv1.ClusterVariable, error) {
136+
sshKey, err := json.Marshal(env.VSphereSSHAuthorizedKeysVar)
137+
if err != nil {
138+
return nil, errors.Wrapf(err, "failed to json-encode variable VSphereSSHAuthorizedKeysVar: %q", env.VSphereSSHAuthorizedKeysVar)
139+
}
140+
controlPlaneIP, err := json.Marshal(env.ControlPlaneEndpointVar)
141+
if err != nil {
142+
return nil, errors.Wrapf(err, "failed to json-encode variable ControlPlaneEndpointVar: %q", env.ControlPlaneEndpointVar)
143+
}
144+
secretName, err := json.Marshal(env.ClusterNameVar)
145+
if err != nil {
146+
return nil, errors.Wrapf(err, "failed to json-encode variable ClusterNameVar: %q", env.ClusterNameVar)
147+
}
148+
kubeVipPodYaml := kubeVIPPodYaml()
149+
kubeVipPod, err := json.Marshal(kubeVipPodYaml)
150+
if err != nil {
151+
return nil, errors.Wrapf(err, "failed to json-encode variable kubeVipPod: %q", kubeVipPodYaml)
152+
}
153+
infraServerValue, err := getInfraServerValue()
154+
if err != nil {
155+
return nil, err
156+
}
135157
return []clusterv1.ClusterVariable{
136158
{
137159
Name: "sshKey",
@@ -142,7 +164,7 @@ func clusterTopologyVariables() []clusterv1.ClusterVariable {
142164
{
143165
Name: "infraServer",
144166
Value: apiextensionsv1.JSON{
145-
Raw: getInfraServerValue(),
167+
Raw: infraServerValue,
146168
},
147169
},
148170
{
@@ -164,15 +186,19 @@ func clusterTopologyVariables() []clusterv1.ClusterVariable {
164186
Raw: secretName,
165187
},
166188
},
167-
}
189+
}, nil
168190
}
169191

170-
func getInfraServerValue() []byte {
171-
byteArr, _ := json.Marshal(map[string]string{
192+
func getInfraServerValue() ([]byte, error) {
193+
byteArr, err := json.Marshal(map[string]string{
172194
"url": env.VSphereServerVar,
173195
"thumbprint": env.VSphereThumbprint,
174196
})
175-
return byteArr
197+
if err != nil {
198+
return nil, errors.Wrapf(err, "failed to json-encode, VSphereServerVar: %s, VSphereThumbprint: %s",
199+
env.VSphereServerVar, env.VSphereThumbprint)
200+
}
201+
return byteArr, nil
176202
}
177203

178204
func newVSphereCluster() infrav1.VSphereCluster {

0 commit comments

Comments
 (0)