Skip to content

Fleet controller does not clean up duplicate GameServerSets with matching spec #4468

@Reasonably

Description

@Reasonably

What happened:

  • I updated fleets yesterday, Some fleets goes up desired, When I scan the cluster, there are 2 valid GameServerSet in a Fleet.
  • A cause of explosion of desired is faults that our custom webhook scaler has a safe scale-in logic seeing current replicas(cut off if target desired too lower than current, cut it)
  • But 2 gss is still a problem.
    • 1 is valid and 1 is orphaned(never deleted)

What you expected to happen:

  • If there are many GSS that meet fleet spec, the controller deletes old GSS even if they meet the spec of the fleet.

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

  • I don't know how to reproduce it correctly, but code shows the cause of the issue.
  • It overrides if there are many matched GSS, and the overridden GSS never goes to rest.

Anything else we need to know?:

Image
  • A, B goes up because our webhook autoscaler has bugs(it sees current replicas of fleet)
  • Each reconcile loop don't guarantee sequence of gss. It can be applied to all spec-valid gss.

Environment:

  • Agones version: v1.45.0
  • Kubernetes version (use kubectl version): 1.33.6
  • Cloud provider or hardware configuration: azure
  • Install method (yaml/helm): helm
  • Troubleshooting guide log(s):
  • Others:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions