Skip to content

Commit 76bad11

Browse files
committed
Fix more lint problems
Signed-off-by: Stavros Foteinopoulos <stafot@gmail.com>
1 parent 9530235 commit 76bad11

21 files changed

Lines changed: 223 additions & 58 deletions

cmd/tools/cwl/cwl.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ package main
77
import (
88
"embed"
99
"fmt"
10+
"github.com/sirupsen/logrus"
1011
"log"
1112
"net/http"
1213
"os"
@@ -51,7 +52,10 @@ func handler(w http.ResponseWriter, r *http.Request) {
5152

5253
message := fmt.Sprintf("[ %s | %s ] %s -> %s", wType, webhook.ID[0:4], webhook.OldState, webhook.NewState)
5354
log.Print(message)
54-
notify.Push("Cloud Webhook Listener", message, icon, notificator.UR_NORMAL)
55+
err = notify.Push("Cloud Webhook Listener", message, icon, notificator.UR_NORMAL)
56+
if err != nil {
57+
logrus.Errorf("failed to send notification: %v", err)
58+
}
5559

5660
w.WriteHeader(http.StatusOK)
5761
}

internal/api/cluster_installation.go

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,10 @@ func handleRunClusterInstallationGetPPROF(c *Context, w http.ResponseWriter, r *
418418
}
419419

420420
w.WriteHeader(http.StatusOK)
421-
w.Write(debugBytes)
421+
if _, err := w.Write(debugBytes); err != nil {
422+
log.WithError(err).Error("failed to write debugBytes")
423+
}
424+
422425
}
423426

424427
// handleRunClusterInstallationMattermostCLI responds to POST /api/cluster_installation/{cluster_installation}/mattermost_cli, running a Mattermost CLI command and returning any output.
@@ -475,12 +478,17 @@ func handleRunClusterInstallationMattermostCLI(c *Context, w http.ResponseWriter
475478
if err != nil {
476479
c.Logger.WithError(err).Error("failed to execute mattermost cli")
477480
w.WriteHeader(http.StatusInternalServerError)
478-
w.Write(output)
481+
if _, err := w.Write(output); err != nil {
482+
log.WithError(err).Error("failed to write output")
483+
}
484+
479485
return
480486
}
481487

482488
w.WriteHeader(http.StatusOK)
483-
w.Write(output)
489+
if _, err := w.Write(output); err != nil {
490+
log.WithError(err).Error("failed to write output")
491+
}
484492
}
485493

486494
// handleMigrateClusterInstallations responds to Post /api/cluster_installation/migrate.

internal/api/helpers.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,11 @@ func parseDeletionLocked(u *url.URL) (*bool, error) {
109109
}
110110

111111
func populateZipfile(w *zip.Writer, fileDatas []model.FileData) error {
112-
defer w.Close()
112+
defer func() {
113+
if err := w.Close(); err != nil {
114+
logrus.WithError(err).Error("failed to close zip writer")
115+
}
116+
}()
113117
for _, fd := range fileDatas {
114118
f, err := w.CreateHeader(&zip.FileHeader{
115119
Name: fd.Filename,

internal/api/installation.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -688,7 +688,9 @@ func handleAssignGroup(c *Context, w http.ResponseWriter, r *http.Request) {
688688
return
689689
}
690690

691-
c.Supervisor.Do()
691+
if err := c.Supervisor.Do(); err != nil {
692+
log.WithError(err).Error("supervisor task failed")
693+
}
692694

693695
w.WriteHeader(http.StatusOK)
694696
}

internal/api/response_writer_wrapper_test.go

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

33
import (
44
"bufio"
5+
log "github.com/sirupsen/logrus"
56
"net"
67
"net/http"
78
"net/http/httptest"
@@ -46,7 +47,9 @@ func TestStatusCodeShouldBe200IfNotHeaderWritten(t *testing.T) {
4647
resp := api.NewWrappedWriter(httptest.NewRecorder())
4748
req := httptest.NewRequest("GET", "/api/v4/test", nil)
4849
handler := TestHandler{func(w http.ResponseWriter, r *http.Request) {
49-
w.Write([]byte{})
50+
if _, err := w.Write([]byte{}); err != nil {
51+
log.WithError(err).Error("failed to write byte")
52+
}
5053
}}
5154
handler.ServeHTTP(resp, req)
5255
assert.Equal(t, http.StatusOK, resp.StatusCode())
@@ -77,7 +80,9 @@ func TestForSupportedFlush(t *testing.T) {
7780
resp := api.NewWrappedWriter(httptest.NewRecorder())
7881
req := httptest.NewRequest("GET", "/api/v4/test", nil)
7982
handler := TestHandler{func(w http.ResponseWriter, r *http.Request) {
80-
w.Write([]byte{})
83+
if _, err := w.Write([]byte{}); err != nil {
84+
log.WithError(err).Error("failed to write byte")
85+
}
8186
w.(*api.ResponseWriterWrapper).Flush()
8287
}}
8388
handler.ServeHTTP(resp, req)

internal/auth/device_authorization.go

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"encoding/json"
66
"fmt"
7+
"github.com/sirupsen/logrus"
78
"log"
89
"net/http"
910
"net/url"
@@ -38,7 +39,11 @@ func waitForAuthorization(ctx context.Context, config *oauth2.Config, deviceCode
3839
log.Print(err)
3940
return AuthorizationResponse{}, nil
4041
}
41-
defer resp.Body.Close()
42+
defer func() {
43+
if err := resp.Body.Close(); err != nil {
44+
logrus.WithError(err).Error("failed to close resp.Body")
45+
}
46+
}()
4247

4348
var token AuthorizationResponse
4449
if err := json.NewDecoder(resp.Body).Decode(&token); err != nil {
@@ -94,7 +99,11 @@ func Refresh(ctx context.Context, config *oauth2.Config, refreshToken string) (*
9499
if err != nil {
95100
return nil, fmt.Errorf("failed to send request: %w", err)
96101
}
97-
defer resp.Body.Close()
102+
defer func() {
103+
if err := resp.Body.Close(); err != nil {
104+
logrus.WithError(err).Error("failed to close resp.Body")
105+
}
106+
}()
98107

99108
if resp.StatusCode != http.StatusOK {
100109
return nil, fmt.Errorf("unexpected response status: %s", resp.Status)
@@ -130,7 +139,11 @@ func Login(ctx context.Context, orgURL string, clientID string) (AuthorizationRe
130139
if err != nil {
131140
return AuthorizationResponse{}, fmt.Errorf("failed to get device code: %w", err)
132141
}
133-
defer resp.Body.Close()
142+
defer func() {
143+
if err := resp.Body.Close(); err != nil {
144+
logrus.WithError(err).Error("failed to close resp.Body")
145+
}
146+
}()
134147

135148
var loginResponse LoginResponse
136149
if dErr := json.NewDecoder(resp.Body).Decode(&loginResponse); dErr != nil {

internal/provisioner/eks_provisioner.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -828,7 +828,11 @@ func (provisioner *EKSProvisioner) getKubeConfigPath(cluster *model.Cluster) (st
828828
if err != nil {
829829
return "", errors.Wrap(err, "failed to create kubeconfig tempfile")
830830
}
831-
defer kubeconfigFile.Close()
831+
defer func() {
832+
if err := kubeconfigFile.Close(); err != nil {
833+
log.WithError(err).Error("failed to close kubeconfigFile")
834+
}
835+
}()
832836

833837
rawKubeconfig, err := clientcmd.Write(kubeconfig)
834838
if err != nil {

internal/provisioner/kops_provisioner.go

Lines changed: 77 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,11 @@ func (provisioner *KopsProvisioner) Teardown() {
7070
provisioner.logger.Debug("Performing kops provisioner cleanup")
7171
for name, kops := range provisioner.kopsCache {
7272
provisioner.logger.Debugf("Cleaning up kops cache for %s", name)
73-
kops.Close()
73+
defer func() {
74+
if err := kops.Close(); err != nil {
75+
log.WithError(err).Error("failed to close kops")
76+
}
77+
}()
7478
}
7579
}
7680

@@ -168,8 +172,11 @@ func (provisioner *KopsProvisioner) invalidateCachedKopsClient(name string, logg
168172
}
169173

170174
logger.Debugf("Invalidating kops client cache for %s and cleaning up %s", name, kopsClient.GetOutputDirectory())
171-
kopsClient.Close()
172-
delete(provisioner.kopsCache, name)
175+
defer func() {
176+
if err := kopsClient.Close(); err != nil {
177+
log.WithError(err).Error("failed to close kops client")
178+
}
179+
}()
173180

174181
return nil
175182
}
@@ -181,8 +188,11 @@ func (provisioner *KopsProvisioner) invalidateCachedKopsClientOnError(err error,
181188
if err == nil {
182189
return
183190
}
191+
err = provisioner.invalidateCachedKopsClient(name, logger)
192+
if err != nil {
193+
logger.WithError(err).Errorf("failed to invalidate cached kops client for %s", name)
194+
}
184195

185-
provisioner.invalidateCachedKopsClient(name, logger)
186196
}
187197

188198
func (provisioner *KopsProvisioner) k8sClient(clusterName string, logger log.FieldLogger) (*k8s.KubeClient, error) {
@@ -255,7 +265,11 @@ func (provisioner *KopsProvisioner) CreateCluster(cluster *model.Cluster) error
255265
if err != nil {
256266
return err
257267
}
258-
defer kops.Close()
268+
defer func() {
269+
if err := kops.Close(); err != nil {
270+
log.WithError(err).Error("failed to close kops client")
271+
}
272+
}()
259273

260274
var clusterResources aws.ClusterResources
261275
if kopsMetadata.ChangeRequest.VPC != "" && provisioner.params.UseExistingAWSResources {
@@ -294,7 +308,11 @@ func (provisioner *KopsProvisioner) CreateCluster(cluster *model.Cluster) error
294308
if err != nil {
295309
return err
296310
}
297-
defer terraformClient.Close()
311+
defer func() {
312+
if err := terraformClient.Close(); err != nil {
313+
log.WithError(err).Error("failed to close terraform client")
314+
}
315+
}()
298316

299317
err = terraformClient.Init(kopsMetadata.Name)
300318
if err != nil {
@@ -422,7 +440,9 @@ func (provisioner *KopsProvisioner) CreateCluster(cluster *model.Cluster) error
422440
if err != nil {
423441
// Run non-silent validate one more time to log final cluster state
424442
// and return original timeout error.
425-
kops.ValidateCluster(kopsMetadata.Name, false)
443+
if validateErr := kops.ValidateCluster(kopsMetadata.Name, false); validateErr != nil {
444+
log.WithError(validateErr).Error("failed to validate kops cluster")
445+
}
426446
return err
427447
}
428448

@@ -433,8 +453,11 @@ func (provisioner *KopsProvisioner) CreateCluster(cluster *model.Cluster) error
433453
return err
434454
}
435455

436-
defer gitClient.Close(argocdRepoTempDir, provisioner.logger)
437-
456+
defer func() {
457+
if err := gitClient.Close(argocdRepoTempDir, provisioner.logger); err != nil {
458+
log.WithError(err).Error("failed to close git client")
459+
}
460+
}()
438461
ugh, err := utility.NewUtilityGroupHandle(provisioner.params.AllowCIDRRangeList, kops.GetKubeConfigPath(), argocdRepoTempDir, cluster, provisioner.awsClient, gitClient, argocdClient, logger)
439462
if err != nil {
440463
return err
@@ -480,7 +503,11 @@ func (provisioner *KopsProvisioner) ProvisionCluster(cluster *model.Cluster) err
480503
return err
481504
}
482505

483-
defer gitClient.Close(argocdRepoTempDir, provisioner.logger)
506+
defer func() {
507+
if err := gitClient.Close(argocdRepoTempDir, provisioner.logger); err != nil {
508+
log.WithError(err).Error("failed to close git client")
509+
}
510+
}()
484511

485512
logger.Info("Provisioning cluster")
486513
kopsClient, err := provisioner.getCachedKopsClient(cluster.ProvisionerMetadataKops.Name, logger)
@@ -518,7 +545,11 @@ func (provisioner *KopsProvisioner) UpgradeCluster(cluster *model.Cluster) error
518545
if err != nil {
519546
return errors.Wrap(err, "failed to create kops wrapper")
520547
}
521-
defer kops.Close()
548+
defer func() {
549+
if err := kops.Close(); err != nil {
550+
log.WithError(err).Error("failed to close kops client")
551+
}
552+
}()
522553

523554
switch kopsMetadata.ChangeRequest.Version {
524555
case "":
@@ -586,7 +617,11 @@ func (provisioner *KopsProvisioner) UpgradeCluster(cluster *model.Cluster) error
586617
if err != nil {
587618
return err
588619
}
589-
defer terraformClient.Close()
620+
defer func() {
621+
if err := terraformClient.Close(); err != nil {
622+
log.WithError(err).Error("failed to close terraform client")
623+
}
624+
}()
590625

591626
err = terraformClient.Init(kopsMetadata.Name)
592627
if err != nil {
@@ -637,7 +672,9 @@ func (provisioner *KopsProvisioner) UpgradeCluster(cluster *model.Cluster) error
637672
if err != nil {
638673
// Run non-silent validate one more time to log final cluster state
639674
// and return original timeout error.
640-
kops.ValidateCluster(kopsMetadata.Name, false)
675+
if validateErr := kops.ValidateCluster(kopsMetadata.Name, false); validateErr != nil {
676+
log.WithError(validateErr).Error("failed to validate kops cluster")
677+
}
641678
return err
642679
}
643680
}
@@ -707,7 +744,11 @@ func (provisioner *KopsProvisioner) ResizeCluster(cluster *model.Cluster) error
707744
if err != nil {
708745
return errors.Wrap(err, "failed to create kops wrapper")
709746
}
710-
defer kops.Close()
747+
defer func() {
748+
if err := kops.Close(); err != nil {
749+
log.WithError(err).Error("failed to close kops client")
750+
}
751+
}()
711752

712753
err = kops.UpdateCluster(kopsMetadata.Name, kops.GetOutputDirectory())
713754
if err != nil {
@@ -723,8 +764,11 @@ func (provisioner *KopsProvisioner) ResizeCluster(cluster *model.Cluster) error
723764
if err != nil {
724765
return err
725766
}
726-
defer terraformClient.Close()
727-
767+
defer func() {
768+
if err := terraformClient.Close(); err != nil {
769+
log.WithError(err).Error("failed to close terraform client")
770+
}
771+
}()
728772
err = terraformClient.Init(kopsMetadata.Name)
729773
if err != nil {
730774
return err
@@ -815,7 +859,9 @@ func (provisioner *KopsProvisioner) ResizeCluster(cluster *model.Cluster) error
815859
if err != nil {
816860
// Run non-silent validate one more time to log final cluster state
817861
// and return original timeout error.
818-
kops.ValidateCluster(kopsMetadata.Name, false)
862+
if validateErr := kops.ValidateCluster(kopsMetadata.Name, false); validateErr != nil {
863+
log.WithError(validateErr).Error("failed to validate kops cluster")
864+
}
819865
return err
820866
}
821867
}
@@ -834,7 +880,11 @@ func (provisioner *KopsProvisioner) DeleteCluster(cluster *model.Cluster) (bool,
834880
return false, errors.Wrap(err, "failed to prepare argocd repo")
835881
}
836882

837-
defer gitClient.Close(argocdRepoTempDir, provisioner.logger)
883+
defer func() {
884+
if err := gitClient.Close(argocdRepoTempDir, provisioner.logger); err != nil {
885+
log.WithError(err).Error("failed to close git client")
886+
}
887+
}()
838888

839889
kopsMetadata := cluster.ProvisionerMetadataKops
840890

@@ -858,7 +908,10 @@ func (provisioner *KopsProvisioner) DeleteCluster(cluster *model.Cluster) (bool,
858908
return false, errors.Wrap(err, "failed to release cluster VPC")
859909
}
860910

861-
provisioner.invalidateCachedKopsClient(kopsMetadata.Name, logger)
911+
err = provisioner.invalidateCachedKopsClient(kopsMetadata.Name, logger)
912+
if err != nil {
913+
logger.WithError(err).Errorf("failed to invalidate cached kops client for %s", kopsMetadata.Name)
914+
}
862915

863916
logger.Info("Successfully deleted Kops cluster")
864917

@@ -938,8 +991,11 @@ func (provisioner *KopsProvisioner) cleanupCluster(cluster *model.Cluster, tempD
938991
if err != nil {
939992
return errors.Wrap(err, "failed to create terraform wrapper")
940993
}
941-
defer terraformClient.Close()
942-
994+
defer func() {
995+
if err := terraformClient.Close(); err != nil {
996+
log.WithError(err).Error("failed to close terraform client")
997+
}
998+
}()
943999
err = terraformClient.Init(kopsMetadata.Name)
9441000
if err != nil {
9451001
return errors.Wrap(err, "failed to init terraform")

0 commit comments

Comments
 (0)