diff --git a/.golangci.yml b/.golangci.yml index 78de01cd36..2d41e08e04 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,21 +1,60 @@ +version: "2" + run: tests: false timeout: 10m linters: - disable-all: true + default: none enable: - misspell - - gofmt - - goimports - ineffassign - revive - unconvert - unused - govet + settings: + govet: + enable: + - nilness + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + rules: + - linters: + - revive + text: stutters + - linters: + - revive + text: empty-block + - linters: + - revive + text: superfluous-else + - linters: + - revive + text: unused-parameter + - linters: + - revive + text: redefines-builtin-id + - linters: + - revive + text: if-return + paths: + - .*\.pb\.go$ + +formatters: + enable: + - gofmt + - goimports + exclusions: + generated: lax + paths: + - .*\.pb\.go$ issues: - exclude-files: - - ".*\\.pb\\.go$" max-issues-per-linter: 0 max-same-issues: 0 diff --git a/Dockerfile b/Dockerfile index 88a4550e6e..830c88be55 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ # syntax=docker/dockerfile:1 -ARG GO_VERSION=1.21 +ARG GO_VERSION=1.24 ARG PROTOC_VERSION=3.11.4 -ARG GOLANGCI_LINT_VERSION=v1.57.2 +ARG GOLANGCI_LINT_VERSION=v2.1.5 ARG DEBIAN_FRONTEND=noninteractive FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-bullseye AS gobase diff --git a/ca/server.go b/ca/server.go index 7a1c795471..9ae1de5156 100644 --- a/ca/server.go +++ b/ca/server.go @@ -147,7 +147,7 @@ func (s *Server) GetUnlockKey(_ context.Context, _ *api.GetUnlockKeyRequest) (*a // NodeCertificateStatus returns the current issuance status of an issuance request identified by the nodeID func (s *Server) NodeCertificateStatus(ctx context.Context, request *api.NodeCertificateStatusRequest) (*api.NodeCertificateStatusResponse, error) { if request.NodeID == "" { - return nil, status.Errorf(codes.InvalidArgument, codes.InvalidArgument.String()) + return nil, status.Error(codes.InvalidArgument, codes.InvalidArgument.String()) } serverCtx, err := s.isRunningLocked() @@ -178,7 +178,7 @@ func (s *Server) NodeCertificateStatus(ctx context.Context, request *api.NodeCer // This node ID doesn't exist if node == nil { - return nil, status.Errorf(codes.NotFound, codes.NotFound.String()) + return nil, status.Error(codes.NotFound, codes.NotFound.String()) } log.G(ctx).WithFields(log.Fields{ @@ -234,7 +234,7 @@ func (s *Server) NodeCertificateStatus(ctx context.Context, request *api.NodeCer func (s *Server) IssueNodeCertificate(ctx context.Context, request *api.IssueNodeCertificateRequest) (*api.IssueNodeCertificateResponse, error) { // First, let's see if the remote node is presenting a non-empty CSR if len(request.CSR) == 0 { - return nil, status.Errorf(codes.InvalidArgument, codes.InvalidArgument.String()) + return nil, status.Error(codes.InvalidArgument, codes.InvalidArgument.String()) } if err := s.isReadyLocked(); err != nil { diff --git a/direct.mk b/direct.mk index a130f80751..4d819b8de3 100644 --- a/direct.mk +++ b/direct.mk @@ -42,7 +42,7 @@ version/version.go: setup: ## install dependencies @echo "🐳 $@" # install golangci-lint to ./bin/golangci-lint - @curl -fsSL https://raw.githubusercontent.com/golangci/golangci-lint/v1.57.2/install.sh | sh -s v1.57.2 + @curl -fsSL https://raw.githubusercontent.com/golangci/golangci-lint/v2.1.5/install.sh | sh -s v2.1.5 @(cd ./tools ; GO111MODULE=on go install github.com/containerd/protobuild) .PHONY: generate diff --git a/go.mod b/go.mod index 5622e34560..a698d04744 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/moby/swarmkit/v2 -go 1.21.0 +go 1.23.0 require ( code.cloudfoundry.org/clock v1.1.0 diff --git a/manager/allocator/allocator_test_suite.go b/manager/allocator/allocator_test_suite.go index 13212f1066..c4cffa2d62 100644 --- a/manager/allocator/allocator_test_suite.go +++ b/manager/allocator/allocator_test_suite.go @@ -2083,24 +2083,21 @@ func watchNode(t *testing.T, watch chan events.Event, expectTimeout bool, case event := <-watch: if n, ok := event.(api.EventUpdateNode); ok { node = n.Node.Copy() - if fn == nil || (fn != nil && fn(mockTester{}, originalNode, node, networks)) { + if fn == nil || fn(mockTester{}, originalNode, node, networks) { return } } if n, ok := event.(api.EventDeleteNode); ok { node = n.Node.Copy() - if fn == nil || (fn != nil && fn(mockTester{}, originalNode, node, networks)) { + if fn == nil || fn(mockTester{}, originalNode, node, networks) { return } } case <-time.After(getWatchTimeout(expectTimeout)): if !expectTimeout { - if node != nil && fn != nil { - fn(t, originalNode, node, networks) - } - + fn(t, originalNode, node, networks) t.Fatal("timed out before watchNode found expected node state", string(debug.Stack())) } @@ -2116,24 +2113,21 @@ func watchNetwork(t *testing.T, watch chan events.Event, expectTimeout bool, fn case event := <-watch: if n, ok := event.(api.EventUpdateNetwork); ok { network = n.Network.Copy() - if fn == nil || (fn != nil && fn(mockTester{}, network)) { + if fn == nil || fn(mockTester{}, network) { return } } if n, ok := event.(api.EventDeleteNetwork); ok { network = n.Network.Copy() - if fn == nil || (fn != nil && fn(mockTester{}, network)) { + if fn == nil || fn(mockTester{}, network) { return } } case <-time.After(getWatchTimeout(expectTimeout)): if !expectTimeout { - if network != nil && fn != nil { - fn(t, network) - } - + fn(t, network) t.Fatal("timed out before watchNetwork found expected network state", string(debug.Stack())) } @@ -2149,24 +2143,21 @@ func watchService(t *testing.T, watch chan events.Event, expectTimeout bool, fn case event := <-watch: if s, ok := event.(api.EventUpdateService); ok { service = s.Service.Copy() - if fn == nil || (fn != nil && fn(mockTester{}, service)) { + if fn == nil || fn(mockTester{}, service) { return } } if s, ok := event.(api.EventDeleteService); ok { service = s.Service.Copy() - if fn == nil || (fn != nil && fn(mockTester{}, service)) { + if fn == nil || fn(mockTester{}, service) { return } } case <-time.After(getWatchTimeout(expectTimeout)): if !expectTimeout { - if service != nil && fn != nil { - fn(t, service) - } - + fn(t, service) t.Fatalf("timed out before watchService found expected service state\n stack = %s", string(debug.Stack())) } @@ -2182,24 +2173,21 @@ func watchTask(t *testing.T, s *store.MemoryStore, watch chan events.Event, expe case event := <-watch: if t, ok := event.(api.EventUpdateTask); ok { task = t.Task.Copy() - if fn == nil || (fn != nil && fn(mockTester{}, s, task)) { + if fn == nil || fn(mockTester{}, s, task) { return } } if t, ok := event.(api.EventDeleteTask); ok { task = t.Task.Copy() - if fn == nil || (fn != nil && fn(mockTester{}, s, task)) { + if fn == nil || fn(mockTester{}, s, task) { return } } case <-time.After(getWatchTimeout(expectTimeout)): if !expectTimeout { - if task != nil && fn != nil { - fn(t, s, task) - } - + fn(t, s, task) t.Fatalf("timed out before watchTask found expected task state %s", debug.Stack()) } diff --git a/manager/controlapi/ca_rotation.go b/manager/controlapi/ca_rotation.go index 74c66789a0..7a2a4980ec 100644 --- a/manager/controlapi/ca_rotation.go +++ b/manager/controlapi/ca_rotation.go @@ -241,7 +241,7 @@ func validateCAConfig(ctx context.Context, securityConfig *ca.SecurityConfig, cl if cluster.RootCA.LastForcedRotation != newConfig.ForceRotate { newRootCA, err := ca.CreateRootCA(ca.DefaultRootCN) if err != nil { - return nil, status.Errorf(codes.Internal, err.Error()) + return nil, status.Error(codes.Internal, err.Error()) } return newRootRotationObject(ctx, securityConfig, &cluster.RootCA, newRootCA, oldCertExtCAs, newConfig.ForceRotate) } @@ -265,7 +265,7 @@ func validateCAConfig(ctx context.Context, securityConfig *ca.SecurityConfig, cl } newRootCA, err := ca.NewRootCA(newConfig.SigningCACert, signingCert, newConfig.SigningCAKey, ca.DefaultNodeCertExpiration, nil) if err != nil { - return nil, status.Errorf(codes.InvalidArgument, err.Error()) + return nil, status.Error(codes.InvalidArgument, err.Error()) } if len(newRootCA.Pool.Subjects()) != 1 { diff --git a/manager/controlapi/cluster.go b/manager/controlapi/cluster.go index 638da7584c..f2f32ee107 100644 --- a/manager/controlapi/cluster.go +++ b/manager/controlapi/cluster.go @@ -32,14 +32,14 @@ var ( func validateClusterSpec(spec *api.ClusterSpec) error { if spec == nil { - return status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } // Validate that expiry time being provided is valid, and over our minimum if spec.CAConfig.NodeCertExpiry != nil { expiry, err := gogotypes.DurationFromProto(spec.CAConfig.NodeCertExpiry) if err != nil { - return status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } if expiry < ca.MinNodeCertExpiration { return status.Errorf(codes.InvalidArgument, "minimum certificate expiry time is: %s", ca.MinNodeCertExpiration) @@ -60,7 +60,7 @@ func validateClusterSpec(spec *api.ClusterSpec) error { if spec.Dispatcher.HeartbeatPeriod != nil { heartbeatPeriod, err := gogotypes.DurationFromProto(spec.Dispatcher.HeartbeatPeriod) if err != nil { - return status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } if heartbeatPeriod < 0 { return status.Errorf(codes.InvalidArgument, "heartbeat time period cannot be a negative duration") @@ -79,7 +79,7 @@ func validateClusterSpec(spec *api.ClusterSpec) error { // - Returns `NotFound` if the Cluster is not found. func (s *Server) GetCluster(_ context.Context, request *api.GetClusterRequest) (*api.GetClusterResponse, error) { if request.ClusterID == "" { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } var cluster *api.Cluster @@ -105,7 +105,7 @@ func (s *Server) GetCluster(_ context.Context, request *api.GetClusterRequest) ( // - Returns an error if the update fails. func (s *Server) UpdateCluster(ctx context.Context, request *api.UpdateClusterRequest) (*api.UpdateClusterResponse, error) { if request.ClusterID == "" || request.ClusterVersion == nil { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } if err := validateClusterSpec(request.Spec); err != nil { return nil, err diff --git a/manager/controlapi/config.go b/manager/controlapi/config.go index 8e914c2e93..6bb2f80ff6 100644 --- a/manager/controlapi/config.go +++ b/manager/controlapi/config.go @@ -52,7 +52,7 @@ func (s *Server) GetConfig(_ context.Context, request *api.GetConfigRequest) (*a // - Returns an error if the update fails. func (s *Server) UpdateConfig(ctx context.Context, request *api.UpdateConfigRequest) (*api.UpdateConfigResponse, error) { if request.ConfigID == "" || request.ConfigVersion == nil { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } var config *api.Config @@ -234,7 +234,7 @@ func (s *Server) RemoveConfig(ctx context.Context, request *api.RemoveConfigRequ func validateConfigSpec(spec *api.ConfigSpec) error { if spec == nil { - return status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } if err := validateConfigOrSecretAnnotations(spec.Annotations); err != nil { return err diff --git a/manager/controlapi/network.go b/manager/controlapi/network.go index 8007ee0e3f..ce485aea2a 100644 --- a/manager/controlapi/network.go +++ b/manager/controlapi/network.go @@ -70,7 +70,7 @@ func (s *Server) validateIPAM(ipam *api.IPAMOptions) error { func (s *Server) validateNetworkSpec(spec *api.NetworkSpec) error { if spec == nil { - return status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } if spec.Attachable && spec.Ingress { @@ -138,7 +138,7 @@ func (s *Server) CreateNetwork(_ context.Context, request *api.CreateNetworkRequ // - Returns `NotFound` if the Network is not found. func (s *Server) GetNetwork(ctx context.Context, request *api.GetNetworkRequest) (*api.GetNetworkResponse, error) { if request.NetworkID == "" { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } var n *api.Network @@ -162,7 +162,7 @@ func (s *Server) GetNetwork(ctx context.Context, request *api.GetNetworkRequest) // - Returns an error if the deletion fails. func (s *Server) RemoveNetwork(_ context.Context, request *api.RemoveNetworkRequest) (*api.RemoveNetworkResponse, error) { if request.NetworkID == "" { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } var ( diff --git a/manager/controlapi/node.go b/manager/controlapi/node.go index c2344b95d6..036e60329b 100644 --- a/manager/controlapi/node.go +++ b/manager/controlapi/node.go @@ -15,7 +15,7 @@ import ( func validateNodeSpec(spec *api.NodeSpec) error { if spec == nil { - return status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } return nil } @@ -25,7 +25,7 @@ func validateNodeSpec(spec *api.NodeSpec) error { // - Returns `NotFound` if the Node is not found. func (s *Server) GetNode(_ context.Context, request *api.GetNodeRequest) (*api.GetNodeResponse, error) { if request.NodeID == "" { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } var node *api.Node @@ -202,7 +202,7 @@ func (s *Server) ListNodes(_ context.Context, request *api.ListNodesRequest) (*a // - Returns an error if the update fails. func (s *Server) UpdateNode(_ context.Context, request *api.UpdateNodeRequest) (*api.UpdateNodeResponse, error) { if request.NodeID == "" || request.NodeVersion == nil { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } if err := validateNodeSpec(request.Spec); err != nil { return nil, err @@ -293,7 +293,7 @@ func orphanNodeTasks(tx store.Tx, nodeID string) error { // - Returns an error if the delete fails. func (s *Server) RemoveNode(_ context.Context, request *api.RemoveNodeRequest) (*api.RemoveNodeResponse, error) { if request.NodeID == "" { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } err := s.store.Update(func(tx store.Tx) error { diff --git a/manager/controlapi/secret.go b/manager/controlapi/secret.go index a458dcd455..9a1bb0e5f2 100644 --- a/manager/controlapi/secret.go +++ b/manager/controlapi/secret.go @@ -51,7 +51,7 @@ func (s *Server) GetSecret(_ context.Context, request *api.GetSecretRequest) (*a // - Returns an error if the update fails. func (s *Server) UpdateSecret(ctx context.Context, request *api.UpdateSecretRequest) (*api.UpdateSecretResponse, error) { if request.SecretID == "" || request.SecretVersion == nil { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } var secret *api.Secret err := s.store.Update(func(tx store.Tx) error { @@ -242,7 +242,7 @@ func (s *Server) RemoveSecret(ctx context.Context, request *api.RemoveSecretRequ func validateSecretSpec(spec *api.SecretSpec) error { if spec == nil { - return status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } if err := validateConfigOrSecretAnnotations(spec.Annotations); err != nil { return err @@ -256,7 +256,7 @@ func validateSecretSpec(spec *api.SecretSpec) error { return nil } if err := validation.ValidateSecretPayload(spec.Data); err != nil { - return status.Errorf(codes.InvalidArgument, "%s", err.Error()) + return status.Error(codes.InvalidArgument, err.Error()) } return nil } diff --git a/manager/controlapi/service.go b/manager/controlapi/service.go index c6dbd7fae3..013be7dc57 100644 --- a/manager/controlapi/service.go +++ b/manager/controlapi/service.go @@ -147,7 +147,7 @@ func validateContainerSpec(taskSpec api.TaskSpec) error { LogDriver: taskSpec.LogDriver, }) if err != nil { - return status.Errorf(codes.InvalidArgument, err.Error()) + return status.Error(codes.InvalidArgument, err.Error()) } if err := validateImage(container.Image); err != nil { @@ -526,7 +526,7 @@ func validateJob(spec *api.ServiceSpec) error { func validateServiceSpec(spec *api.ServiceSpec) error { if spec == nil { - return status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } if err := validateAnnotations(spec.Annotations); err != nil { return err @@ -789,7 +789,7 @@ func (s *Server) CreateService(_ context.Context, request *api.CreateServiceRequ // - Returns `NotFound` if the Service is not found. func (s *Server) GetService(_ context.Context, request *api.GetServiceRequest) (*api.GetServiceResponse, error) { if request.ServiceID == "" { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } var service *api.Service @@ -816,7 +816,7 @@ func (s *Server) GetService(_ context.Context, request *api.GetServiceRequest) ( // - Returns an error if the update fails. func (s *Server) UpdateService(_ context.Context, request *api.UpdateServiceRequest) (*api.UpdateServiceResponse, error) { if request.ServiceID == "" || request.ServiceVersion == nil { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } if err := validateServiceSpec(request.Spec); err != nil { return nil, err @@ -853,7 +853,7 @@ func (s *Server) UpdateService(_ context.Context, request *api.UpdateServiceRequ if (len(request.Spec.Networks) != 0 || len(service.Spec.Networks) != 0) && !reflect.DeepEqual(request.Spec.Networks, service.Spec.Networks) && reflect.DeepEqual(request.Spec.Task.Networks, service.Spec.Task.Networks) { - return status.Errorf(codes.Unimplemented, errNetworkUpdateNotSupported.Error()) + return status.Error(codes.Unimplemented, errNetworkUpdateNotSupported.Error()) } // Check to see if all the secrets being added exist as objects @@ -872,11 +872,11 @@ func (s *Server) UpdateService(_ context.Context, request *api.UpdateServiceRequ // with service mode change (comparing current config with previous config). // proper way to change service mode is to delete and re-add. if reflect.TypeOf(service.Spec.Mode) != reflect.TypeOf(request.Spec.Mode) { - return status.Errorf(codes.Unimplemented, errModeChangeNotAllowed.Error()) + return status.Error(codes.Unimplemented, errModeChangeNotAllowed.Error()) } if service.Spec.Annotations.Name != request.Spec.Annotations.Name { - return status.Errorf(codes.Unimplemented, errRenameNotSupported.Error()) + return status.Error(codes.Unimplemented, errRenameNotSupported.Error()) } service.Meta.Version = *request.ServiceVersion @@ -942,7 +942,7 @@ func (s *Server) UpdateService(_ context.Context, request *api.UpdateServiceRequ // - Returns an error if the deletion fails. func (s *Server) RemoveService(_ context.Context, request *api.RemoveServiceRequest) (*api.RemoveServiceResponse, error) { if request.ServiceID == "" { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } err := s.store.Update(func(tx store.Tx) error { @@ -1000,7 +1000,7 @@ func (s *Server) ListServices(_ context.Context, request *api.ListServicesReques if err != nil { switch err { case store.ErrInvalidFindBy: - return nil, status.Errorf(codes.InvalidArgument, err.Error()) + return nil, status.Error(codes.InvalidArgument, err.Error()) default: return nil, err } diff --git a/manager/controlapi/task.go b/manager/controlapi/task.go index a0b58053e9..129d41888c 100644 --- a/manager/controlapi/task.go +++ b/manager/controlapi/task.go @@ -16,7 +16,7 @@ import ( // - Returns `NotFound` if the Task is not found. func (s *Server) GetTask(_ context.Context, request *api.GetTaskRequest) (*api.GetTaskResponse, error) { if request.TaskID == "" { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } var task *api.Task @@ -37,7 +37,7 @@ func (s *Server) GetTask(_ context.Context, request *api.GetTaskRequest) (*api.G // - Returns an error if the deletion fails. func (s *Server) RemoveTask(_ context.Context, request *api.RemoveTaskRequest) (*api.RemoveTaskResponse, error) { if request.TaskID == "" { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } err := s.store.Update(func(tx store.Tx) error { diff --git a/manager/dispatcher/nodes.go b/manager/dispatcher/nodes.go index 0f531e9497..7553f50342 100644 --- a/manager/dispatcher/nodes.go +++ b/manager/dispatcher/nodes.go @@ -35,7 +35,7 @@ func (rn *registeredNode) checkSessionID(sessionID string) error { // changed. If it has, we will the stream and make the node // re-register. if sessionID == "" || rn.SessionID != sessionID { - return status.Errorf(codes.InvalidArgument, ErrSessionInvalid.Error()) + return status.Error(codes.InvalidArgument, ErrSessionInvalid.Error()) } return nil @@ -135,7 +135,7 @@ func (s *nodeStore) Get(id string) (*registeredNode, error) { rn, ok := s.nodes[id] s.mu.RUnlock() if !ok { - return nil, status.Errorf(codes.NotFound, ErrNodeNotRegistered.Error()) + return nil, status.Error(codes.NotFound, ErrNodeNotRegistered.Error()) } return rn, nil } @@ -145,7 +145,7 @@ func (s *nodeStore) GetWithSession(id, sid string) (*registeredNode, error) { rn, ok := s.nodes[id] s.mu.RUnlock() if !ok { - return nil, status.Errorf(codes.NotFound, ErrNodeNotRegistered.Error()) + return nil, status.Error(codes.NotFound, ErrNodeNotRegistered.Error()) } return rn, rn.checkSessionID(sid) } diff --git a/manager/drivers/secrets.go b/manager/drivers/secrets.go index 63d6e47c23..8faf88679b 100644 --- a/manager/drivers/secrets.go +++ b/manager/drivers/secrets.go @@ -1,6 +1,7 @@ package drivers import ( + "errors" "fmt" "github.com/moby/swarmkit/v2/api" @@ -80,7 +81,7 @@ func (d *SecretDriver) Get(spec *api.SecretSpec, task *api.Task) ([]byte, bool, return nil, false, err } if secretResp.Err != "" { - return nil, secretResp.DoNotReuse, fmt.Errorf(secretResp.Err) + return nil, secretResp.DoNotReuse, errors.New(secretResp.Err) } // Assign the secret value return secretResp.Value, secretResp.DoNotReuse, nil diff --git a/manager/resourceapi/allocator.go b/manager/resourceapi/allocator.go index b8d876ab7c..fac5dee567 100644 --- a/manager/resourceapi/allocator.go +++ b/manager/resourceapi/allocator.go @@ -98,7 +98,7 @@ func (ra *ResourceAllocator) AttachNetwork(ctx context.Context, request *api.Att // - Returns an error if the deletion fails. func (ra *ResourceAllocator) DetachNetwork(ctx context.Context, request *api.DetachNetworkRequest) (*api.DetachNetworkResponse, error) { if request.AttachmentID == "" { - return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error()) + return nil, status.Error(codes.InvalidArgument, errInvalidArgument.Error()) } nodeInfo, err := ca.RemoteNode(ctx) diff --git a/manager/state/raft/raft.go b/manager/state/raft/raft.go index f65f558e0d..3fd423123d 100644 --- a/manager/state/raft/raft.go +++ b/manager/state/raft/raft.go @@ -948,11 +948,11 @@ func (n *Node) Join(ctx context.Context, req *api.JoinRequest) (*api.JoinRespons defer n.membershipLock.Unlock() if !n.IsMember() { - return nil, status.Errorf(codes.FailedPrecondition, "%s", ErrNoRaftMember.Error()) + return nil, status.Error(codes.FailedPrecondition, ErrNoRaftMember.Error()) } if !n.isLeader() { - return nil, status.Errorf(codes.FailedPrecondition, "%s", ErrLostLeadership.Error()) + return nil, status.Error(codes.FailedPrecondition, ErrLostLeadership.Error()) } remoteAddr := req.Addr @@ -1365,8 +1365,8 @@ func (n *Node) StreamRaftMessage(stream api.Raft_StreamRaftMessageServer) error if recvdMsg.Message.Index != raftMsgIndex { errMsg := fmt.Sprintf("Raft message chunk with index %d is different from the previously received raft message index %d", recvdMsg.Message.Index, raftMsgIndex) - log.G(stream.Context()).Errorf(errMsg) - return status.Errorf(codes.InvalidArgument, "%s", errMsg) + log.G(stream.Context()).Error(errMsg) + return status.Error(codes.InvalidArgument, errMsg) } // Verify that multiple message received on a stream @@ -1374,8 +1374,8 @@ func (n *Node) StreamRaftMessage(stream api.Raft_StreamRaftMessageServer) error if recvdMsg.Message.Type != raftpb.MsgSnap { errMsg := fmt.Sprintf("Raft message chunk is not of type %d", raftpb.MsgSnap) - log.G(stream.Context()).Errorf(errMsg) - return status.Errorf(codes.InvalidArgument, "%s", errMsg) + log.G(stream.Context()).Error(errMsg) + return status.Error(codes.InvalidArgument, errMsg) } // Append the received snapshot data. @@ -1408,7 +1408,7 @@ func (n *Node) ProcessRaftMessage(ctx context.Context, msg *api.ProcessRaftMessa // a node in the remove set if n.cluster.IsIDRemoved(msg.Message.From) { n.processRaftMessageLogger(ctx, msg).Debug("received message from removed member") - return nil, status.Errorf(codes.NotFound, "%s", membership.ErrMemberRemoved.Error()) + return nil, status.Error(codes.NotFound, membership.ErrMemberRemoved.Error()) } ctx, cancel := n.WithContext(ctx) diff --git a/manager/state/raft/transport/mock_raft_test.go b/manager/state/raft/transport/mock_raft_test.go index 0c344bb494..7e78ca16b4 100644 --- a/manager/state/raft/transport/mock_raft_test.go +++ b/manager/state/raft/transport/mock_raft_test.go @@ -91,7 +91,7 @@ func (r *mockRaft) RemovePeer(id uint64) error { func (r *mockRaft) ProcessRaftMessage(ctx context.Context, req *api.ProcessRaftMessageRequest) (*api.ProcessRaftMessageResponse, error) { if r.removed[req.Message.From] { - return nil, status.Errorf(codes.NotFound, "%s", membership.ErrMemberRemoved.Error()) + return nil, status.Error(codes.NotFound, membership.ErrMemberRemoved.Error()) } r.processedMessages <- req.Message return &api.ProcessRaftMessageResponse{}, nil @@ -100,7 +100,7 @@ func (r *mockRaft) ProcessRaftMessage(ctx context.Context, req *api.ProcessRaftM // StreamRaftMessage is the mock server endpoint for streaming messages of type StreamRaftMessageRequest. func (r *mockRaft) StreamRaftMessage(stream api.Raft_StreamRaftMessageServer) error { if r.forceErrorStream { - return status.Errorf(codes.Unimplemented, "streaming not supported") + return status.Error(codes.Unimplemented, "streaming not supported") } var recvdMsg, assembledMessage *api.StreamRaftMessageRequest var err error @@ -114,7 +114,7 @@ func (r *mockRaft) StreamRaftMessage(stream api.Raft_StreamRaftMessageServer) er } if r.removed[recvdMsg.Message.From] { - return status.Errorf(codes.NotFound, "%s", membership.ErrMemberRemoved.Error()) + return status.Error(codes.NotFound, membership.ErrMemberRemoved.Error()) } if assembledMessage == nil { diff --git a/manager/watchapi/watch.go b/manager/watchapi/watch.go index 2fe526d79d..c6ded94d04 100644 --- a/manager/watchapi/watch.go +++ b/manager/watchapi/watch.go @@ -25,7 +25,7 @@ func (s *Server) Watch(request *api.WatchRequest, stream api.Watch_WatchServer) watchArgs, err := api.ConvertWatchArgs(request.Entries) if err != nil { - return status.Errorf(codes.InvalidArgument, "%s", err.Error()) + return status.Error(codes.InvalidArgument, err.Error()) } watchArgs = append(watchArgs, state.EventCommit{}) diff --git a/swarmd/go.mod b/swarmd/go.mod index daeb223ceb..beaecc59c7 100644 --- a/swarmd/go.mod +++ b/swarmd/go.mod @@ -1,6 +1,6 @@ module github.com/moby/swarmkit/swarmd -go 1.21.0 +go 1.23.0 require ( github.com/cloudflare/cfssl v1.6.4 diff --git a/swarmd/go.work b/swarmd/go.work index 063eaaacf8..c98d229c5f 100644 --- a/swarmd/go.work +++ b/swarmd/go.work @@ -1,4 +1,4 @@ -go 1.21.0 +go 1.23.0 use ( . diff --git a/tools/go.mod b/tools/go.mod index fb50f42c6f..adf5e4ae94 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -1,6 +1,6 @@ module github.com/moby/swarmkit/v2/tools -go 1.21.0 +go 1.23.0 require github.com/containerd/protobuild v0.1.1-0.20211025221430-7e5ee24bc1f7