fix(discovery): fall back to the pod when Agones publishes no PodIP#62
Merged
Conversation
The proxy threw away every pushed gamemode: Failed to register Agones GameServer (serverName=duel-…, reason=missing_address, addressType=PodIP) Agones does not always publish the pod's address in the GameServer's status. The bundle's lobby fleets carry Hostname, InternalIP and PodIP; the fleets forge renders for a pushed gamemode carry only the first two. A proxy that insists on PodIP therefore registers no backend for them at all — the server builds, deploys, reports Ready, and no player can ever reach it. From the outside that is indistinguishable from a broken game. The pod is where that address comes from anyway, and Agones names it after the GameServer, so read it directly when the status does not carry it. Never the node's InternalIP: that would route players to a machine instead of to their server. Needs pods:get on the proxy's Role (forge side follows).
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



The proxy threw away every pushed gamemode:
Why
Agones does not always publish the pod's address in the GameServer's status. Verified live in
vcluster-dahendriik:status.addressesminestom-lobby-…(bundle chart)duel-…(forge Fleet, pushed gamemode)A proxy that insists on PodIP therefore registers no backend for a pushed gamemode. The server builds, deploys, reports
Ready, sits there healthy — and no player can ever reach it. From the outside that is indistinguishable from a broken game. It is also why/queue"did not work": the command lives on the duel server, and there was no route to it.The fix
The pod is where that address comes from anyway, and Agones names the pod after the GameServer — so read it directly when the status does not carry it.
Never the node's
InternalIP: that would route players to a machine instead of to their server, which is worse than failing.Same bug and same fix as service-match#12, which hit it from the allocator's side.
Needs
pods: geton the proxy's Role — forge side follows.