diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 8ebf097..c9335bd 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -19,9 +19,9 @@ jobs: go-version: '1.21.2' - name: golangci-lint - uses: golangci/golangci-lint-action@v6 + uses: golangci/golangci-lint-action@v7 with: - version: v1.58 + version: v2.0 container: name: Containerfile diff --git a/Makefile b/Makefile index 30d153e..ef5e20d 100644 --- a/Makefile +++ b/Makefile @@ -41,9 +41,9 @@ lint: dependencies ## Loads all the dependencies to vendor directory .PHONY: dependencies dependencies: - go install golang.org/x/tools/cmd/goimports@v0.20.0 - go install mvdan.cc/gofumpt@v0.6.0 - go install github.com/daixiang0/gci@v0.13.4 - go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.58.1 + go install golang.org/x/tools/cmd/goimports@v0.31 + go install mvdan.cc/gofumpt@v0.7 + go install github.com/daixiang0/gci@v0.13 + go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2 go mod vendor go mod tidy diff --git a/bs/fs_linux.go b/bs/fs_linux.go index bd43410..6761e3e 100644 --- a/bs/fs_linux.go +++ b/bs/fs_linux.go @@ -78,7 +78,14 @@ func virtioBlkDeviceCheck(pseudoFsDevPath string) bool { ) return false } - defer file.Close() + defer func() { + if err := file.Close(); err != nil { + slog.Error( + "Error closing file.", + slog.String("error", err.Error()), + ) + } + }() devtype := "None" scanner := bufio.NewScanner(file) @@ -117,7 +124,14 @@ func virtioBlkDeviceUuid(blockDev string) (uuid.UUID, error) { ) panic("virtioBlkDeviceUuid") } - defer file.Close() + defer func() { + if err := file.Close(); err != nil { + slog.Error( + "Error closing file.", + slog.String("error", err.Error()), + ) + } + }() scanner := bufio.NewScanner(file) for scanner.Scan() { @@ -194,7 +208,14 @@ func scsiDeviceCheck(pseudoFsDevPath string) bool { ) return false } - defer file.Close() + defer func() { + if err := file.Close(); err != nil { + slog.Error( + "Error closing file.", + slog.String("error", err.Error()), + ) + } + }() devtype := "None" scanner := bufio.NewScanner(file) @@ -233,7 +254,14 @@ func scsiDeviceUuid(blockDev string) (uuid.UUID, error) { ) panic("scsiDeviceUuid") } - defer file.Close() + defer func() { + if err := file.Close(); err != nil { + slog.Error( + "Error closing file.", + slog.String("error", err.Error()), + ) + } + }() scanner := bufio.NewScanner(file) for scanner.Scan() { diff --git a/cmd/koherence/check/bs.go b/cmd/koherence/check/bs.go index f673150..d072d7c 100644 --- a/cmd/koherence/check/bs.go +++ b/cmd/koherence/check/bs.go @@ -163,7 +163,9 @@ func bsCheckerCommand(clicontext *cli.Context) error { b, err := BsMerge(machineInfos, bsFs, bsProvider) if b != nil { - fmt.Fprintln(os.Stdout, string(b)) + if _, err := fmt.Fprintln(os.Stdout, string(b)); err != nil { + slog.Error("failed to write to stdout", "err", err) + } } return err diff --git a/cmd/koherence/debug/bs.go b/cmd/koherence/debug/bs.go index 030626b..9d8491f 100644 --- a/cmd/koherence/debug/bs.go +++ b/cmd/koherence/debug/bs.go @@ -33,7 +33,9 @@ func debugBs(clicontext *cli.Context) error { return err } - fmt.Fprintln(os.Stdout, string(b)) + if _, err := fmt.Fprintln(os.Stdout, string(b)); err != nil { + slog.Error("failed to write to stdout", "err", err) + } return nil } diff --git a/cmd/koherence/debug/machine.go b/cmd/koherence/debug/machine.go index d298050..36632cf 100644 --- a/cmd/koherence/debug/machine.go +++ b/cmd/koherence/debug/machine.go @@ -52,7 +52,9 @@ func debugMachine(clicontext *cli.Context) error { return err } - fmt.Fprintln(os.Stdout, string(b)) + if _, err := fmt.Fprintln(os.Stdout, string(b)); err != nil { + slog.Error("failed to write to stdout", "err", err) + } return nil } diff --git a/cmd/koherence/debug/openstack.go b/cmd/koherence/debug/openstack.go index ee9ee79..c6110e0 100644 --- a/cmd/koherence/debug/openstack.go +++ b/cmd/koherence/debug/openstack.go @@ -34,7 +34,9 @@ func debugOpenstack(clicontext *cli.Context) error { return err } - fmt.Fprintln(os.Stdout, string(b)) + if _, err := fmt.Fprintln(os.Stdout, string(b)); err != nil { + slog.Error("failed to write to stdout", "err", err) + } return nil } diff --git a/cmd/koherence/serve.go b/cmd/koherence/serve.go index 6277192..f751649 100644 --- a/cmd/koherence/serve.go +++ b/cmd/koherence/serve.go @@ -20,7 +20,9 @@ var serveCommand = cli.Command{ func pingHandler(w http.ResponseWriter, req *http.Request) { w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, "pong") + if _, err := fmt.Fprintln(w, "pong"); err != nil { + slog.Error("failed to write to http.ResponseWriter", "err", err) + } } func debugBsHandler(w http.ResponseWriter, req *http.Request) { @@ -42,7 +44,9 @@ func debugBsHandler(w http.ResponseWriter, req *http.Request) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, string(b)) + if _, err := fmt.Fprintln(w, string(b)); err != nil { + slog.Error("failed to write to http.ResponseWriter", "err", err) + } } func debugMachineFsHandler(w http.ResponseWriter, req *http.Request) { @@ -63,7 +67,9 @@ func debugMachineFsHandler(w http.ResponseWriter, req *http.Request) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, string(b)) + if _, err := fmt.Fprintln(w, string(b)); err != nil { + slog.Error("failed to write to http.ResponseWriter", "err", err) + } } func debugMachineOpenstackHandler(w http.ResponseWriter, req *http.Request) { @@ -84,7 +90,9 @@ func debugMachineOpenstackHandler(w http.ResponseWriter, req *http.Request) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, string(b)) + if _, err := fmt.Fprintln(w, string(b)); err != nil { + slog.Error("failed to write to http.ResponseWriter", "err", err) + } } func debugOpenstackHandler(w http.ResponseWriter, req *http.Request) { @@ -108,7 +116,9 @@ func debugOpenstackHandler(w http.ResponseWriter, req *http.Request) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, string(b)) + if _, err := fmt.Fprintln(w, string(b)); err != nil { + slog.Error("failed to write to http.ResponseWriter", "err", err) + } } func checkBsHandler(w http.ResponseWriter, req *http.Request) { @@ -132,7 +142,9 @@ func checkBsHandler(w http.ResponseWriter, req *http.Request) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, string(b)) + if _, err := fmt.Fprintln(w, string(b)); err != nil { + slog.Error("failed to write to http.ResponseWriter", "err", err) + } } func checkMachineHandler(w http.ResponseWriter, req *http.Request) { @@ -167,7 +179,9 @@ func checkOpenstackMultiattachHandler(w http.ResponseWriter, req *http.Request) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, string(b)) + if _, err := fmt.Fprintln(w, string(b)); err != nil { + slog.Error("failed to write to http.ResponseWriter", "err", err) + } } func serveAllCommand(clicontext *cli.Context) error { diff --git a/machine/openstack_linklocal.go b/machine/openstack_linklocal.go index 633b50e..f70828d 100644 --- a/machine/openstack_linklocal.go +++ b/machine/openstack_linklocal.go @@ -72,7 +72,14 @@ func fetchMetadataJson() (*openstackMetadata, error) { ) return nil, err } - defer resp.Body.Close() + defer func() { + if err := resp.Body.Close(); err != nil { + slog.Error( + "Error closing http response", + slog.String("error", err.Error()), + ) + } + }() if err = json.NewDecoder(resp.Body).Decode(&metadatas); err != nil { slog.Error(