diff --git a/go.mod b/go.mod index 2444f8e94..ebdc11cf2 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.12 github.com/aws/aws-sdk-go-v2/service/ec2 v1.260.0 github.com/aws/smithy-go v1.23.1 - github.com/ccoveille/go-safecast v1.6.1 + github.com/ccoveille/go-safecast v1.8.1 github.com/coreos/go-iptables v0.8.0 github.com/docker/docker v28.4.0+incompatible github.com/hashicorp/go-version v1.7.0 diff --git a/go.sum b/go.sum index 068fd6afb..f9ca38b60 100644 --- a/go.sum +++ b/go.sum @@ -34,8 +34,8 @@ github.com/aws/smithy-go v1.23.1 h1:sLvcH6dfAFwGkHLZ7dGiYF7aK6mg4CgKA/iDKjLDt9M= github.com/aws/smithy-go v1.23.1/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/ccoveille/go-safecast v1.6.1 h1:Nb9WMDR8PqhnKCVs2sCB+OqhohwO5qaXtCviZkIff5Q= -github.com/ccoveille/go-safecast v1.6.1/go.mod h1:QqwNjxQ7DAqY0C721OIO9InMk9zCwcsO7tnRuHytad8= +github.com/ccoveille/go-safecast v1.8.1 h1:RoucjfYKKcx2lFmIjRjuo8AeX9k/GaZn5SUMHlA3kMw= +github.com/ccoveille/go-safecast v1.8.1/go.mod h1:QqwNjxQ7DAqY0C721OIO9InMk9zCwcsO7tnRuHytad8= github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= diff --git a/pkg/controllers/proxy/ipset_fixture_test.go b/pkg/controllers/proxy/ipset_fixture_test.go index 16fafff5f..ada0283e2 100644 --- a/pkg/controllers/proxy/ipset_fixture_test.go +++ b/pkg/controllers/proxy/ipset_fixture_test.go @@ -149,7 +149,7 @@ func buildIPVSServicesFromFixtures(t *testing.T, services *v1.ServiceList) []*ip require.GreaterOrEqualf(t, port.Port, int32(0), "service %s/%s has negative port %d", svc.Namespace, svc.Name, port.Port) const maxServicePort = 1<<16 - 1 require.LessOrEqualf(t, port.Port, int32(maxServicePort), "service %s/%s port %d exceeds %d", svc.Namespace, svc.Name, port.Port, maxServicePort) - targetPort, err := safecast.ToUint16(port.Port) + targetPort, err := safecast.Convert[uint16](port.Port) if err != nil { t.Fatalf("failed to convert port %d to uint16: %v", port.Port, err) } diff --git a/pkg/controllers/proxy/linux_networking.go b/pkg/controllers/proxy/linux_networking.go index eb056b110..64d38c472 100644 --- a/pkg/controllers/proxy/linux_networking.go +++ b/pkg/controllers/proxy/linux_networking.go @@ -297,7 +297,7 @@ func (ln *linuxNetworking) ipvsAddService(svcs []*ipvs.Service, vip net.IP, prot vip, svc.Address, protocol, svc.Protocol, port, svc.Port) if vip.Equal(svc.Address) && protocol == svc.Protocol && port == svc.Port { klog.V(2).Info("Service matched VIP") - ptim, err := safecast.ToUint32(persistentTimeout) + ptim, err := safecast.Convert[uint32](persistentTimeout) if err != nil { return svcs, nil, fmt.Errorf("failed to convert persistent timeout to uint32: %v", err) } diff --git a/pkg/controllers/proxy/metrics.go b/pkg/controllers/proxy/metrics.go index 7bfb2ed0a..0dbd6a7e2 100644 --- a/pkg/controllers/proxy/metrics.go +++ b/pkg/controllers/proxy/metrics.go @@ -30,7 +30,7 @@ func (nsc *NetworkServicesController) getMetricsServiceMap() metricsServiceMap { for _, svc := range nsc.getServiceMap() { key := metricsServiceMapKey{} - key.uPort, err = safecast.ToUint16(svc.port) + key.uPort, err = safecast.Convert[uint16](svc.port) if err != nil { klog.Errorf("failed to convert port %d to uint16: %v", svc.port, err) continue @@ -51,7 +51,7 @@ func (nsc *NetworkServicesController) getMetricsServiceMap() metricsServiceMap { } if svc.nodePort != 0 { key.ip = nsc.krNode.GetPrimaryNodeIP().String() - key.uPort, err = safecast.ToUint16(svc.nodePort) + key.uPort, err = safecast.Convert[uint16](svc.nodePort) if err != nil { klog.Errorf("failed to convert nodePort %d to uint16: %v", svc.nodePort, err) continue diff --git a/pkg/controllers/proxy/network_services_controller.go b/pkg/controllers/proxy/network_services_controller.go index c55bdb9ce..18939e8f6 100644 --- a/pkg/controllers/proxy/network_services_controller.go +++ b/pkg/controllers/proxy/network_services_controller.go @@ -1482,7 +1482,7 @@ func ipvsDestinationString(d *ipvs.Destination) string { func ipvsSetPersistence(svc *ipvs.Service, p bool, timeout int32) error { if p { - uTimeout, err := safecast.ToUint32(timeout) + uTimeout, err := safecast.Convert[uint32](timeout) if err != nil { return fmt.Errorf("failed to convert timeout to uint32: %v", err) } diff --git a/pkg/controllers/proxy/service_endpoints_sync.go b/pkg/controllers/proxy/service_endpoints_sync.go index b1542d118..bd69b4991 100644 --- a/pkg/controllers/proxy/service_endpoints_sync.go +++ b/pkg/controllers/proxy/service_endpoints_sync.go @@ -133,7 +133,7 @@ func (nsc *NetworkServicesController) setupClusterIPServices(serviceInfoMap serv if err != nil { return fmt.Errorf("failed creating dummy interface: %v", err) } - sPort, err := safecast.ToUint16(svc.port) + sPort, err := safecast.Convert[uint16](svc.port) if err != nil { return fmt.Errorf("failed to convert service port to uint16: %v", err) } @@ -242,7 +242,7 @@ func (nsc *NetworkServicesController) addEndpointsToIPVSService(endpoints []endp syscallINET = syscall.AF_INET6 } - ePort, err := safecast.ToUint16(endpoint.port) + ePort, err := safecast.Convert[uint16](endpoint.port) if err != nil { klog.Errorf("failed to convert endpoint port to uint16: %v", err) continue @@ -289,7 +289,7 @@ func (nsc *NetworkServicesController) setupNodePortServices(serviceInfoMap servi continue } - nPort, err := safecast.ToUint16(svc.nodePort) + nPort, err := safecast.Convert[uint16](svc.nodePort) if err != nil { return fmt.Errorf("failed to convert node port to uint16: %v", err) } @@ -451,7 +451,7 @@ func (nsc *NetworkServicesController) setupExternalIPForService(svc *serviceInfo return fmt.Errorf("failed get list of IPVS services due to: %v", err) } - sPort, err := safecast.ToUint16(svc.port) + sPort, err := safecast.Convert[uint16](svc.port) if err != nil { return fmt.Errorf("failed to convert service port to uint16: %v", err) } @@ -549,7 +549,7 @@ func (nsc *NetworkServicesController) setupExternalIPForDSRService(svcIn *servic return fmt.Errorf("failed to generate FW mark") } - sInPort, err := safecast.ToUint16(svcIn.port) + sInPort, err := safecast.Convert[uint16](svcIn.port) if err != nil { return fmt.Errorf("failed to convert serviceIn port to uint16: %v", err) } @@ -614,7 +614,7 @@ func (nsc *NetworkServicesController) setupExternalIPForDSRService(svcIn *servic syscallINET = syscall.AF_INET6 } - ePort, err := safecast.ToUint16(endpoint.port) + ePort, err := safecast.Convert[uint16](endpoint.port) if err != nil { return fmt.Errorf("failed to convert endpoint port to uint16: %v", err) } diff --git a/pkg/controllers/routing/bgp_policies.go b/pkg/controllers/routing/bgp_policies.go index ff15b3a02..c6532bd32 100644 --- a/pkg/controllers/routing/bgp_policies.go +++ b/pkg/controllers/routing/bgp_policies.go @@ -136,7 +136,7 @@ func (nrc *NetworkRoutingController) addPodCidrDefinedSet() error { if cidrLen < 0 || cidrLen > cidrMax { return fmt.Errorf("the pod CIDR IP given is not a proper mask: %d", cidrLen) } - uCIDRLen, err := safecast.ToUint32(cidrLen) + uCIDRLen, err := safecast.Convert[uint32](cidrLen) if err != nil { return fmt.Errorf("failed to convert CIDR length to uint32: %v", err) } @@ -324,7 +324,7 @@ func (nrc *NetworkRoutingController) addCustomImportRejectDefinedSet() error { prefix.IpPrefix = ipNet.String() mask, _ := ipNet.Mask.Size() - uIntMask, err := safecast.ToUint32(mask) + uIntMask, err := safecast.Convert[uint32](mask) if err != nil { return fmt.Errorf("failed to convert mask to uint32: %v", err) } diff --git a/pkg/controllers/routing/network_routes_controller.go b/pkg/controllers/routing/network_routes_controller.go index 6b7867fa4..51312c2ff 100644 --- a/pkg/controllers/routing/network_routes_controller.go +++ b/pkg/controllers/routing/network_routes_controller.go @@ -1074,7 +1074,7 @@ func (nrc *NetworkRoutingController) startBgpServer(grpcServer bool) error { localAddressList = append(localAddressList, addr) } - intBGPPort, err := safecast.ToInt32(nrc.bgpPort) + intBGPPort, err := safecast.Convert[int32](nrc.bgpPort) if err != nil { return fmt.Errorf("failed to convert BGP port to int32: %v", err) } @@ -1422,7 +1422,7 @@ func NewNetworkRoutingController(clientset kubernetes.Interface, // Convert ints to uint32s peerASNs := make([]uint32, 0) for _, i := range kubeRouterConfig.PeerASNs { - ui, err := safecast.ToUint32(i) + ui, err := safecast.Convert[uint32](i) if err != nil { return nil, fmt.Errorf("failed to convert Peer ASNs to uint32: %s", err) } @@ -1433,7 +1433,7 @@ func NewNetworkRoutingController(clientset kubernetes.Interface, // Convert uints to uint16s peerPorts := make([]uint32, 0) for _, i := range kubeRouterConfig.PeerPorts { - ui, err := safecast.ToUint32(i) + ui, err := safecast.Convert[uint32](i) if err != nil { return nil, fmt.Errorf("failed to convert Peer Port to uint32: %s", err) }