From 26a254f96e3bdc4ec16715832fbd7b536deea24c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 07:32:05 +0000 Subject: [PATCH 1/5] chore(deps): update dependency go to v1.23.2 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 65bd8095..fa15812c 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/stackitcloud/yawol go 1.22.0 -toolchain go1.22.6 +toolchain go1.23.2 require ( github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 From 44cceb18fbc8f51ea414b9536498f40a3828a52c Mon Sep 17 00:00:00 2001 From: Kai Kummerer <70690427+Kumm-Kai@users.noreply.github.com> Date: Wed, 9 Oct 2024 09:36:06 +0200 Subject: [PATCH 2/5] Update go.mod Signed-off-by: Kai Kummerer <70690427+Kumm-Kai@users.noreply.github.com> --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index fa15812c..bbb1a1c4 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/stackitcloud/yawol -go 1.22.0 +go 1.23.2 toolchain go1.23.2 From 0014df7bbe4ec4824860100683114fa4dfad5846 Mon Sep 17 00:00:00 2001 From: Kai Kummerer <70690427+Kumm-Kai@users.noreply.github.com> Date: Wed, 9 Oct 2024 09:56:16 +0200 Subject: [PATCH 3/5] Update Earthfile Signed-off-by: Kai Kummerer <70690427+Kumm-Kai@users.noreply.github.com> --- Earthfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Earthfile b/Earthfile index 5a904aba..b7670a10 100644 --- a/Earthfile +++ b/Earthfile @@ -1,5 +1,5 @@ VERSION 0.8 -FROM golang:1.22 +FROM golang:1.23 ARG --global DOCKER_REPO=ghcr.io/stackitcloud/yawol/ ARG --global BINPATH=/usr/local/bin/ ARG --global GOCACHE=/go-cache From 783bad3a76e5d552f01dc1edcfbfe11fba795104 Mon Sep 17 00:00:00 2001 From: Kai Kummerer <70690427+Kumm-Kai@users.noreply.github.com> Date: Wed, 9 Oct 2024 10:14:51 +0200 Subject: [PATCH 4/5] Update Earthfile Signed-off-by: Kai Kummerer <70690427+Kumm-Kai@users.noreply.github.com> --- Earthfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Earthfile b/Earthfile index b7670a10..1560e073 100644 --- a/Earthfile +++ b/Earthfile @@ -6,7 +6,7 @@ ARG --global GOCACHE=/go-cache ARG --global ENVOY_VERSION=v1.27.0 ARG --global HELM_VERSION=3.12.3 -ARG --global GOLANGCI_LINT_VERSION=v1.54.2 +ARG --global GOLANGCI_LINT_VERSION=v1.61.0 ARG --global PACKER_VERSION=1.9 ARG --global TERRAFORM_VERSION=1.4.6 From 57ed707a00139386052e825f612744ddd581c48e Mon Sep 17 00:00:00 2001 From: Kai Kummerer Date: Thu, 10 Oct 2024 12:12:02 +0200 Subject: [PATCH 5/5] fix linting --- .../targetcontroller/node_controller_test.go | 2 +- .../loadbalancer_controller_test.go | 12 ++++---- .../loadbalancermachine_controller_test.go | 8 ++--- go.mod | 2 -- internal/envoystatus/envoystatus.go | 6 ++-- internal/envoystatus/envoystatus_test.go | 3 +- internal/helper/yawollet.go | 14 ++++++--- internal/openstack/testing/fake.go | 30 +++++++++---------- 8 files changed, 40 insertions(+), 37 deletions(-) diff --git a/controllers/yawol-cloud-controller/targetcontroller/node_controller_test.go b/controllers/yawol-cloud-controller/targetcontroller/node_controller_test.go index 3ce625cb..676812a5 100644 --- a/controllers/yawol-cloud-controller/targetcontroller/node_controller_test.go +++ b/controllers/yawol-cloud-controller/targetcontroller/node_controller_test.go @@ -139,7 +139,7 @@ var _ = Describe("Check loadbalancer reconcile", Serial, Ordered, func() { if err != nil { return err } - if lb.Spec.Endpoints == nil || len(lb.Spec.Endpoints) == 0 { + if len(lb.Spec.Endpoints) == 0 { return nil } return helper.ErrEndpointsFound diff --git a/controllers/yawol-controller/loadbalancer/loadbalancer_controller_test.go b/controllers/yawol-controller/loadbalancer/loadbalancer_controller_test.go index 365a68b7..d09212e5 100644 --- a/controllers/yawol-controller/loadbalancer/loadbalancer_controller_test.go +++ b/controllers/yawol-controller/loadbalancer/loadbalancer_controller_test.go @@ -446,7 +446,7 @@ var _ = Describe("loadbalancer controller", Serial, Ordered, func() { It("should up- and downscale loadbalancer machines", func() { By("waiting for lb and lbset creation") - hopefully(lbNN, func(g Gomega, act LB) error { + hopefully(lbNN, func(g Gomega, _ LB) error { var lbsetList yawolv1beta1.LoadBalancerSetList g.Expect(k8sClient.List(ctx, &lbsetList, client.MatchingLabels(lb.Spec.Selector.MatchLabels))).Should(Succeed()) g.Expect(len(lbsetList.Items)).Should(Equal(1)) @@ -703,29 +703,29 @@ var _ = Describe("loadbalancer controller", Serial, Ordered, func() { When("openstack is not working", func() { BeforeEach(func() { mockClient.GroupClientObj = &testing.CallbackGroupClient{ - ListFunc: func(ctx context.Context, opts groups.ListOpts) ([]groups.SecGroup, error) { + ListFunc: func(_ context.Context, _ groups.ListOpts) ([]groups.SecGroup, error) { return []groups.SecGroup{}, gophercloud.ErrDefault401{ ErrUnexpectedResponseCode: gophercloud.ErrUnexpectedResponseCode{ Body: []byte("Auth failed"), }, } }, - GetFunc: func(ctx context.Context, id string) (*groups.SecGroup, error) { + GetFunc: func(_ context.Context, _ string) (*groups.SecGroup, error) { return nil, gophercloud.ErrDefault401{ ErrUnexpectedResponseCode: gophercloud.ErrUnexpectedResponseCode{ Body: []byte("Auth failed"), }, } }, - CreateFunc: func(ctx context.Context, opts groups.CreateOptsBuilder) (*groups.SecGroup, error) { + CreateFunc: func(_ context.Context, _ groups.CreateOptsBuilder) (*groups.SecGroup, error) { return nil, gophercloud.ErrDefault401{} }, - DeleteFunc: func(ctx context.Context, id string) error { + DeleteFunc: func(_ context.Context, _ string) error { return gophercloud.ErrDefault401{} }, } mockClient.FipClientObj = &testing.CallbackFipClient{ - GetFunc: func(ctx context.Context, id string) (*floatingips.FloatingIP, error) { + GetFunc: func(_ context.Context, _ string) (*floatingips.FloatingIP, error) { return nil, gophercloud.ErrDefault403{} }, } diff --git a/controllers/yawol-controller/loadbalancermachine/loadbalancermachine_controller_test.go b/controllers/yawol-controller/loadbalancermachine/loadbalancermachine_controller_test.go index 4ac4584d..3ec1e2b7 100644 --- a/controllers/yawol-controller/loadbalancermachine/loadbalancermachine_controller_test.go +++ b/controllers/yawol-controller/loadbalancermachine/loadbalancermachine_controller_test.go @@ -194,7 +194,7 @@ var _ = Describe("load balancer machine", Serial, Ordered, func() { When("openstack is not working", func() { BeforeEach(func() { client.ServerClientObj = &testing.CallbackServerClient{ - CreateFunc: func(ctx context.Context, opts servers.CreateOptsBuilder) (*servers.Server, error) { + CreateFunc: func(_ context.Context, _ servers.CreateOptsBuilder) (*servers.Server, error) { return &servers.Server{}, gophercloud.ErrDefault403{ ErrUnexpectedResponseCode: gophercloud.ErrUnexpectedResponseCode{ BaseError: gophercloud.BaseError{}, @@ -207,13 +207,13 @@ var _ = Describe("load balancer machine", Serial, Ordered, func() { }, } }, - ListFunc: func(ctx context.Context, opts servers.ListOptsBuilder) ([]servers.Server, error) { + ListFunc: func(_ context.Context, _ servers.ListOptsBuilder) ([]servers.Server, error) { return []servers.Server{{}}, nil }, - GetFunc: func(ctx context.Context, id string) (*servers.Server, error) { + GetFunc: func(_ context.Context, _ string) (*servers.Server, error) { return &servers.Server{}, nil }, - DeleteFunc: func(ctx context.Context, id string) error { + DeleteFunc: func(_ context.Context, _ string) error { return nil }, } diff --git a/go.mod b/go.mod index bbb1a1c4..301256f4 100644 --- a/go.mod +++ b/go.mod @@ -2,8 +2,6 @@ module github.com/stackitcloud/yawol go 1.23.2 -toolchain go1.23.2 - require ( github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 github.com/envoyproxy/go-control-plane v0.13.0 diff --git a/internal/envoystatus/envoystatus.go b/internal/envoystatus/envoystatus.go index 847f3409..48113c0c 100644 --- a/internal/envoystatus/envoystatus.go +++ b/internal/envoystatus/envoystatus.go @@ -85,11 +85,11 @@ func (c *Config) GetCurrentStats() ([]yawolv1beta1.LoadBalancerMachineMetric, er return []yawolv1beta1.LoadBalancerMachineMetric{}, err } - return parseEnvoyMetricsToLoadBalancerMachineMetrics(string(body)) + return parseEnvoyMetricsToLoadBalancerMachineMetrics(string(body)), nil } // parseEnvoyMetricsToLoadBalancerMachineMetrics returns a LoadBalancerMachineMetric for Envoy -func parseEnvoyMetricsToLoadBalancerMachineMetrics(envoyMetrics string) ([]yawolv1beta1.LoadBalancerMachineMetric, error) { +func parseEnvoyMetricsToLoadBalancerMachineMetrics(envoyMetrics string) []yawolv1beta1.LoadBalancerMachineMetric { var metrics []yawolv1beta1.LoadBalancerMachineMetric for _, stats := range strings.Split(envoyMetrics, "\n") { if strings.HasPrefix(stats, "cluster") { @@ -126,5 +126,5 @@ func parseEnvoyMetricsToLoadBalancerMachineMetrics(envoyMetrics string) ([]yawol } } - return metrics, nil + return metrics } diff --git a/internal/envoystatus/envoystatus_test.go b/internal/envoystatus/envoystatus_test.go index 9e8aa7e2..6a8a6998 100644 --- a/internal/envoystatus/envoystatus_test.go +++ b/internal/envoystatus/envoystatus_test.go @@ -62,8 +62,7 @@ func TestEnvoyStats4(t *testing.T) { var _ = Describe("check envoy status", func() { When("Envoy stats to LoadBalancerMachine Metrics", func() { It("should set the correct metrics", func() { - got, err := parseEnvoyMetricsToLoadBalancerMachineMetrics(envoyMetrics) - Expect(err).ToNot(HaveOccurred()) + got := parseEnvoyMetricsToLoadBalancerMachineMetrics(envoyMetrics) fmt.Println(got) Expect(compareMetrics(got, wanted)).To(BeTrue()) diff --git a/internal/helper/yawollet.go b/internal/helper/yawollet.go index 79032638..3675b4b3 100644 --- a/internal/helper/yawollet.go +++ b/internal/helper/yawollet.go @@ -242,6 +242,7 @@ func createEnvoyCluster(lb *yawolv1beta1.LoadBalancer) []envoytypes.Resource { Protocol: protocol, Address: address, PortSpecifier: &envoycore.SocketAddress_PortValue{ + //nolint:gosec // both types are given PortValue: uint32(port.NodePort), }, }, @@ -275,9 +276,12 @@ func createEnvoyCluster(lb *yawolv1beta1.LoadBalancer) []envoytypes.Resource { CircuitBreakers: &envoycluster.CircuitBreakers{ Thresholds: []*envoycluster.CircuitBreakers_Thresholds{ { - Priority: envoycore.RoutingPriority_DEFAULT, - MaxConnections: wrapperspb.UInt32(uint32(10000 * hostmetrics.GetCPUNum())), - MaxRequests: wrapperspb.UInt32(uint32(8000 * hostmetrics.GetCPUNum())), + Priority: envoycore.RoutingPriority_DEFAULT, + //nolint:gosec // both types are given + MaxConnections: wrapperspb.UInt32(uint32(10000 * hostmetrics.GetCPUNum())), + //nolint:gosec // both types are given + MaxRequests: wrapperspb.UInt32(uint32(8000 * hostmetrics.GetCPUNum())), + //nolint:gosec // both types are given MaxPendingRequests: wrapperspb.UInt32(uint32(2000 * hostmetrics.GetCPUNum())), }, }, @@ -333,7 +337,7 @@ func createEnvoyTCPListener( var filters []*envoylistener.Filter // ip whitelisting via RBAC according to loadBalancerSourceRanges - if lb.Spec.Options.LoadBalancerSourceRanges != nil && len(lb.Spec.Options.LoadBalancerSourceRanges) > 0 { + if len(lb.Spec.Options.LoadBalancerSourceRanges) > 0 { lbSourceRangeFilter := createEnvoyRBACRules(r, lb) if lbSourceRangeFilter != nil { filters = append(filters, &envoylistener.Filter{ @@ -353,6 +357,7 @@ func createEnvoyTCPListener( Protocol: envoycore.SocketAddress_TCP, Address: listenAddress, PortSpecifier: &envoycore.SocketAddress_PortValue{ + //nolint:gosec // both types are given PortValue: uint32(port.Port), }, }, @@ -421,6 +426,7 @@ func createEnvoyUDPListener( Protocol: envoycore.SocketAddress_UDP, Address: listenAddress, PortSpecifier: &envoycore.SocketAddress_PortValue{ + //nolint:gosec // both types are given PortValue: uint32(port.Port), }, }, diff --git a/internal/openstack/testing/fake.go b/internal/openstack/testing/fake.go index c89c7a11..a53b06cd 100644 --- a/internal/openstack/testing/fake.go +++ b/internal/openstack/testing/fake.go @@ -219,7 +219,7 @@ func GetFakeClient() *MockClient { } client.PortClientObj = &CallbackPortClient{ - ListFunc: func(ctx context.Context, optsBuilder ports.ListOptsBuilder) ([]ports.Port, error) { + ListFunc: func(_ context.Context, optsBuilder ports.ListOptsBuilder) ([]ports.Port, error) { opts := optsBuilder.(ports.ListOpts) prts := client.StoredValues["ports"].(map[string]*ports.Port) @@ -235,7 +235,7 @@ func GetFakeClient() *MockClient { return items, nil }, - CreateFunc: func(ctx context.Context, optsBuilder ports.CreateOptsBuilder) (*ports.Port, error) { + CreateFunc: func(_ context.Context, optsBuilder ports.CreateOptsBuilder) (*ports.Port, error) { opts := optsBuilder.(ports.CreateOpts) var fixedIPs []ports.IP if opts.FixedIPs != nil { @@ -262,7 +262,7 @@ func GetFakeClient() *MockClient { return port, nil }, - GetFunc: func(ctx context.Context, id string) (*ports.Port, error) { + GetFunc: func(_ context.Context, id string) (*ports.Port, error) { prts := client.StoredValues["ports"] port, found := prts.(map[string]*ports.Port)[id] if !found { @@ -271,7 +271,7 @@ func GetFakeClient() *MockClient { return port, nil }, - DeleteFunc: func(ctx context.Context, id string) error { + DeleteFunc: func(_ context.Context, id string) error { prts := client.StoredValues["ports"] _, found := prts.(map[string]*ports.Port)[id] if !found { @@ -299,7 +299,7 @@ func GetFakeClient() *MockClient { } client.ServerClientObj = &CallbackServerClient{ - ListFunc: func(ctx context.Context, optsBuilder servers.ListOptsBuilder) ([]servers.Server, error) { + ListFunc: func(_ context.Context, optsBuilder servers.ListOptsBuilder) ([]servers.Server, error) { opts := optsBuilder.(servers.ListOpts) srvs := client.StoredValues["servers"].(map[string]*servers.Server) @@ -315,7 +315,7 @@ func GetFakeClient() *MockClient { return items, nil }, - CreateFunc: func(ctx context.Context, optsBuilder servers.CreateOptsBuilder) (*servers.Server, error) { + CreateFunc: func(_ context.Context, optsBuilder servers.CreateOptsBuilder) (*servers.Server, error) { opts := optsBuilder.(*servers.CreateOpts) addresses := make(map[string]interface{}) @@ -338,7 +338,7 @@ func GetFakeClient() *MockClient { return server, nil }, - GetFunc: func(ctx context.Context, id string) (*servers.Server, error) { + GetFunc: func(_ context.Context, id string) (*servers.Server, error) { srvs := client.StoredValues["servers"] server, found := srvs.(map[string]*servers.Server)[id] if !found { @@ -347,19 +347,19 @@ func GetFakeClient() *MockClient { return server, nil }, - DeleteFunc: func(ctx context.Context, id string) error { + DeleteFunc: func(_ context.Context, id string) error { srvs := client.StoredValues["servers"] delete(srvs.(map[string]*servers.Server), id) return nil }, - UpdateFunc: func(ctx context.Context, id string, optsBuilder servers.UpdateOptsBuilder) (*servers.Server, error) { + UpdateFunc: func(_ context.Context, _ string, _ servers.UpdateOptsBuilder) (*servers.Server, error) { // TODO we do not use it yet return nil, nil }, } client.ServerGroupClientObj = &CallbackServerGroupClient{ - ListFunc: func(ctx context.Context, optsBuilder servergroups.ListOptsBuilder) ([]servergroups.ServerGroup, error) { + ListFunc: func(_ context.Context, optsBuilder servergroups.ListOptsBuilder) ([]servergroups.ServerGroup, error) { _ = optsBuilder.(servergroups.ListOpts) srvs := client.StoredValues["servergroup"].(map[string]*servergroups.ServerGroup) @@ -371,7 +371,7 @@ func GetFakeClient() *MockClient { return items, nil }, - CreateFunc: func(ctx context.Context, optsBuilder servergroups.CreateOptsBuilder) (*servergroups.ServerGroup, error) { + CreateFunc: func(_ context.Context, optsBuilder servergroups.CreateOptsBuilder) (*servergroups.ServerGroup, error) { opts := optsBuilder.(servergroups.CreateOpts) servergroup := &servergroups.ServerGroup{ @@ -385,7 +385,7 @@ func GetFakeClient() *MockClient { return servergroup, nil }, - GetFunc: func(ctx context.Context, id string) (*servergroups.ServerGroup, error) { + GetFunc: func(_ context.Context, id string) (*servergroups.ServerGroup, error) { srvs := client.StoredValues["servergroup"] server, found := srvs.(map[string]*servergroups.ServerGroup)[id] if !found { @@ -394,7 +394,7 @@ func GetFakeClient() *MockClient { return server, nil }, - DeleteFunc: func(ctx context.Context, id string) error { + DeleteFunc: func(_ context.Context, id string) error { srvs := client.StoredValues["servergroup"] delete(srvs.(map[string]*servergroups.ServerGroup), id) return nil @@ -411,9 +411,9 @@ func getID(client *MockClient) string { } func generateIP() string { - min, max := 0, 255 + minimum, maximum := 0, 255 gen := func() string { - return strconv.Itoa(rand.Intn(max-min) + min) //nolint:gosec // do not need to be secure + return strconv.Itoa(rand.Intn(maximum-minimum) + minimum) //nolint:gosec // do not need to be secure } return strings.Join([]string{gen(), gen(), gen(), gen()}, ".")