From 2fb97cfdfdf699b5c3fffcbaf594a8a955dff83f Mon Sep 17 00:00:00 2001 From: Lugossy Zoltan Date: Thu, 12 Dec 2024 13:24:42 +0100 Subject: [PATCH] Update golangci-lint to support go version 1.23 Some linters got inactivated leading to an error when running the linter. Thus, they are now removed from the config file's enable list. --- .golangci.yml | 3 --- Makefile | 2 +- api/v1/webhook_suite_test.go | 2 +- cmd/frontend/internal/bird/bird.go | 4 +++- cmd/frontend/internal/bird/configure.go | 4 +++- cmd/frontend/main.go | 8 ++++++-- cmd/ipam/main.go | 4 +++- cmd/operator/main.go | 6 ++++-- cmd/proxy/main.go | 16 ++++++++++++---- cmd/stateless-lb/main.go | 8 ++++++-- cmd/tapa/main.go | 4 +++- pkg/health/probe/probe.go | 4 +++- pkg/ipam/storage/sqlite/sqlite_test.go | 12 +++++++++--- pkg/nsm/client.go | 2 +- pkg/nsp/registry/sqlite/sqlite.go | 2 +- pkg/nsp/registry/sqlite/sqlite_test.go | 6 +++--- 16 files changed, 59 insertions(+), 28 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 3584c77a..e1ae7792 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -4,13 +4,10 @@ run: linters: disable-all: true enable: - - deadcode - errcheck - gosimple - govet - ineffassign - staticcheck - - structcheck - typecheck - unused - - varcheck diff --git a/Makefile b/Makefile index bf173127..da4d6d3a 100644 --- a/Makefile +++ b/Makefile @@ -273,7 +273,7 @@ output-dir: .PHONY: golangci-lint golangci-lint: - $(call go-get-tool,$(GOLANGCI_LINT),github.com/golangci/golangci-lint/cmd/golangci-lint@v1.56.2) + $(call go-get-tool,$(GOLANGCI_LINT),github.com/golangci/golangci-lint/cmd/golangci-lint@v1.62.2) .PHONY: proto-compiler proto-compiler: protoc protoc-gen-go protoc-gen-go-grpc diff --git a/api/v1/webhook_suite_test.go b/api/v1/webhook_suite_test.go index 14d3d56b..ab7ee16a 100644 --- a/api/v1/webhook_suite_test.go +++ b/api/v1/webhook_suite_test.go @@ -134,7 +134,7 @@ var _ = BeforeSuite(func() { if err != nil { return err } - conn.Close() + _ = conn.Close() return nil }).Should(Succeed()) diff --git a/cmd/frontend/internal/bird/bird.go b/cmd/frontend/internal/bird/bird.go index 876553a7..5f3e4a7d 100644 --- a/cmd/frontend/internal/bird/bird.go +++ b/cmd/frontend/internal/bird/bird.go @@ -124,7 +124,9 @@ func (b *RoutingService) Run(ctx context.Context, monitorLogs bool) error { return } // when context is done, close File thus signalling EOF to bufio Scan() - defer w.Close() + defer func() { + _ = w.Close() + }() <-ctx.Done() b.logger.Info("Context closed, terminate log monitoring") }() diff --git a/cmd/frontend/internal/bird/configure.go b/cmd/frontend/internal/bird/configure.go index 6cf2cea5..f0295fa4 100644 --- a/cmd/frontend/internal/bird/configure.go +++ b/cmd/frontend/internal/bird/configure.go @@ -51,7 +51,9 @@ func (r *routingConfig) Apply() error { if err != nil { return fmt.Errorf("create %v, err: %v", r.path, err) } - defer file.Close() + defer func() { + _ = file.Close() + }() _, err = file.WriteString(r.config) if err != nil { diff --git a/cmd/frontend/main.go b/cmd/frontend/main.go index 88b15522..76d88094 100644 --- a/cmd/frontend/main.go +++ b/cmd/frontend/main.go @@ -113,7 +113,9 @@ func main() { if err != nil { log.Fatal(logger, "Dial NSP", "error", err) } - defer conn.Close() + defer func() { + _ = conn.Close() + }() // monitor status of NSP connection and adjust probe status accordingly if err := connection.Monitor(ctx, health.NSPCliSvc, conn); err != nil { @@ -131,7 +133,9 @@ func main() { if err != nil { log.Fatal(logger, "Dial loadbalancer", "error", err) } - defer lbConn.Close() + defer func() { + _ = lbConn.Close() + }() // create and start frontend service c := &feConfig.Config{ diff --git a/cmd/ipam/main.go b/cmd/ipam/main.go index f100b58d..7c2020f4 100644 --- a/cmd/ipam/main.go +++ b/cmd/ipam/main.go @@ -137,7 +137,9 @@ func main() { if err != nil { log.Fatal(logger, "Dial NSP err", "error", err) } - defer conn.Close() + defer func() { + _ = conn.Close() + }() // monitor status of NSP connection and adjust probe status accordingly if err := connection.Monitor(ctx, health.NSPCliSvc, conn); err != nil { diff --git a/cmd/operator/main.go b/cmd/operator/main.go index 172f7880..360d3906 100644 --- a/cmd/operator/main.go +++ b/cmd/operator/main.go @@ -87,7 +87,9 @@ func setupTLSCert(socket string) error { certDir := "/tmp/k8s-webhook-server/serving-certs" go func() { - defer client.Close() + defer func() { + _ = client.Close() + }() err := client.WatchX509Context(ctx, &x509Watcher{CertDir: certDir}) if err != nil && status.Code(err) != codes.Canceled { log.Fatal(setupLog, "error watching X.509 context", "error", err) @@ -132,7 +134,7 @@ func main() { "Enabling this will ensure there is only one active controller manager.") if os.Getenv(common.LogLevelEnv) == "" { // trace as default value - os.Setenv(common.LogLevelEnv, "trace") + _ = os.Setenv(common.LogLevelEnv, "trace") } ver := flag.Bool("version", false, "Print version and quit") diff --git a/cmd/proxy/main.go b/cmd/proxy/main.go index 3735b3b3..94b59ed3 100644 --- a/cmd/proxy/main.go +++ b/cmd/proxy/main.go @@ -164,7 +164,9 @@ func main() { if err != nil { log.Fatal(logger, "Dialing IPAM", "error", err) } - defer conn.Close() + defer func() { + _ = conn.Close() + }() // monitor status of IPAM connection and adjust probe status accordingly if err := connection.Monitor(signalCtx, health.IPAMCliSvc, conn); err != nil { @@ -193,7 +195,9 @@ func main() { if err != nil { log.Fatal(logger, "Dialing NSP", "error", err) } - defer nspConn.Close() + defer func() { + _ = nspConn.Close() + }() // monitor status of NSP connection and adjust probe status accordingly if err := connection.Monitor(signalCtx, health.NSPCliSvc, nspConn); err != nil { @@ -234,14 +238,18 @@ func main() { cancelSignalCtx() return } - defer cc.Close() + defer func() { + _ = cc.Close() + }() monitorClient := networkservice.NewMonitorConnectionClient(cc) go nsmmonitor.ConnectionMonitor(ctx, config.Name, monitorClient) // create and start NSC that connects all remote NSE belonging to the right service interfaceMonitorClient := interfacemonitor.NewClient(interfaceMonitor, p, netUtils) nsmClient := service.GetNSC(ctx, &config, nsmAPIClient, p, interfaceMonitorClient, monitorClient) - defer nsmClient.Close() + defer func() { + _ = nsmClient.Close() + }() go func() { service.StartNSC(nsmClient, config.NetworkServiceName) cancelSignalCtx() // let others with proper clean-up gracefully terminate diff --git a/cmd/stateless-lb/main.go b/cmd/stateless-lb/main.go index c8f2089a..3b73d661 100644 --- a/cmd/stateless-lb/main.go +++ b/cmd/stateless-lb/main.go @@ -178,7 +178,9 @@ func main() { if err != nil { log.Fatal(logger, "Dial NSP", "error", err) } - defer conn.Close() + defer func() { + _ = conn.Close() + }() // Monitor status of NSP connection and adjust probe status accordingly if err := connection.Monitor(ctx, health.NSPCliSvc, conn); err != nil { @@ -329,7 +331,9 @@ func main() { cancel() return } - defer cc.Close() + defer func() { + _ = cc.Close() + }() // Start monitoring NSM connections the LB is part of monitorClient := networkservice.NewMonitorConnectionClient(cc) go nsmmonitor.ConnectionMonitor(ctx, config.Name, monitorClient) diff --git a/cmd/tapa/main.go b/cmd/tapa/main.go index 555233ef..45aab573 100644 --- a/cmd/tapa/main.go +++ b/cmd/tapa/main.go @@ -170,7 +170,9 @@ func main() { if err != nil { log.Fatal(logger, "dial to NSMgr", "error", err) } - defer cc.Close() + defer func() { + _ = cc.Close() + }() monitorClient := networkservice.NewMonitorConnectionClient(cc) if err := os.RemoveAll(config.Socket); err != nil { diff --git a/pkg/health/probe/probe.go b/pkg/health/probe/probe.go index 748c517e..eb081bb4 100644 --- a/pkg/health/probe/probe.go +++ b/pkg/health/probe/probe.go @@ -118,7 +118,9 @@ func (hp *HealthProbe) Request(ctx context.Context) error { if err != nil { return fmt.Errorf("failed to connect service %q, %w", hp.addr, err) } - defer conn.Close() + defer func() { + _ = conn.Close() + }() rpcCtx, rpcCancel := context.WithTimeout(ctx, hp.rpcTimeout) defer rpcCancel() diff --git a/pkg/ipam/storage/sqlite/sqlite_test.go b/pkg/ipam/storage/sqlite/sqlite_test.go index 9fee1f28..30057fbd 100644 --- a/pkg/ipam/storage/sqlite/sqlite_test.go +++ b/pkg/ipam/storage/sqlite/sqlite_test.go @@ -30,7 +30,9 @@ const dbFileName = "test.db" func Test_Add_Get(t *testing.T) { _ = os.Remove(dbFileName) - defer os.Remove(dbFileName) + defer func() { + _ = os.Remove(dbFileName) + }() store, err := sqlite.New(dbFileName) assert.Nil(t, err) @@ -74,7 +76,9 @@ func Test_Add_Get(t *testing.T) { func Test_GetChilds(t *testing.T) { _ = os.Remove(dbFileName) - defer os.Remove(dbFileName) + defer func() { + _ = os.Remove(dbFileName) + }() store, err := sqlite.New(dbFileName) assert.Nil(t, err) @@ -106,7 +110,9 @@ func Test_GetChilds(t *testing.T) { func Test_Delete(t *testing.T) { _ = os.Remove(dbFileName) - defer os.Remove(dbFileName) + defer func() { + _ = os.Remove(dbFileName) + }() store, err := sqlite.New(dbFileName) assert.Nil(t, err) diff --git a/pkg/nsm/client.go b/pkg/nsm/client.go index eb6b5957..be105629 100644 --- a/pkg/nsm/client.go +++ b/pkg/nsm/client.go @@ -172,7 +172,7 @@ func (apiClient *APIClient) Delete() { apiClient.cancel() } if apiClient.GRPCClient != nil { - apiClient.GRPCClient.Close() + _ = apiClient.GRPCClient.Close() } } diff --git a/pkg/nsp/registry/sqlite/sqlite.go b/pkg/nsp/registry/sqlite/sqlite.go index 9f8e7f45..a745d021 100644 --- a/pkg/nsp/registry/sqlite/sqlite.go +++ b/pkg/nsp/registry/sqlite/sqlite.go @@ -60,7 +60,7 @@ func (trsql *TargetRegistrySQLite) Close() error { if err != nil { return fmt.Errorf("failed to close db connection: %w", err) } - sqlDB.Close() + _ = sqlDB.Close() return nil } diff --git a/pkg/nsp/registry/sqlite/sqlite_test.go b/pkg/nsp/registry/sqlite/sqlite_test.go index 665ba9d6..270437af 100644 --- a/pkg/nsp/registry/sqlite/sqlite_test.go +++ b/pkg/nsp/registry/sqlite/sqlite_test.go @@ -31,12 +31,12 @@ func TestTargetRegistrySQLite_Set(t *testing.T) { t.Cleanup(func() { goleak.VerifyNone(t) }) dbFile := "test.db" - os.Remove(dbFile) + _ = os.Remove(dbFile) db, err := sqlite.New(dbFile) assert.Nil(t, err) defer func() { - db.Close() - os.Remove(dbFile) + _ = db.Close() + _ = os.Remove(dbFile) }() ctx := context.Background()