Static/TCPUDP support for the container ports
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
What this PR does / Why we need it:
Which issue(s) this PR fixes: Closes #2314
Special notes for your reviewer:
Build Failed :scream:
Build Id: 07a392c2-60e0-45b5-a6d0-c7f2c20095eb
To get permission to view the Cloud Build view, join the agones-discuss Google Group.
Build Failed :scream:
Build Id: aa09325d-46e0-4536-8db9-8ee4797c1da3
To get permission to view the Cloud Build view, join the agones-discuss Google Group.
Build Failed :scream:
Build Id: ef35753f-8557-4484-839d-b9fe5a700a38
To get permission to view the Cloud Build view, join the agones-discuss Google Group.
In the previous PR we had discussed having an e2e test to complete the level of testing. I'd like to see that in this PR.
Build Succeeded :clap:
Build Id: 96644271-0a62-4cea-9673-bd8b1be1be69
The following development artifacts have been built, and will exist for the next 30 days:
- image: gcr.io/agones-images/agones-controller:1.23.0-66f3356
- image: gcr.io/agones-images/agones-ping:1.23.0-66f3356
- Linux C++ SDK (build): agonessdk-1.23.0-66f3356-linux-arch_64.tar.gz
- SDK Server: agonessdk-server-1.23.0-66f3356.zip
A preview of the website (the last 30 builds are retained):
- https://66f3356-dot-preview-dot-agones-images.appspot.com/
To install this version:
-
git fetch https://github.com/googleforgames/agones.git pull/2543/head:pr_2543 && git checkout pr_2543 -
helm install ./install/helm/agones --namespace agones-system --name agones --set agones.image.tag=1.23.0-66f3356
In the previous PR we had discussed having an e2e test to complete the level of testing. I'd like to see that in this PR.
Sure, working on that part will update once done
Build Succeeded :clap:
Build Id: 31977c40-38e7-42ad-90e9-591c352ca422
The following development artifacts have been built, and will exist for the next 30 days:
- image: gcr.io/agones-images/agones-controller:1.23.0-633476a
- image: gcr.io/agones-images/agones-ping:1.23.0-633476a
- Linux C++ SDK (build): agonessdk-1.23.0-633476a-linux-arch_64.tar.gz
- SDK Server: agonessdk-server-1.23.0-633476a.zip
A preview of the website (the last 30 builds are retained):
- https://633476a-dot-preview-dot-agones-images.appspot.com/
To install this version:
-
git fetch https://github.com/googleforgames/agones.git pull/2543/head:pr_2543 && git checkout pr_2543 -
helm install ./install/helm/agones --namespace agones-system --name agones --set agones.image.tag=1.23.0-633476a
Build Failed :scream:
Build Id: 4885e72f-8f92-4afc-aaf0-4b38bc110a3b
To get permission to view the Cloud Build view, join the agones-discuss Google Group.
Build Failed :scream:
Build Id: ba1b3cbb-e887-4743-9046-e1079eb900db
To get permission to view the Cloud Build view, join the agones-discuss Google Group.
Build Succeeded :clap:
Build Id: fb6cf113-5012-4a43-a5ea-7b5f70486093
The following development artifacts have been built, and will exist for the next 30 days:
- image: gcr.io/agones-images/agones-controller:1.23.0-1ac409c
- image: gcr.io/agones-images/agones-ping:1.23.0-1ac409c
- Linux C++ SDK (build): agonessdk-1.23.0-1ac409c-linux-arch_64.tar.gz
- SDK Server: agonessdk-server-1.23.0-1ac409c.zip
A preview of the website (the last 30 builds are retained):
- https://1ac409c-dot-preview-dot-agones-images.appspot.com/
To install this version:
-
git fetch https://github.com/googleforgames/agones.git pull/2543/head:pr_2543 && git checkout pr_2543 -
helm install ./install/helm/agones --namespace agones-system --name agones --set agones.image.tag=1.23.0-1ac409c
Build Failed :scream:
Build Id: 289e04ce-1296-4bfc-9cde-f59d9bfc6b0b
To get permission to view the Cloud Build view, join the agones-discuss Google Group.
Build Succeeded :clap:
Build Id: 4f91b848-a4d7-4e72-b023-1abccd667553
The following development artifacts have been built, and will exist for the next 30 days:
- image: gcr.io/agones-images/agones-controller:1.23.0-da1b136
- image: gcr.io/agones-images/agones-ping:1.23.0-da1b136
- Linux C++ SDK (build): agonessdk-1.23.0-da1b136-linux-arch_64.tar.gz
- SDK Server: agonessdk-server-1.23.0-da1b136.zip
A preview of the website (the last 30 builds are retained):
- https://da1b136-dot-preview-dot-agones-images.appspot.com/
To install this version:
-
git fetch https://github.com/googleforgames/agones.git pull/2543/head:pr_2543 && git checkout pr_2543 -
helm install ./install/helm/agones --namespace agones-system --name agones --set agones.image.tag=1.23.0-da1b136
Build Failed :scream:
Build Id: b404614b-6245-442d-8e3f-cdcad1e38f35
To get permission to view the Cloud Build view, join the agones-discuss Google Group.
Build Failed :scream:
Build Id: e7dd9ea3-0819-4bd9-bfa5-6fed056b75a1
To get permission to view the Cloud Build view, join the agones-discuss Google Group.
Build Failed :scream:
Build Id: dd61a7c7-2474-4b0d-ad76-2ea8d3362cb9
To get permission to view the Cloud Build view, join the agones-discuss Google Group.
I can replicate this locally, when running kubectl describe gs on the Unhealthy GameServer I see int the events:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning Error 28s gameserver-controller Pod "game-servervfprv" is invalid: spec.containers[1].ports[0].protocol: Unsupported value: "TCPUDP": supported values: "SCTP", "TCP", "UDP"
Warning Unhealthy 28s missing-pod-controller Pod is missing
Build Failed :scream:
Build Id: 5b9a0e7a-94ea-4def-8788-ab15a534428e
To get permission to view the Cloud Build view, join the agones-discuss Google Group.
Build Failed :scream:
Build Id: 05c2c516-72c7-4bc8-857b-696e5b8ff62f
To get permission to view the Cloud Build view, join the agones-discuss Google Group.
So confirmed that the e2e test is not working:
--- FAIL: TestGameServerTcpUdpProtocol (0.01s)
--- FAIL: TestGameServerTcpUdpProtocol/Validating_tcpudp_protocol_for_Static (304.87s)
gameserver_test.go:815:
Error Trace: gameserver_test.go:815
Error: Could not get a GameServer ready
Test: TestGameServerTcpUdpProtocol/Validating_tcpudp_protocol_for_Static
Messages: waiting for {game-server [{gameserver Static <nil> 7654 7654 TCPUDP}] {false 0 0 0} { 0 0} {{ 0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] [] []} {[] [] [{game-server gcr.io/agones-images/simple-game-server:0.13 [] [] [] [] [{TCP TRUE nil}] {map[cpu:{{30 -3} {<nil>} 30m DecimalSI} memory:{{33554432 0} {<nil>} BinarySI}] map[cpu:{{30 -3} {<nil>} 30m DecimalSI} memory:{{33554432 0} {<nil>} BinarySI}]} [] [] nil nil nil nil IfNotPresent nil false false false}] [] <nil> <nil> map[] <nil> false false false <nil> nil [] nil [] [] <nil> nil [] <nil> <nil> <nil> map[] [] <nil>}} <nil>} GameServer instance readiness timed out (): waiting for GameServer to be Ready 1656016918/game-server2w4xf: timed out waiting for the condition
--- FAIL: TestGameServerTcpUdpProtocol/Validating_tcpudp_protocol_for_Dynamic (305.10s)
gameserver_test.go:815:
Error Trace: gameserver_test.go:815
Error: Could not get a GameServer ready
Test: TestGameServerTcpUdpProtocol/Validating_tcpudp_protocol_for_Dynamic
Messages: waiting for {game-server [{gameserver Static <nil> 7654 7654 TCPUDP}] {false 0 0 0} { 0 0} {{ 0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] [] []} {[] [] [{game-server gcr.io/agones-images/simple-game-server:0.13 [] [] [] [] [{TCP TRUE nil}] {map[cpu:{{30 -3} {<nil>} 30m DecimalSI} memory:{{33554432 0} {<nil>} BinarySI}] map[cpu:{{30 -3} {<nil>} 30m DecimalSI} memory:{{33554432 0} {<nil>} BinarySI}]} [] [] nil nil nil nil IfNotPresent nil false false false}] [] <nil> <nil> map[] <nil> false false false <nil> nil [] nil [] [] <nil> nil [] <nil> <nil> <nil> map[] [] <nil>}} <nil>} GameServer instance readiness timed out (): waiting for GameServer to be Ready 1656016918/game-servern6fk7: timed out waiting for the condition
FAIL
e2e-stable
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: SaitejaTamma
Once this PR has been reviewed and has the lgtm label, please assign ericfortin for approval by writing /assign @ericfortin in a comment. For more information see:The Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
Build Failed :scream:
Build Id: a47e606c-4edd-4550-8f1d-9e6fd2f81911
To get permission to view the Cloud Build view, join the agones-discuss Google Group.
I'm going to close this, and we can reassign the work at a later date.