Method reconciliation.Reconcile
has a Cognitive Complexity of 46 (exceeds 20 allowed). Consider refactoring.
func (r *reconciliation) Reconcile() error {
completed := false
for !completed {
startTimeTotal := time.Now()
Method reconciliation.retrieveResources
has 87 lines of code (exceeds 50 allowed). Consider refactoring.
func (r *reconciliation) retrieveResources() error {
ctx, cancel := context.WithCancel(r.ctx)
defer cancel()
var oc types.ObjectChannel
Method mgr.reconciliationForService
has 77 lines of code (exceeds 50 allowed). Consider refactoring.
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
Method reconciliation.Reconcile
has 73 lines of code (exceeds 50 allowed). Consider refactoring.
func (r *reconciliation) Reconcile() error {
completed := false
for !completed {
startTimeTotal := time.Now()
Function New
has 10 arguments (exceeds 4 allowed). Consider refactoring.
ctx context.Context,
apiClient api.API,
resourceNameSuffix string,
loadBalancerIdentifier string,
Method reconciliation.retrieveResources
has a Cognitive Complexity of 25 (exceeds 20 allowed). Consider refactoring.
func (r *reconciliation) retrieveResources() error {
ctx, cancel := context.WithCancel(r.ctx)
defer cancel()
var oc types.ObjectChannel
Method mgr.reconciliationForService
has a Cognitive Complexity of 25 (exceeds 20 allowed). Consider refactoring.
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
Method reconciliation.retrieveResources
has 11 return statements (exceeds 4 allowed).
func (r *reconciliation) retrieveResources() error {
ctx, cancel := context.WithCancel(r.ctx)
defer cancel()
var oc types.ObjectChannel
Function mergeReconStatus
has a Cognitive Complexity of 24 (exceeds 20 allowed). Consider refactoring.
func mergeReconStatus(status []map[string][]uint16) map[string][]uint16 {
addressPortReturnedCount := make(map[string]map[uint16]int)
for _, s := range status {
Method reconciliation.Reconcile
has 7 return statements (exceeds 4 allowed).
func (r *reconciliation) Reconcile() error {
completed := false
for !completed {
startTimeTotal := time.Now()
Function New
has 6 arguments (exceeds 4 allowed). Consider refactoring.
func New(config *configuration.ProviderConfig, logger logr.Logger, k8sClient kubernetes.Interface, apiClient api.API, legacyClient client.Client, providerMetrics metrics.ProviderMetrics) (cloudprovider.LoadBalancer, error) {
Method mgr.reconciliationForService
has 6 return statements (exceeds 4 allowed).
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
Function newPrefix
has 5 arguments (exceeds 4 allowed). Consider refactoring.
func newPrefix(ctx context.Context, apiclient api.API, ipamClient ipam.API, identifier string, autoDiscoveryName *string) (*prefix, error) {
Method reconciliation.ReconcileCheck
has 5 return statements (exceeds 4 allowed).
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)
}
Method instanceManager.InstanceExists
has 5 return statements (exceeds 4 allowed).
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
}