aws-load-balancer-controller icon indicating copy to clipboard operation
aws-load-balancer-controller copied to clipboard

You cannot enable both slow start and weighted random algorithm on a target group

Open ibalat opened this issue 9 months ago • 2 comments

Describe the bug I am trying to update target group attributes but alb controller is logging below log. But, my attributes not include any slow start config. This error effect all target groups and it logging same error log for all target groups. It locked all alb

I use: "alb.ingress.kubernetes.io/target-group-attributes" = "load_balancing.algorithm.type=weighted_random, load_balancing.algorithm.anomaly_mitigation=on, deregistration_delay.timeout_seconds=35"

I tried all combination like no attribute and slow_start.duration_seconds=0 but every time it logged same error

In UI: image

{"level":"debug","ts":"2024-05-09T14:36:04Z","logger":"events","msg":"Failed deploy model due to InvalidConfigurationRequest: You cannot enable both slow start and weighted random algorithm on a  │
│ target group\n\tstatus code: 400, request id: xxx","type":"Warning","object":{"kind":"Ingress","namespace":"stage","name":"xxx","uid":"xxx","apiVersio │
│ n":"networking.k8s.io/v1","resourceVersion":"xxx"},"reason":"FailedDeployModel"}

Expected outcome It have to update target group attributes

Environment

  • AWS Load Balancer controller version v2.7.2
  • Kubernetes version v1.29
  • Using EKS (yes/no), if so version? yes

ibalat avatar May 09 '24 14:05 ibalat

we checked all ingress with kubectl get ingress -nprod -oyaml | grep -A 10 slow_start and just one ingress contains "slow_start" configuration (at the same time, this ingress set weigted algorithm on alb UI). This damaged ingress blocked all remain ingress updates. I think that this situation is a bug. I guess alb controller merge all configs and update bulky. If one ingress has a problem, all others logs same error message and update not completed. Can it be solved please

ibalat avatar May 10 '24 09:05 ibalat

Hi, target groups do not support slow start and weighted random algorithm at the same time. Also if any of the ingresses in an ingress group is broken, updates to the whole group will fail. This is by design to avoid further issues arising.

Can you let us know if the slow start or the load balancing algorithm attributes were changed in the UI or it got into this state in some other way?

aravindsagar avatar May 15 '24 22:05 aravindsagar

thanks for info. Sure, example issue scenario is below:

  1. UI has weighted random algorithm and slow start is 0
  2. I set "alb.ingress.kubernetes.io/target-group-attributes" = "slow_start.duration_seconds=60, deregistration_delay.timeout_seconds=35" on ingress
  3. alb controller throw You cannot enable both slow start and weighted random algorithm on a target group
  4. I manually updated UI with round robin algorithm and slow start 60
  5. apply again same ingress attributes and alb controller works now (successfully reconciled)

My scenario explicitly show that there is a problem at switching algorithm and slow start values.

image

ibalat avatar May 22 '24 12:05 ibalat

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Aug 20 '24 12:08 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle rotten
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot avatar Sep 19 '24 12:09 k8s-triage-robot