Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix(Counter & Lists): Add validation for priorities #3714

Conversation

lacroixthomas
Copy link
Contributor

What type of PR is this?

/kind bug

What this PR does / Why we need it:
Add validation of the priorities for the Counts and Lists feature.

Which issue(s) this PR fixes:

Closes #3684

Special notes for your reviewer:
This is my first contribution on this project, I'm open to any suggestions / changes, thanks !

Copy link

google-cla bot commented Mar 15, 2024

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@github-actions github-actions bot added kind/bug These are bugs. size/M labels Mar 15, 2024
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 7dfff481-df01-440e-8769-59acf2d488ec

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/3714/head:pr_3714 && git checkout pr_3714
  • 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-53ce695-amd64

@lacroixthomas lacroixthomas force-pushed the fix/GameServerAllocation-priorities-validation branch from 53ce695 to a87d8ad Compare March 18, 2024 22:27
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 55d90737-94a3-4b7e-9452-b6a0b4a571f3

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/3714/head:pr_3714 && git checkout pr_3714
  • 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-a87d8ad-amd64

@markmandel
Copy link
Member

Thanks for the submission! A lot of us are at GDC this week, so we might not get to review this until next week.

Copy link
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.

Thanks for the fix! One small comment, otherwise LGTM.

allErrs = append(allErrs, field.Invalid(keyPath, priority.Type, "key must not be nil"))
}
if priority.Order != agonesv1.GameServerPriorityAscending && priority.Order != agonesv1.GameServerPriorityDescending {
allErrs = append(allErrs, field.Invalid(keyPath, priority.Order, "order must be \"Increment\" or \"Decrement\""))
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
allErrs = append(allErrs, field.Invalid(keyPath, priority.Order, "order must be \"Increment\" or \"Decrement\""))
allErrs = append(allErrs, field.Invalid(keyPath, priority.Order, "order must be \"Ascending\" or \"Descending\""))

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Youps missed that, just pushed the changes, Thanks !

Copy link
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 enabled auto-merge (squash) March 19, 2024 19:40
@igooch igooch disabled auto-merge March 19, 2024 19:41
@igooch igooch enabled auto-merge (squash) March 19, 2024 19:41
@agones-bot
Copy link
Collaborator

Build Failed 😱

Build Id: 19dbb758-dbd0-49dc-96f0-8a7e0279f244

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

@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 94a0d200-f6df-48a8-9661-d1821c59de7d

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/3714/head:pr_3714 && git checkout pr_3714
  • 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-b611aa8-amd64

@igooch igooch merged commit a1a1cd9 into googleforgames:main Mar 20, 2024
4 checks passed
@lacroixthomas lacroixthomas deleted the fix/GameServerAllocation-priorities-validation branch March 22, 2024 18:04
spiceratops referenced this pull request in spiceratops/k8s-gitops May 13, 2024
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [agones](https://agones.dev)
([source](https://github.com/googleforgames/agones)) | minor |
`1.39.0` -> `1.40.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.40.0`](https://github.com/googleforgames/agones/blob/HEAD/CHANGELOG.md#v1400-2024-04-23)

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

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

**Breaking changes:**

- Counters and Lists: Remove Bool Returns by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3738](https://github.com/googleforgames/agones/pull/3738)

**Implemented enhancements:**

- Leader Election in Custom Controller by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3696](https://github.com/googleforgames/agones/pull/3696)
- Migrating from generate-groups.sh to kube_codegen.sh by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3722](https://github.com/googleforgames/agones/pull/3722)
- Move GKEAutopilotExtendedDurationPods to Alpha in 1.28+ by
[@&#8203;zmerlynn](https://github.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3729](https://github.com/googleforgames/agones/pull/3729)
- Move DisableResyncOnSDKServer to Beta by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3732](https://github.com/googleforgames/agones/pull/3732)
- Counters & Lists landing page and doc improvements by
[@&#8203;markmandel](https://github.com/markmandel) in
[https://github.com/googleforgames/agones/pull/3649](https://github.com/googleforgames/agones/pull/3649)
- Graduate FleetAllocationOverflow to Stable by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3733](https://github.com/googleforgames/agones/pull/3733)
- Adds Counters and Lists to CSharp SDK by
[@&#8203;igooch](https://github.com/igooch) in
[https://github.com/googleforgames/agones/pull/3581](https://github.com/googleforgames/agones/pull/3581)
- Feat/counter and list defaulting order to ascending by
[@&#8203;lacroixthomas](https://github.com/lacroixthomas) in
[https://github.com/googleforgames/agones/pull/3734](https://github.com/googleforgames/agones/pull/3734)
- Add handling for StatusAddresses in GameServerStatus for the Unity SDK
by [@&#8203;charlesvien](https://github.com/charlesvien) in
[https://github.com/googleforgames/agones/pull/3739](https://github.com/googleforgames/agones/pull/3739)
- Feat(gameservers): Shared pod IPs with GameServer Addresses by
[@&#8203;lacroixthomas](https://github.com/lacroixthomas) in
[https://github.com/googleforgames/agones/pull/3764](https://github.com/googleforgames/agones/pull/3764)
- Be prescriptive about rotating regions when updating Kubernetes
versions by [@&#8203;zmerlynn](https://github.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3716](https://github.com/googleforgames/agones/pull/3716)
- Fix ensure-e2e-infra-state-bucket by
[@&#8203;zmerlynn](https://github.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3719](https://github.com/googleforgames/agones/pull/3719)
- Create Performance Cluster 1.28 by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3720](https://github.com/googleforgames/agones/pull/3720)
- Optimise GameServer Sub-Controller Queues by
[@&#8203;markmandel](https://github.com/markmandel) in
[https://github.com/googleforgames/agones/pull/3781](https://github.com/googleforgames/agones/pull/3781)

**Fixed bugs:**

- Counters & Lists: Consolidate `priorities` sorting by
[@&#8203;markmandel](https://github.com/markmandel) in
[https://github.com/googleforgames/agones/pull/3690](https://github.com/googleforgames/agones/pull/3690)
- Fix(Counter & Lists): Add validation for `priorities` by
[@&#8203;lacroixthomas](https://github.com/lacroixthomas) in
[https://github.com/googleforgames/agones/pull/3714](https://github.com/googleforgames/agones/pull/3714)
- fix:
[#&#8203;3607](https://github.com/googleforgames/agones/issues/3607)
Metrics data loss in K8S controller by
[@&#8203;alvin-7](https://github.com/alvin-7) in
[https://github.com/googleforgames/agones/pull/3692](https://github.com/googleforgames/agones/pull/3692)
- Deflake GameServerAllocationDuringMultipleAllocationClients by
allowing errors by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3750](https://github.com/googleforgames/agones/pull/3750)

**Security fixes:**

- Bump protobufjs from 7.2.4 to 7.2.6 in /sdks/nodejs by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/googleforgames/agones/pull/3755](https://github.com/googleforgames/agones/pull/3755)
- Bump golang.org/x/net from 0.19.0 to 0.23.0 by
[@&#8203;zmerlynn](https://github.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3793](https://github.com/googleforgames/agones/pull/3793)

**Other:**

- Flaky: TestGameServerCreationAfterDeletingOneExtensionsPod by
[@&#8203;markmandel](https://github.com/markmandel) in
[https://github.com/googleforgames/agones/pull/3699](https://github.com/googleforgames/agones/pull/3699)
- Prep for release v1.40.0 by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3700](https://github.com/googleforgames/agones/pull/3700)
- Bumps cpp-simple Image and Refactoring Example Makefiles by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3695](https://github.com/googleforgames/agones/pull/3695)
- Upgrade Protobuf to 1.33.0 by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3711](https://github.com/googleforgames/agones/pull/3711)
- Modify Script for Makefile Version Updates in Examples Directory by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3712](https://github.com/googleforgames/agones/pull/3712)
- Adds simple genai server example documentation to the Agones site by
[@&#8203;igooch](https://github.com/igooch) in
[https://github.com/googleforgames/agones/pull/3713](https://github.com/googleforgames/agones/pull/3713)
- Update Supported Kubernetes to 1.27, 1.28, 1.29 by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3654](https://github.com/googleforgames/agones/pull/3654)
- fix: typo in docs by [@&#8203;qhyun2](https://github.com/qhyun2) in
[https://github.com/googleforgames/agones/pull/3723](https://github.com/googleforgames/agones/pull/3723)
- Tweak: Setting up the Game Server by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3717](https://github.com/googleforgames/agones/pull/3717)
- Docs: gke.md - spelling by
[@&#8203;daniellee](https://github.com/daniellee) in
[https://github.com/googleforgames/agones/pull/3740](https://github.com/googleforgames/agones/pull/3740)
- Aesthetic rearrangement of cloudbuild.yaml by
[@&#8203;zmerlynn](https://github.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3741](https://github.com/googleforgames/agones/pull/3741)
- Docs: Make hitting <enter> on connection explicit by
[@&#8203;markmandel](https://github.com/markmandel) in
[https://github.com/googleforgames/agones/pull/3743](https://github.com/googleforgames/agones/pull/3743)
- CI: Don't check Unreal Link by
[@&#8203;markmandel](https://github.com/markmandel) in
[https://github.com/googleforgames/agones/pull/3745](https://github.com/googleforgames/agones/pull/3745)
- New recommendation for multi-cluster allocation by
[@&#8203;markmandel](https://github.com/markmandel) in
[https://github.com/googleforgames/agones/pull/3744](https://github.com/googleforgames/agones/pull/3744)
- Custom Controller Example Page on Agones Website by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3725](https://github.com/googleforgames/agones/pull/3725)
- Add Nitrado logo by [@&#8203;towolf](https://github.com/towolf) in
[https://github.com/googleforgames/agones/pull/3753](https://github.com/googleforgames/agones/pull/3753)
- Remove unnecessary args from e2e-test-cloudbuild by
[@&#8203;zmerlynn](https://github.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3754](https://github.com/googleforgames/agones/pull/3754)
- Update Allocation from Fleet Documentation by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3761](https://github.com/googleforgames/agones/pull/3761)
- Transform Lint Warnings into Errors by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3756](https://github.com/googleforgames/agones/pull/3756)
- Update Canary Testing Documentation by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3760](https://github.com/googleforgames/agones/pull/3760)
- Supertuxkart Example on Agones Site by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3728](https://github.com/googleforgames/agones/pull/3728)
- Xonotic Example on Agones Site by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3742](https://github.com/googleforgames/agones/pull/3742)
- nit documentation fix in kind cluster section when building Agones by
[@&#8203;vicentefb](https://github.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3770](https://github.com/googleforgames/agones/pull/3770)
- Merged steps inside documentation about webhook certificate creation
by [@&#8203;vicentefb](https://github.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3768](https://github.com/googleforgames/agones/pull/3768)
- Example Images: Increment Tags by
[@&#8203;Kalaiselvi84](https://github.com/Kalaiselvi84) in
[https://github.com/googleforgames/agones/pull/3796](https://github.com/googleforgames/agones/pull/3796)
- Update simple game server example documentation by
[@&#8203;vicentefb](https://github.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3776](https://github.com/googleforgames/agones/pull/3776)

**New Contributors:**

- [@&#8203;lacroixthomas](https://github.com/lacroixthomas) made their
first contribution in
[https://github.com/googleforgames/agones/pull/3714](https://github.com/googleforgames/agones/pull/3714)
- [@&#8203;daniellee](https://github.com/daniellee) made their first
contribution in
[https://github.com/googleforgames/agones/pull/3740](https://github.com/googleforgames/agones/pull/3740)
- [@&#8203;charlesvien](https://github.com/charlesvien) made their
first contribution in
[https://github.com/googleforgames/agones/pull/3739](https://github.com/googleforgames/agones/pull/3739)
- [@&#8203;vicentefb](https://github.com/vicentefb) made their first
contribution in
[https://github.com/googleforgames/agones/pull/3770](https://github.com/googleforgames/agones/pull/3770)

</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://github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTYuMSIsInVwZGF0ZWRJblZlciI6IjM3LjM1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9oZWxtIiwidHlwZS9taW5vciJdfQ==-->
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/M
Projects
None yet
Development

Successfully merging this pull request may close these issues.

No validation on GameServerAllocation.Priorities
5 participants