anexia-it/k8s-anexia-ccm

View on GitHub

Showing 15 of 29 total issues

Method reconciliation.Reconcile has a Cognitive Complexity of 46 (exceeds 20 allowed). Consider refactoring.
Confirmed

func (r *reconciliation) Reconcile() error {
completed := false
 
for !completed {
startTimeTotal := time.Now()
Severity: Minor
Found in anx/provider/loadbalancer/reconciliation/reconciliation.go - About 4 hrs to fix

Method reconciliation.retrieveResources has 87 lines of code (exceeds 50 allowed). Consider refactoring.
Confirmed

func (r *reconciliation) retrieveResources() error {
ctx, cancel := context.WithCancel(r.ctx)
defer cancel()
 
var oc types.ObjectChannel
Severity: Major
Found in anx/provider/loadbalancer/reconciliation/reconciliation.go - About 2 hrs to fix

    Method mgr.reconciliationForService has 77 lines of code (exceeds 50 allowed). Consider refactoring.
    Confirmed

    func (m mgr) reconciliationForService(ctx context.Context, clusterName string, svc *v1.Service, nodes []*v1.Node) (reconciliation.Reconciliation, []net.IP, error) {
    var ports map[string]reconciliation.Port
    var servers []reconciliation.Server
    var externalAddresses []net.IP
     
     
    Severity: Major
    Found in anx/provider/loadbalancer/loadbalancer.go - About 2 hrs to fix

      Method reconciliation.Reconcile has 73 lines of code (exceeds 50 allowed). Consider refactoring.
      Confirmed

      func (r *reconciliation) Reconcile() error {
      completed := false
       
      for !completed {
      startTimeTotal := time.Now()
      Severity: Minor
      Found in anx/provider/loadbalancer/reconciliation/reconciliation.go - About 1 hr to fix

        Function New has 10 arguments (exceeds 4 allowed). Consider refactoring.
        Confirmed

        ctx context.Context,
        apiClient api.API,
         
        resourceNameSuffix string,
        loadBalancerIdentifier string,
        Severity: Major
        Found in anx/provider/loadbalancer/reconciliation/reconciliation.go - About 1 hr to fix

          Method reconciliation.retrieveResources has a Cognitive Complexity of 25 (exceeds 20 allowed). Consider refactoring.
          Confirmed

          func (r *reconciliation) retrieveResources() error {
          ctx, cancel := context.WithCancel(r.ctx)
          defer cancel()
           
          var oc types.ObjectChannel
          Severity: Minor
          Found in anx/provider/loadbalancer/reconciliation/reconciliation.go - About 1 hr to fix

          Method mgr.reconciliationForService has a Cognitive Complexity of 25 (exceeds 20 allowed). Consider refactoring.
          Confirmed

          func (m mgr) reconciliationForService(ctx context.Context, clusterName string, svc *v1.Service, nodes []*v1.Node) (reconciliation.Reconciliation, []net.IP, error) {
          var ports map[string]reconciliation.Port
          var servers []reconciliation.Server
          var externalAddresses []net.IP
           
           
          Severity: Minor
          Found in anx/provider/loadbalancer/loadbalancer.go - About 1 hr to fix

          Method reconciliation.retrieveResources has 11 return statements (exceeds 4 allowed).
          Confirmed

          func (r *reconciliation) retrieveResources() error {
          ctx, cancel := context.WithCancel(r.ctx)
          defer cancel()
           
          var oc types.ObjectChannel
          Severity: Major
          Found in anx/provider/loadbalancer/reconciliation/reconciliation.go - About 1 hr to fix

            Function mergeReconStatus has a Cognitive Complexity of 24 (exceeds 20 allowed). Consider refactoring.
            Confirmed

            func mergeReconStatus(status []map[string][]uint16) map[string][]uint16 {
            addressPortReturnedCount := make(map[string]map[uint16]int)
             
            // first track number of status having a address-port-combination
            for _, s := range status {
            Severity: Minor
            Found in anx/provider/loadbalancer/reconciliation/multirecon.go - About 55 mins to fix

            Method reconciliation.Reconcile has 7 return statements (exceeds 4 allowed).
            Confirmed

            func (r *reconciliation) Reconcile() error {
            completed := false
             
            for !completed {
            startTimeTotal := time.Now()
            Severity: Major
            Found in anx/provider/loadbalancer/reconciliation/reconciliation.go - About 45 mins to fix

              Function New has 6 arguments (exceeds 4 allowed). Consider refactoring.
              Confirmed

              func New(config *configuration.ProviderConfig, logger logr.Logger, k8sClient kubernetes.Interface, apiClient api.API, legacyClient client.Client, providerMetrics metrics.ProviderMetrics) (cloudprovider.LoadBalancer, error) {
              Severity: Minor
              Found in anx/provider/loadbalancer/loadbalancer.go - About 45 mins to fix

                Method mgr.reconciliationForService has 6 return statements (exceeds 4 allowed).
                Confirmed

                func (m mgr) reconciliationForService(ctx context.Context, clusterName string, svc *v1.Service, nodes []*v1.Node) (reconciliation.Reconciliation, []net.IP, error) {
                var ports map[string]reconciliation.Port
                var servers []reconciliation.Server
                var externalAddresses []net.IP
                 
                 
                Severity: Major
                Found in anx/provider/loadbalancer/loadbalancer.go - About 40 mins to fix

                  Function newPrefix has 5 arguments (exceeds 4 allowed). Consider refactoring.
                  Open

                  func newPrefix(ctx context.Context, apiclient api.API, ipamClient ipam.API, identifier string, autoDiscoveryName *string) (*prefix, error) {
                  Severity: Minor
                  Found in anx/provider/loadbalancer/address/prefix.go - About 35 mins to fix

                    Method reconciliation.ReconcileCheck has 5 return statements (exceeds 4 allowed).
                    Open

                    func (r *reconciliation) ReconcileCheck() ([]types.Object, []types.Object, error) {
                    if err := r.retrieveState(); err != nil {
                    return nil, nil, fmt.Errorf("error retrieving current state for reconciliation: %w", err)
                    }
                     
                     
                    Severity: Major
                    Found in anx/provider/loadbalancer/reconciliation/reconciliation.go - About 35 mins to fix

                      Method instanceManager.InstanceExists has 5 return statements (exceeds 4 allowed).
                      Confirmed

                      func (i *instanceManager) InstanceExists(ctx context.Context, node *v1.Node) (bool, error) {
                      if i.lastUnauthorizedOrForbiddenInstanceExistCall.Add(time.Minute).After(time.Now()) {
                      return false, utils.ErrUnauthorizedForbiddenBackoff
                      }
                       
                       
                      Severity: Major
                      Found in anx/provider/instances.go - About 35 mins to fix
                        Severity
                        Category
                        Status
                        Source
                        Language