Skip to content

Set Minimum Buffer Size to 1#3749

Merged
igooch merged 15 commits intoagones-dev:mainfrom
Kalaiselvi84:i_3715
May 9, 2024
Merged

Set Minimum Buffer Size to 1#3749
igooch merged 15 commits intoagones-dev:mainfrom
Kalaiselvi84:i_3715

Conversation

@Kalaiselvi84
Copy link
Copy Markdown
Contributor

What type of PR is this?

Uncomment only one /kind <> line, press enter to put that in a new line, and remove leading whitespace from that line:

/kind breaking

/kind bug

/kind cleanup
/kind documentation
/kind feature
/kind hotfix
/kind release

What this PR does / Why we need it:

Which issue(s) this PR fixes:

Closes #3715

Special notes for your reviewer:

@Kalaiselvi84 Kalaiselvi84 requested a review from markmandel April 9, 2024 00:01
@github-actions github-actions Bot added kind/bug These are bugs. size/S labels Apr 9, 2024
@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😱

Build Id: 5c6745d8-e9bd-4b46-bce8-02c4a14caa71

To get permission to view the Cloud Build view, join the agones-discuss Google Group.

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😱

Build Id: bbb1c989-426c-4122-9b0b-cd9466a83b07

To get permission to view the Cloud Build view, join the agones-discuss Google Group.

@markmandel markmandel requested a review from igooch April 10, 2024 18:06
@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 👏

Build Id: 712da535-b430-42c8-8ca3-17b7984c5428

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3749/head:pr_3749 && git checkout pr_3749
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.40.0-dev-e5fb5e2-amd64

Comment thread pkg/fleetautoscalers/fleetautoscalers.go Outdated
Comment thread pkg/fleetautoscalers/fleetautoscalers_test.go
@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😱

Build Id: 66436d88-6521-44c3-9c79-607057d80e29

To get permission to view the Cloud Build view, join the agones-discuss Google Group.

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😱

Build Id: 7eb17ccc-c585-4e1a-9046-ccddc3fba753

To get permission to view the Cloud Build view, join the agones-discuss Google Group.

@Kalaiselvi84 Kalaiselvi84 changed the title Set Minimums for DesiredCapacity and Buffer to 1 Set Minimum Buffer Size to 1 Apr 11, 2024
@markmandel
Copy link
Copy Markdown
Member

@igooch is there any e2e tests here to update that would also need to be updated?

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 👏

Build Id: d91f7765-28d9-4b1c-b3f6-ded9c6f48d62

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3749/head:pr_3749 && git checkout pr_3749
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.40.0-dev-2fc8bad-amd64

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 👏

Build Id: 34fd4157-9785-4272-b92f-fb6033506da4

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3749/head:pr_3749 && git checkout pr_3749
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.40.0-dev-78d2675-amd64

Comment thread pkg/fleetautoscalers/fleetautoscalers_test.go Outdated
@agones-bot
Copy link
Copy Markdown
Collaborator

Build Failed 😱

Build Id: 02453ae0-b466-4e72-b307-7638dd5acfcc

To get permission to view the Cloud Build view, join the agones-discuss Google Group.

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 👏

Build Id: 7d8aa50a-6335-4459-bdd6-04942ecff669

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3749/head:pr_3749 && git checkout pr_3749
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.40.0-dev-451b4f8-amd64

Comment thread pkg/fleetautoscalers/fleetautoscalers.go Outdated
Comment thread pkg/fleetautoscalers/fleetautoscalers.go Outdated
Comment thread pkg/fleetautoscalers/fleetautoscalers.go Outdated
@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 👏

Build Id: 9463b6c3-1d29-438b-ac92-734a48f801ef

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3749/head:pr_3749 && git checkout pr_3749
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.41.0-dev-ec72f7f-amd64

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 👏

Build Id: 204267c3-cfd9-4cb1-8c57-4c07d9361cf0

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3749/head:pr_3749 && git checkout pr_3749
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.41.0-dev-f98e459-amd64

Copy link
Copy Markdown
Collaborator

@igooch igooch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On about line 322 I'd recommend doing something like:

		// If the Aggregated Allocated Counts is 0 then desired capacity gets calculated as 0. If the
		// capacity of 1 replica is equal to or greater than minimum capacity we can exit early.
		if aggAllocatedCount <= 0 && capacity >= minCapacity {
			return 1, true, nil
		}

It's a bit convoluted, but it will get us the desired result. I think this takes care of all the edge cases, but if you can think of any others let me know.

Comment thread pkg/fleetautoscalers/fleetautoscalers_test.go Outdated
Comment on lines +490 to +492
if replicas == 1 {
return 1, true, nil
}
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if replicas == 1 {
return 1, true, nil
}

This doesn't quite work, because there are cases where scaling down to 1 replica is desired (not limited). This is the case the test case "scale down".

Copy link
Copy Markdown
Contributor Author

@Kalaiselvi84 Kalaiselvi84 May 9, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have rolled back all the changes from the scaleDown method and modified the code as per your suggestion. I adjusted the TestApplyCounterPolicy/scale down test case to not be limited: limited: false. Both the TestApplyCounterPolicy and TestApplyListPolicy tests have passed.

@agones-bot
Copy link
Copy Markdown
Collaborator

Build Succeeded 👏

Build Id: 429b7ce6-718e-4849-8d6c-0ae510f2acd6

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3749/head:pr_3749 && git checkout pr_3749
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.41.0-dev-1b4f2b9-amd64

Copy link
Copy Markdown
Collaborator

@igooch igooch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@igooch igooch merged commit 8749377 into agones-dev:main May 9, 2024
spiceratops referenced this pull request in spiceratops/k8s-gitops Jun 8, 2024
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [agones](https://agones.dev)
([source](https://togithub.com/googleforgames/agones)) | minor |
`1.40.0` -> `1.41.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>googleforgames/agones (agones)</summary>

###
[`v1.41.0`](https://togithub.com/googleforgames/agones/blob/HEAD/CHANGELOG.md#v1410-2024-06-04)

[Compare
Source](https://togithub.com/googleforgames/agones/compare/v1.40.0...v1.41.0)

[Full
Changelog](https://togithub.com/googleforgames/agones/compare/v1.40.0...v1.41.0)

**Implemented enhancements:**

- Configure Allocator Status Code by
[@&#8203;Kalaiselvi84](https://togithub.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3782](https://togithub.com/googleforgames/agones/pull/3782)
- Graduate Counters and Lists to Beta by
[@&#8203;Kalaiselvi84](https://togithub.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3801](https://togithub.com/googleforgames/agones/pull/3801)
- Passthrough autopilot - Adds an AutopilotPassthroughPort Feature Gate
and new pod label by [@&#8203;vicentefb](https://togithub.com/vicentefb)
in
[https://github.com/googleforgames/agones/pull/3809](https://togithub.com/googleforgames/agones/pull/3809)
- CountsAndLists: Move to Beta Protobuf by
[@&#8203;Kalaiselvi84](https://togithub.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3806](https://togithub.com/googleforgames/agones/pull/3806)
- feat: support multiple port ranges by
[@&#8203;nrwiersma](https://togithub.com/nrwiersma) in
[https://github.com/googleforgames/agones/pull/3747](https://togithub.com/googleforgames/agones/pull/3747)
- Changes `sdk-server` to Patch instead of Update by
[@&#8203;igooch](https://togithub.com/igooch) in
[https://github.com/googleforgames/agones/pull/3803](https://togithub.com/googleforgames/agones/pull/3803)
- Generate grpc for nodejs from alpha to beta by
[@&#8203;lacroixthomas](https://togithub.com/lacroixthomas) in
[https://github.com/googleforgames/agones/pull/3825](https://togithub.com/googleforgames/agones/pull/3825)
- Update CountsAndLists from Alpha to Beta by
[@&#8203;Kalaiselvi84](https://togithub.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3824](https://togithub.com/googleforgames/agones/pull/3824)
- feat(gameserver): New DirectToGameServer PortPolicy allows direct
traffic to a GameServer by
[@&#8203;daniellee](https://togithub.com/daniellee) in
[https://github.com/googleforgames/agones/pull/3807](https://togithub.com/googleforgames/agones/pull/3807)
- Passthrough autopilot - Adds mutating webhook by
[@&#8203;vicentefb](https://togithub.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3833](https://togithub.com/googleforgames/agones/pull/3833)
- Passthrough autopilot - added ports array case and updated unit tests
by [@&#8203;vicentefb](https://togithub.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3842](https://togithub.com/googleforgames/agones/pull/3842)
- Nodejs counters and lists by
[@&#8203;steven-supersolid](https://togithub.com/steven-supersolid) in
[https://github.com/googleforgames/agones/pull/3726](https://togithub.com/googleforgames/agones/pull/3726)
- Promote AutopilotPassthroughPort feature gate to Alpha by
[@&#8203;vicentefb](https://togithub.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3849](https://togithub.com/googleforgames/agones/pull/3849)

**Fixed bugs:**

- Helm Param Update: Default to agones.controller if agones.extensions
is Missing by [@&#8203;Kalaiselvi84](https://togithub.com/Kalaiselvi84)
in
[https://github.com/googleforgames/agones/pull/3773](https://togithub.com/googleforgames/agones/pull/3773)
- fix: rollout strategy issues by
[@&#8203;nrwiersma](https://togithub.com/nrwiersma) in
[https://github.com/googleforgames/agones/pull/3762](https://togithub.com/googleforgames/agones/pull/3762)
- Set Minimum Buffer Size to 1 by
[@&#8203;Kalaiselvi84](https://togithub.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3749](https://togithub.com/googleforgames/agones/pull/3749)
- Pin ltsc2019 to older SHA by
[@&#8203;zmerlynn](https://togithub.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3829](https://togithub.com/googleforgames/agones/pull/3829)
- TestGameServerAllocationDuringMultipleAllocationClients: Readdress
flake by [@&#8203;zmerlynn](https://togithub.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3831](https://togithub.com/googleforgames/agones/pull/3831)
- Refactor finalizer name to include valid domain name and path by
[@&#8203;indexjoseph](https://togithub.com/indexjoseph) in
[https://github.com/googleforgames/agones/pull/3840](https://togithub.com/googleforgames/agones/pull/3840)
- agones-{extensions,allocator}: Be more defensive about draining by
[@&#8203;zmerlynn](https://togithub.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3839](https://togithub.com/googleforgames/agones/pull/3839)
- agones-{extensions,allocator}: Pause after cancelling context by
[@&#8203;zmerlynn](https://togithub.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3843](https://togithub.com/googleforgames/agones/pull/3843)
- Change the line to modify in Quickstart: Edit a Game Server by
[@&#8203;peterzhongyi](https://togithub.com/peterzhongyi) in
[https://github.com/googleforgames/agones/pull/3844](https://togithub.com/googleforgames/agones/pull/3844)

**Other:**

- Prep for Release v1.41.0 by
[@&#8203;Kalaiselvi84](https://togithub.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3800](https://togithub.com/googleforgames/agones/pull/3800)
- Update site documentation to reflect firewall prefix and default to
Autopilot cluster creation for Agones by
[@&#8203;vicentefb](https://togithub.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3769](https://togithub.com/googleforgames/agones/pull/3769)
- Add a System Diagram and overview page by
[@&#8203;zmerlynn](https://togithub.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3792](https://togithub.com/googleforgames/agones/pull/3792)
- Update Side Menu: Preserve and Restore Scroll Position by
[@&#8203;Kalaiselvi84](https://togithub.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3805](https://togithub.com/googleforgames/agones/pull/3805)
- fix: typo by [@&#8203;skmpf](https://togithub.com/skmpf) in
[https://github.com/googleforgames/agones/pull/3808](https://togithub.com/googleforgames/agones/pull/3808)
- Helm Config: Add httpUnallocatedStatusCode in Allocator Service by
[@&#8203;Kalaiselvi84](https://togithub.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3802](https://togithub.com/googleforgames/agones/pull/3802)
- Update Docs: CountersAndLists to Beta by
[@&#8203;Kalaiselvi84](https://togithub.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3810](https://togithub.com/googleforgames/agones/pull/3810)
- Disable Dev feature FeatureAutopilotPassthroughPort by
[@&#8203;vicentefb](https://togithub.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3815](https://togithub.com/googleforgames/agones/pull/3815)
- Disable FeatureAutopilotPassthroughPort in features.go by
[@&#8203;vicentefb](https://togithub.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3816](https://togithub.com/googleforgames/agones/pull/3816)
- SDK proto compatibility guarantees and deprecation policies
documentation by [@&#8203;igooch](https://togithub.com/igooch) in
[https://github.com/googleforgames/agones/pull/3774](https://togithub.com/googleforgames/agones/pull/3774)
- Fix dangling "as of" by
[@&#8203;zmerlynn](https://togithub.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3827](https://togithub.com/googleforgames/agones/pull/3827)
- Steps to Promote SDK Features from Alpha to Beta by
[@&#8203;Kalaiselvi84](https://togithub.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3814](https://togithub.com/googleforgames/agones/pull/3814)
- Adds comment for help troubleshooting issues with terraform tfstate by
[@&#8203;igooch](https://togithub.com/igooch) in
[https://github.com/googleforgames/agones/pull/3822](https://togithub.com/googleforgames/agones/pull/3822)
- docs: improve counter and list example comments by
[@&#8203;yonbh](https://togithub.com/yonbh) in
[https://github.com/googleforgames/agones/pull/3818](https://togithub.com/googleforgames/agones/pull/3818)
- Skip /tmp/ on yamllint by
[@&#8203;zmerlynn](https://togithub.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3838](https://togithub.com/googleforgames/agones/pull/3838)
- TestAllocatorAfterDeleteReplica: More logging by
[@&#8203;zmerlynn](https://togithub.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3837](https://togithub.com/googleforgames/agones/pull/3837)
- Instructions for upgrading golang version by
[@&#8203;gongmax](https://togithub.com/gongmax) in
[https://github.com/googleforgames/agones/pull/3819](https://togithub.com/googleforgames/agones/pull/3819)
- Remove unused function FindGameServerContainer by
[@&#8203;zmerlynn](https://togithub.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3841](https://togithub.com/googleforgames/agones/pull/3841)
- Adds Unreal to the List of URL Links to Not Check by
[@&#8203;igooch](https://togithub.com/igooch) in
[https://github.com/googleforgames/agones/pull/3847](https://togithub.com/googleforgames/agones/pull/3847)
- docs: clarify virtualization setup for Windows versions by
[@&#8203;andresromerodev](https://togithub.com/andresromerodev) in
[https://github.com/googleforgames/agones/pull/3850](https://togithub.com/googleforgames/agones/pull/3850)

**New Contributors:**

- [@&#8203;skmpf](https://togithub.com/skmpf) made their first
contribution in
[https://github.com/googleforgames/agones/pull/3808](https://togithub.com/googleforgames/agones/pull/3808)
- [@&#8203;yonbh](https://togithub.com/yonbh) made their first
contribution in
[https://github.com/googleforgames/agones/pull/3818](https://togithub.com/googleforgames/agones/pull/3818)
- [@&#8203;peterzhongyi](https://togithub.com/peterzhongyi) made their
first contribution in
[https://github.com/googleforgames/agones/pull/3844](https://togithub.com/googleforgames/agones/pull/3844)
- [@&#8203;andresromerodev](https://togithub.com/andresromerodev) made
their first contribution in
[https://github.com/googleforgames/agones/pull/3850](https://togithub.com/googleforgames/agones/pull/3850)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9oZWxtIiwidHlwZS9taW5vciJdfQ==-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/bug These are bugs. size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Scale Down by Percent CounterPolicy or ListPolicy Can Lead to 0 Replicas

4 participants