agones icon indicating copy to clipboard operation
agones copied to clipboard

FleetAutoscaler with Counter policy trying to scale Fleet to negative replicas count

Open zifter opened this issue 1 year ago • 2 comments

What happened: I had an issue with the fleet auto scaler trying to scale to -41 replicas. As I see, fleet auto scaler with Counter policy does not respect the game server's namespace when calculating the current game server count. I have different namespaces like qa1, qa2, etc., and each has a fleet my-fleet, where 1-2 game servers are launched. I did debug and saw that ListGameServersByFleetOwner returned all game servers in a cluster with fleet owner name my-fleet. I'm expecting that fleet and game servers are namespaced resources. I did the simple fix - we just added namespace name to fleet name, like my-fleet-qa1, my-fleet-qa2

What you expected to happen: Fleet is the namespaced resource. I need to be able to create a fleet with the same name in different namespaces with CountsAndLists policy.

How to reproduce it (as minimally and precisely as possible):

  1. Create 2 fleets with the same name in different namespaces.
  2. Create 2 fleet autoscaler with Counter policy
  3. Just autoscale them.

Anything else we need to know?:

Environment:

  • Agones version: 1.42
  • Kubernetes version (use kubectl version): 1.29
  • Cloud provider or hardware configuration: GKE
  • Install method (yaml/helm): helm
  • Troubleshooting guide log(s):
  • Others:

zifter avatar Aug 17 '24 22:08 zifter

Just checking because the title is a bit confusing - did the Fleet go to negative replica count because you ended up with multiple FleetAutoscalers pointing at the same Fleet?

Basically making sure this isn't two bugs, not just one.

markmandel avatar Aug 19 '24 06:08 markmandel

I have multiple FleetAutoscaler with there own Fleet:

  • namespace qa1 with fleetAutoscaler my-fleet-autoscaler with fleet my-fleet
  • namespace qa2 with fleetAutoscaler my-fleet-autoscaler with fleet my-fleet ...
  • namespace qa15 with fleetAutoscaler my-fleet-autoscaler with fleet my-fleet

When I'm testing autoscaler in any of qa*, I see that it's trying to go to negative numbers.

As a quick fix for that moment is to add namespace suffix to names:

  • namespace qa1 with fleetAutoscaler my-fleet-autoscaler-qa1 with fleet my-fleet-qa1
  • namespace qa2 with fleetAutoscaler my-fleet-autoscaler-qa2 with fleet my-fleet-qa2 ...
  • namespace qa15 with fleetAutoscaler my-fleet-autoscaler-qa15 with fleet my-fleet-qa15

zifter avatar Aug 19 '24 06:08 zifter

'This issue is marked as Stale due to inactivity for more than 30 days. To avoid being marked as 'stale' please add 'awaiting-maintainer' label or add a comment. Thank you for your contributions '

github-actions[bot] avatar Dec 15 '24 10:12 github-actions[bot]

ooh, we should definitely fix this.

markmandel avatar Dec 16 '24 19:12 markmandel

Will work on a fix !

lacroixthomas avatar Jan 23 '25 23:01 lacroixthomas