Thanks to visit codestin.com
Credit goes to github.com

Skip to content

build: replace MetalLB with minikube tunnel for LoadBalancer support#4629

Merged
markmandel merged 2 commits into
agones-dev:mainfrom
markmandel:build/minikube-tunnel
Jun 22, 2026
Merged

build: replace MetalLB with minikube tunnel for LoadBalancer support#4629
markmandel merged 2 commits into
agones-dev:mainfrom
markmandel:build/minikube-tunnel

Conversation

@markmandel

Copy link
Copy Markdown
Member

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:

Switches minikube cluster setup to use minikube tunnel instead of MetalLB for providing external IPs to LoadBalancer services, and updates the Minikube installation docs accordingly.

This is to solve the issue we were having where you couldn't connect to Agones Services through MetalLB on minikube.

Which issue(s) this PR fixes:

N/A

Did you use AI tools in preparing this PR?:

Y

Special notes for your reviewer:

I don't know when this ability came to Minikube, but it's neat that it does it natively!

Switches minikube cluster setup to use `minikube tunnel` instead of
MetalLB for providing external IPs to LoadBalancer services, and updates
the Minikube installation docs accordingly.

This is to solve the issue we were having where you couldn't connect to
Agones Services through MetalLB on minikube.

Signed-off-by: Mark Mandel <[email protected]>
@markmandel markmandel requested a review from a team June 22, 2026 04:12
@markmandel markmandel added the area/build-tools Development tooling. I.e. pretty much everything in the `build` directory. label Jun 22, 2026
@github-actions github-actions Bot added kind/cleanup Refactoring code, fixing up documentation, etc size/S labels Jun 22, 2026
@agones-bot

Copy link
Copy Markdown
Collaborator

Build Failed 😭

Build Id: fddd8115-ed19-4fb1-9923-b2c39e889436

Status: FAILURE

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

@markmandel

Copy link
Copy Markdown
Member Author

/gcbrun

Weird flake

VERBOSE: === CONT  TestRustGameServerReady
VERBOSE: time="2026-06-22 04:40:35.573" level=info msg="Checking Fleet Ready replicas" expected=1 fleet=simple-fleet-1.06qnnz fleetStatus="{Replicas:1 ReadyReplicas:0 ReservedReplicas:0 AllocatedReplicas:0 Allocations:0 Players:0xc0007d35e0 Counters:map[] Lists:map[]}" test=TestFleetScaleUpAllocateEditAndScaleDownToZero
VERBOSE: time="2026-06-22 04:40:35.796" level=info msg="Waiting for states to match" awaitingState=Ready currentState=Scheduled gs=xonotic-sxg5w test=TestXonoticGameServerReady
VERBOSE: time="2026-06-22 04:40:36.334" level=info msg="Checking Fleet Ready replicas" expected=5 fleet=simple-fleet-1.0g5gtp fleetStatus="{Replicas:5 ReadyReplicas:0 ReservedReplicas:0 AllocatedReplicas:0 Allocations:0 Players:0xc000905cc0 Counters:map[] Lists:map[]}" test=TestFleetScaleWithDualAllocations
VERBOSE: time="2026-06-22 04:40:36.538" level=info msg="Checking Fleet Ready replicas" expected=1 fleet=simple-fleet-1.0cq8bg fleetStatus="{Replicas:2 ReadyReplicas:1 ReservedReplicas:0 AllocatedReplicas:1 Allocations:1 Players:0xc0007446d0 Counters:map[] Lists:map[]}" test=TestAutoscalerBasicFunctions
VERBOSE: time="2026-06-22 04:40:36.636" level=info msg="waiting for fleetautoscaler condition" fleetautoscaler=simple-fleet-1.0cq8bg-autoscaler test=TestAutoscalerBasicFunctions
VERBOSE: time="2026-06-22 04:40:36.676" level=info msg="Patching fleetautoscaler" bufferSize=1 fleetautoscaler=simple-fleet-1.0cq8bg-autoscaler maxReplicas=1 minReplicas=1 patch="[{ \"op\": \"replace\", \"path\": \"/spec/policy/buffer/bufferSize\", \"value\": 1 },{ \"op\": \"replace\", \"path\": \"/spec/policy/buffer/minReplicas\", \"value\": 1 },{ \"op\": \"replace\", \"path\": \"/spec/policy/buffer/maxReplicas\", \"value\": 1 }]"
VERBOSE:     fleetautoscaler_test.go:274: 
VERBOSE:         	Error Trace:	/go/src/agones.dev/agones/test/e2e/fleetautoscaler_test.go:274
VERBOSE:         	Error:      	Received unexpected error:
VERBOSE:         	            	client rate limiter Wait returned an error: rate: Wait(n=1) would exceed context deadline
VERBOSE:         	Test:       	TestFleetAutoScalerRollingUpdate
VERBOSE: time="2026-06-22 04:40:36.840" level=info msg="Patched fleet autoscaler" fleetautoscaler="&{{ } {simple-fleet-1.0cq8bg-autoscaler  1782102865  4fc18205-1931-4e31-8a0b-7e6c290c9c40 1782103236782127003 5 2026-06-22 04:39:45 +0000 UTC <nil> <nil> map[] map[] [] [] [{controller Update autoscaling.agones.dev/v1 2026-06-22 04:40:33 +0000 UTC FieldsV1 {\"f:status\":{\".\":{},\"f:ableToScale\":{},\"f:currentReplicas\":{},\"f:desiredReplicas\":{},\"f:lastAppliedPolicy\":{},\"f:lastScaleTime\":{},\"f:scalingLimited\":{}}} status} {e2e.test Update autoscaling.agones.dev/v1 2026-06-22 04:40:36 +0000 UTC FieldsV1 {\"f:spec\":{\".\":{},\"f:fleetName\":{},\"f:policy\":{\".\":{},\"f:buffer\":{\".\":{},\"f:bufferSize\":{},\"f:maxReplicas\":{},\"f:minReplicas\":{}},\"f:type\":{}},\"f:sync\":{\".\":{},\"f:fixedInterval\":{\".\":{},\"f:seconds\":{}},\"f:type\":{}}}} }]} {simple-fleet-1.0cq8bg {Buffer 0xc000c80a50 <nil> <nil> <nil> <nil> [] <nil>} 0xc00075e258} {4 2 2026-06-22 04:40:33 +0000 UTC true false Buffer}}"
VERBOSE: time="2026-06-22 04:40:36.841" level=info msg="waiting for fleetautoscaler condition" fleetautoscaler=simple-fleet-1.0cq8bg-autoscaler test=TestAutoscalerBasicFunctions
VERBOSE: time="2026-06-22 04:40:37.186" level=info msg="waiting for fleet condition" fleet=simple-fleet-1.0rk9g9 test=TestFleetRequestsLimits
VERBOSE: I0622 04:40:37.307343   10431 request.go:752] "Waited before sending request" delay="3.374255266s" reason="client-side throttling, not priority and fairness" verb="GET" URL="https://35.196.48.42/apis/agones.dev/v1/namespaces/1782102865/gameserversets?labelSelector=agones.dev%2Ffleet%3Dsimple-fleet-1.0sv29r"
VERBOSE: time="2026-06-22 04:40:37.561" level=info msg="Checking Fleet Ready replicas" expected=2 fleet=simple-fleet-1.09r64q fleetStatus="{Replicas:2 ReadyReplicas:1 ReservedReplicas:0 AllocatedReplicas:0 Allocations:0 Players:0xc0007d2e70 Counters:map[] Lists:map[]}" test=TestCreateFleetAndUpdateScaleSubresource
VERBOSE: time="2026-06-22 04:40:37.845" level=info msg="Waiting for states to match" awaitingState=Ready currentState=Scheduled gs=nodejs-simple-qms4f test=TestNodeJSGameServerReady
VERBOSE: time="2026-06-22 04:40:38.312" level=info msg="Checking Fleet Ready replicas" expected=3 fleet=simple-fleet-1.0d7qmc fleetStatus="{Replicas:3 ReadyReplicas:0 ReservedReplicas:0 AllocatedReplicas:0 Allocations:0 Players:0xc00010a790 Counters:map[] Lists:map[]}" test=TestFleetStrategyValidation
VERBOSE: time="2026-06-22 04:40:38.769" level=info msg="waiting for fleet condition" fleet=simple-fleet-1.09ll2c test="TestFleetRollingUpdate/Use_fleet_Patch_true_25%_cycle_false"
VERBOSE: time="2026-06-22 04:40:39.042" level=info msg="GameServer created, waiting for Ready" gs=rust-simple-sclnp test=TestRustGameServerReady
VERBOSE: time="2026-06-22 04:40:39.095" level=info msg="Checking Fleet Ready replicas" expected=1 fleet=simple-fleet-1.06qnnz fleetStatus="{Replicas:1 ReadyReplicas:1 ReservedReplicas:0 AllocatedReplicas:0 Allocations:0 Players:0xc0007ae520 Counters:map[] Lists:map[]}" test=TestFleetScaleUpAllocateEditAndScaleDownToZero
VERBOSE: time="2026-06-22 04:40:39.095" level=info msg="Scaling fleet" fleet=simple-fleet-1.06qnnz patch="[{ \"op\": \"replace\", \"path\": \"/spec/replicas\", \"value\": 5 }]" scale=5
VERBOSE: time="2026-06-22 04:40:39.180" level=info msg="Waiting for states to match" awaitingState=Ready currentState=Scheduled gs=xonotic-sxg5w test=TestXonoticGameServerReady
VERBOSE: time="2026-06-22 04:40:39.455" level=info msg="waiting for fleet condition" fleet=scale-fleet-0-n2jqn test=TestScaleUpAndDownInParallelStressTest
VERBOSE: time="2026-06-22 04:40:39.645" level=info msg="waiting for fleet condition" fleet=scale-fleet-1-t6l7b test=TestScaleUpAndDownInParallelStressTest
VERBOSE: time="2026-06-22 04:40:39.894" level=info msg="Checking Fleet Ready replicas" expected=5 fleet=simple-fleet-1.0g5gtp fleetStatus="{Replicas:5 ReadyReplicas:5 ReservedReplicas:0 AllocatedReplicas:0 Allocations:0 Players:0xc0007af980 Counters:map[] Lists:map[]}" test=TestFleetScaleWithDualAllocations
VERBOSE: E0622 04:40:40.111795   10431 panic.go:336] "Observed a panic" panic="runtime error: invalid memory address or nil pointer dereference" panicGoValue="\"invalid memory address or nil pointer dereference\"" stacktrace=<
VERBOSE: 	goroutine 313 [running]:
VERBOSE: 	k8s.io/apimachinery/pkg/util/runtime.logPanic({0x352c320, 0xc00095f650}, {0x306bb20, 0x4b52030})
VERBOSE: 		/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:132 +0xdc
VERBOSE: 	k8s.io/apimachinery/pkg/util/runtime.handleCrash({0x352c3c8, 0xc000207c70}, {0x306bb20, 0x4b52030}, {0x0, 0x0, 0x4c93ba?})
VERBOSE: 		/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:107 +0x185
VERBOSE: 	k8s.io/apimachinery/pkg/util/runtime.HandleCrashWithContext({0x352c3c8, 0xc000207c70}, {0x0, 0x0, 0x0})
VERBOSE: 		/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:78 +0x5f
VERBOSE: 	panic({0x306bb20?, 0x4b52030?})
VERBOSE: 		/usr/local/go/src/runtime/panic.go:860 +0x13a
VERBOSE: 	agones.dev/agones/test/e2e.TestFleetAutoScalerRollingUpdate.func3({0x352c3c8, 0xc000207c70})
VERBOSE: 		/go/src/agones.dev/agones/test/e2e/fleetautoscaler_test.go:286 +0x248
VERBOSE: 	k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext.func1({0x352c3c8, 0xc000207c70}, 0xc0009d3c70)
VERBOSE: 		/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/loop.go:53 +0xc6
VERBOSE: 	k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext({0x352c3c8, 0xc000207c70}, {0x3517080, 0xc000f06540}, 0x1, 0x0, 0xc0009d3c70)
VERBOSE: 		/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/loop.go:54 +0x177
VERBOSE: 	k8s.io/apimachinery/pkg/util/wait.PollUntilContextTimeout({0x352c200, 0x4bb0480}, 0x3b9aca00, 0x45d964b800, 0x1, 0xc0009d3c70)
VERBOSE: 		/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/poll.go:48 +0xd8
VERBOSE: 	agones.dev/agones/test/e2e.TestFleetAutoScalerRollingUpdate(0xc000871d48)
VERBOSE: 		/go/src/agones.dev/agones/test/e2e/fleetautoscaler_test.go:279 +0x13c8
VERBOSE: 	testing.tRunner(0xc000871d48, 0x34f4018)
VERBOSE: 		/usr/local/go/src/testing/testing.go:2036 +0x21d
VERBOSE: 	created by testing.(*T).Run in goroutine 1
VERBOSE: 		/usr/local/go/src/testing/testing.go:2101 +0xb13
VERBOSE:  >
VERBOSE: === CONT  TestSuperTuxKartGameServerReady
VERBOSE: --- PASS: TestFleetCountsAllocations (18.31s)
VERBOSE: time="2026-06-22 04:40:40.525" level=info msg="waiting for fleet condition" fleet=simple-fleet-1.0g5gtp test=TestFleetScaleWithDualAllocations
VERBOSE: time="2026-06-22 04:40:40.651" level=info msg="Checking Fleet Ready replicas" expected=3 fleet=simple-fleet-1.0rk9g9 fleetStatus="{Replicas:3 ReadyReplicas:0 ReservedReplicas:0 AllocatedReplicas:0 Allocations:0 Players:0xc0005e7360 Counters:map[] Lists:map[]}" test=TestFleetRequestsLimits
VERBOSE: time="2026-06-22 04:40:40.811" level=info msg="Checking Fleet Ready replicas" expected=2 fleet=simple-fleet-1.09r64q fleetStatus="{Replicas:2 ReadyReplicas:2 ReservedReplicas:0 AllocatedReplicas:0 Allocations:0 Players:0xc0007d3e40 Counters:map[] Lists:map[]}" test=TestCreateFleetAndUpdateScaleSubresource
VERBOSE: time="2026-06-22 04:40:40.812" level=info msg="Scaling fleet" fleet=simple-fleet-1.09r64q scale=1
VERBOSE: time="2026-06-22 04:40:41.031" level=info msg="Waiting for states to match" awaitingState=Ready currentState=Scheduled gs=nodejs-simple-qms4f test=TestNodeJSGameServerReady
VERBOSE: time="2026-06-22 04:40:41.152" level=info msg="Checking Fleet Ready replicas" expected=3 fleet=simple-fleet-1.0d7qmc fleetStatus="{Replicas:3 ReadyReplicas:2 ReservedReplicas:0 AllocatedReplicas:0 Allocations:0 Players:0xc000e483b0 Counters:map[] Lists:map[]}" test=TestFleetStrategyValidation
VERBOSE: time="2026-06-22 04:40:41.736" level=info msg="Checking Fleet Ready replicas" expected=8 fleet=simple-fleet-1.09ll2c fleetStatus="{Replicas:8 ReadyReplicas:1 ReservedReplicas:0 AllocatedReplicas:0 Allocations:0 Players:0xc000c33b10 Counters:map[] Lists:map[]}" test="TestFleetRollingUpdate/Use_fleet_Patch_true_25%_cycle_false"
VERBOSE: time="2026-06-22 04:40:41.979" level=info msg="waiting for fleet condition" fleet=simple-fleet-1.0cq8bg test=TestAutoscalerBasicFunctions
VERBOSE: time="2026-06-22 04:40:42.198" level=info msg="Waiting for states to match" awaitingState=Ready currentState=Scheduled gs=rust-simple-sclnp test=TestRustGameServerReady
VERBOSE: time="2026-06-22 04:40:42.401" level=info msg="waiting for fleet condition" fleet=simple-fleet-1.06qnnz test=TestFleetScaleUpAllocateEditAndScaleDownToZero
VERBOSE: time="2026-06-22 04:40:42.614" level=info msg="Waiting for states to match" awaitingState=Ready currentState=Scheduled gs=xonotic-sxg5w test=TestXonoticGameServerReady
VERBOSE: time="2026-06-22 04:40:42.937" level=info msg="Checking Fleet Ready replicas" expected=0 fleet=scale-fleet-0-n2jqn fleetStatus="{Replicas:10 ReadyReplicas:10 ReservedReplicas:0 AllocatedReplicas:0 Allocations:0 Players:0xc000e49280 Counters:map[] Lists:map[]}" test=TestScaleUpAndDownInParallelStressTest
VERBOSE: time="2026-06-22 04:40:43.099" level=info msg="Checking Fleet Ready replicas" expected=10 fleet=scale-fleet-1-t6l7b fleetStatus="{Replicas:1 ReadyReplicas:1 ReservedReplicas:0 AllocatedReplicas:0 Allocations:0 Players:0xc000a12860 Counters:map[] Lists:map[]}" test=TestScaleUpAndDownInParallelStressTest
VERBOSE: --- FAIL: TestFleetAutoScalerRollingUpdate (158.77s)
VERBOSE: panic: runtime error: invalid memory address or nil pointer dereference [recovered, repanicked]
VERBOSE: [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x2ce8b88]
VERBOSE: 
VERBOSE: goroutine 313 [running]:
VERBOSE: testing.tRunner.func1.2({0x306bb20, 0x4b52030})
VERBOSE: 	/usr/local/go/src/testing/testing.go:1974 +0x419
VERBOSE: testing.tRunner.func1()
VERBOSE: 	/usr/local/go/src/testing/testing.go:1977 +0x67f
VERBOSE: panic({0x306bb20?, 0x4b52030?})
VERBOSE: 	/usr/local/go/src/runtime/panic.go:860 +0x13a
VERBOSE: k8s.io/apimachinery/pkg/util/runtime.handleCrash({0x352c3c8, 0xc000207c70}, {0x306bb20, 0x4b52030}, {0x0, 0x0, 0x4c93ba?})
VERBOSE: 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:114 +0x23a
VERBOSE: k8s.io/apimachinery/pkg/util/runtime.HandleCrashWithContext({0x352c3c8, 0xc000207c70}, {0x0, 0x0, 0x0})
VERBOSE: 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:78 +0x5f
VERBOSE: panic({0x306bb20?, 0x4b52030?})
VERBOSE: 	/usr/local/go/src/runtime/panic.go:860 +0x13a
VERBOSE: agones.dev/agones/test/e2e.TestFleetAutoScalerRollingUpdate.func3({0x352c3c8, 0xc000207c70})
VERBOSE: 	/go/src/agones.dev/agones/test/e2e/fleetautoscaler_test.go:286 +0x248
VERBOSE: k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext.func1({0x352c3c8, 0xc000207c70}, 0xc0009d3c70)
VERBOSE: 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/loop.go:53 +0xc6
VERBOSE: k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext({0x352c3c8, 0xc000207c70}, {0x3517080, 0xc000f06540}, 0x1, 0x0, 0xc0009d3c70)
VERBOSE: 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/loop.go:54 +0x177
VERBOSE: k8s.io/apimachinery/pkg/util/wait.PollUntilContextTimeout({0x352c200, 0x4bb0480}, 0x3b9aca00, 0x45d964b800, 0x1, 0xc0009d3c70)
VERBOSE: 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/poll.go:48 +0xd8
VERBOSE: agones.dev/agones/test/e2e.TestFleetAutoScalerRollingUpdate(0xc000871d48)
VERBOSE: 	/go/src/agones.dev/agones/test/e2e/fleetautoscaler_test.go:279 +0x13c8
VERBOSE: testing.tRunner(0xc000871d48, 0x34f4018)
VERBOSE: 	/usr/local/go/src/testing/testing.go:2036 +0x21d
VERBOSE: created by testing.(*T).Run in goroutine 1
VERBOSE: 	/usr/local/go/src/testing/testing.go:2101 +0xb13
VERBOSE: FAIL	agones.dev/agones/test/e2e	378.249s

@agones-bot

Copy link
Copy Markdown
Collaborator

Build Failed 😭

Build Id: f1faada0-1cc8-4a78-8837-ec6a3d8d6f1a

Status: FAILURE

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

@markmandel

Copy link
Copy Markdown
Member Author

/gcbrun

Some more panics on autopilot.

VERBOSE: --- PASS: TestGameServerPodCompletedAfterCleanExit (14.36s)
VERBOSE: time="2026-06-22 05:42:17.199" level=info msg="UDP Crash stop signal received. Stopping." test=TestGameServerUnhealthyAfterReadyCrash
VERBOSE: time="2026-06-22 05:42:17.421" level=info msg="GameServer created, waiting for Ready" gs=udp-servert5ltq test=TestDevelopmentGameServerLifecycle
VERBOSE: time="2026-06-22 05:42:17.597" level=info msg="Waiting for states to match" awaitingState=Unhealthy currentState=Ready gs=game-server57jtf test=TestUnhealthyGameServerAfterHealthCheckFail
VERBOSE: E0622 05:42:17.817652     165 panic.go:336] "Observed a panic" panic="runtime error: invalid memory address or nil pointer dereference" panicGoValue="\"invalid memory address or nil pointer dereference\"" stacktrace=<
VERBOSE: 	goroutine 386 [running]:
VERBOSE: 	k8s.io/apimachinery/pkg/util/runtime.logPanic({0x352c320, 0xc0006bfe90}, {0x306bb20, 0x4b52030})
VERBOSE: 		/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:132 +0xdc
VERBOSE: 	k8s.io/apimachinery/pkg/util/runtime.handleCrash({0x352c3c8, 0xc0009f6af0}, {0x306bb20, 0x4b52030}, {0x0, 0x0, 0x4c93ba?})
VERBOSE: 		/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:107 +0x185
VERBOSE: 	k8s.io/apimachinery/pkg/util/runtime.HandleCrashWithContext({0x352c3c8, 0xc0009f6af0}, {0x0, 0x0, 0x0})
VERBOSE: 		/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:78 +0x5f
VERBOSE: 	panic({0x306bb20?, 0x4b52030?})
VERBOSE: 		/usr/local/go/src/runtime/panic.go:860 +0x13a
VERBOSE: 	agones.dev/agones/test/e2e.TestFleetAutoScalerRollingUpdate.func3({0x352c3c8, 0xc0009f6af0})
VERBOSE: 		/go/src/agones.dev/agones/test/e2e/fleetautoscaler_test.go:286 +0x248
VERBOSE: 	k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext.func1({0x352c3c8, 0xc0009f6af0}, 0xc000b8dc70)
VERBOSE: 		/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/loop.go:53 +0xc6
VERBOSE: 	k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext({0x352c3c8, 0xc0009f6af0}, {0x3517080, 0xc000802ba0}, 0x1, 0x0, 0xc000b8dc70)
VERBOSE: 		/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/loop.go:54 +0x177
VERBOSE: 	k8s.io/apimachinery/pkg/util/wait.PollUntilContextTimeout({0x352c200, 0x4bb0480}, 0x3b9aca00, 0x45d964b800, 0x1, 0xc000b8dc70)
VERBOSE: 		/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/poll.go:48 +0xd8
VERBOSE: 	agones.dev/agones/test/e2e.TestFleetAutoScalerRollingUpdate(0xc00083f448)
VERBOSE: 		/go/src/agones.dev/agones/test/e2e/fleetautoscaler_test.go:279 +0x13c8
VERBOSE: 	testing.tRunner(0xc00083f448, 0x34f4018)
VERBOSE: 		/usr/local/go/src/testing/testing.go:2036 +0x21d
VERBOSE: 	created by testing.(*T).Run in goroutine 1
VERBOSE: 		/usr/local/go/src/testing/testing.go:2101 +0xb13
VERBOSE:  >
VERBOSE: time="2026-06-22 05:42:17.879" level=info msg="waiting for fleet condition" fleet=simple-fleet-1.08f8pd test=TestCounterAutoscalerAllocated/Scale_Up_Buffer_Percent
VERBOSE: time="2026-06-22 05:42:17.993" level=warning msg="error retrieving GameServer" error="gameservers.agones.dev \"game-serverh68xk\" not found" test=TestGameServerPatch
VERBOSE: time="2026-06-22 05:42:18.398" level=info msg="GameServer states match" awaitingState=Ready currentState=Ready gs=game-serverxndqf test=TestGameServerSlowStart
VERBOSE: time="2026-06-22 05:42:18.398" level=info msg="GameServer Ready" gs=game-serverxndqf
VERBOSE: --- PASS: TestGameServerSlowStart (111.76s)
VERBOSE: === CONT  TestCreateConnect
VERBOSE: --- PASS: TestGameServerReserve (25.44s)
VERBOSE: === CONT  TestSDKSetLabel
VERBOSE: === CONT  TestScheduleAutoscaler
VERBOSE: --- PASS: TestFleetAutoscalerTLSWebhook (130.47s)
VERBOSE: time="2026-06-22 05:42:19.203" level=info msg="waiting for fleet condition" fleet=simple-fleet-1.08rn44 test="TestCounterAutoscaler/Cannot_scale_down_(MinCapacity)"
VERBOSE: time="2026-06-22 05:42:19.395" level=info msg="GameServer states match" awaitingState=Ready currentState=Ready gs=game-serverqdj2p test=TestSDKSetAnnotation
VERBOSE: time="2026-06-22 05:42:19.395" level=info msg="GameServer Ready" gs=game-serverqdj2p
VERBOSE: time="2026-06-22 05:42:19.597" level=info msg="GameServer states match" awaitingState=Ready currentState=Ready gs=game-server95nsq test=TestHealthCheckDisable
VERBOSE: time="2026-06-22 05:42:19.597" level=info msg="GameServer Ready" gs=game-server95nsq
VERBOSE: === CONT  TestListAutoscalerWithSDKMethods
VERBOSE: === RUN   TestListAutoscalerWithSDKMethods/Scale_Down_to_Buffer
VERBOSE: --- PASS: TestGameServerUnhealthyAfterReadyCrash (16.16s)
VERBOSE: time="2026-06-22 05:42:20.011" level=info msg="GameServer created, waiting for Ready" gs=game-serverk8l45 test=TestHostName/standard_hostname
VERBOSE: time="2026-06-22 05:42:20.216" level=info msg="GameServer states match" awaitingState=Ready currentState=Ready gs=udp-servert5ltq test=TestDevelopmentGameServerLifecycle
VERBOSE: time="2026-06-22 05:42:20.216" level=info msg="GameServer Ready" gs=udp-servert5ltq
VERBOSE: time="2026-06-22 05:42:20.396" level=info msg="GameServer states match" awaitingState=Unhealthy currentState=Unhealthy gs=game-server57jtf test=TestUnhealthyGameServerAfterHealthCheckFail
VERBOSE: --- PASS: TestUnhealthyGameServerAfterHealthCheckFail (16.43s)
VERBOSE: === CONT  TestChainAutoscaler
VERBOSE: time="2026-06-22 05:42:20.596" level=info msg="Checking for game server allocations" fleet="{Replicas:3 ReadyReplicas:0 ReservedReplicas:0 AllocatedReplicas:3 Allocations:3 Players:<nil> Counters:map[players:{AllocatedCount:21 AllocatedCapacity:30 Count:21 Capacity:30}] Lists:map[]}" test=TestCounterAutoscalerAllocated
VERBOSE: time="2026-06-22 05:42:20.794" level=warning msg="error retrieving GameServer" error="gameservers.agones.dev \"game-serverh68xk\" not found" test=TestGameServerPatch
VERBOSE: time="2026-06-22 05:42:20.808" level=info msg="waiting for fleet condition" fleet=simple-fleet-1.08f8pd test=TestCounterAutoscalerAllocated/Scale_Up_Buffer_Percent
VERBOSE: time="2026-06-22 05:42:20.896" level=info msg="Finished allocation attempts" test=TestGameServerAllocationDuringMultipleAllocationClients
VERBOSE:     gameserverallocation_test.go:1483: Number of GameServers allocated: 100. This matches the expected outcome.
VERBOSE: --- FAIL: TestFleetAutoScalerRollingUpdate (132.43s)
VERBOSE: panic: runtime error: invalid memory address or nil pointer dereference [recovered, repanicked]
VERBOSE: [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x2ce8b88]
VERBOSE: 
VERBOSE: goroutine 386 [running]:
VERBOSE: testing.tRunner.func1.2({0x306bb20, 0x4b52030})
VERBOSE: 	/usr/local/go/src/testing/testing.go:1974 +0x419
VERBOSE: testing.tRunner.func1()
VERBOSE: 	/usr/local/go/src/testing/testing.go:1977 +0x67f
VERBOSE: panic({0x306bb20?, 0x4b52030?})
VERBOSE: 	/usr/local/go/src/runtime/panic.go:860 +0x13a
VERBOSE: k8s.io/apimachinery/pkg/util/runtime.handleCrash({0x352c3c8, 0xc0009f6af0}, {0x306bb20, 0x4b52030}, {0x0, 0x0, 0x4c93ba?})
VERBOSE: 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:114 +0x23a
VERBOSE: k8s.io/apimachinery/pkg/util/runtime.HandleCrashWithContext({0x352c3c8, 0xc0009f6af0}, {0x0, 0x0, 0x0})
VERBOSE: 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:78 +0x5f
VERBOSE: panic({0x306bb20?, 0x4b52030?})
VERBOSE: 	/usr/local/go/src/runtime/panic.go:860 +0x13a
VERBOSE: agones.dev/agones/test/e2e.TestFleetAutoScalerRollingUpdate.func3({0x352c3c8, 0xc0009f6af0})
VERBOSE: 	/go/src/agones.dev/agones/test/e2e/fleetautoscaler_test.go:286 +0x248
VERBOSE: k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext.func1({0x352c3c8, 0xc0009f6af0}, 0xc000b8dc70)
VERBOSE: 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/loop.go:53 +0xc6
VERBOSE: k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext({0x352c3c8, 0xc0009f6af0}, {0x3517080, 0xc000802ba0}, 0x1, 0x0, 0xc000b8dc70)
VERBOSE: 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/loop.go:54 +0x177
VERBOSE: k8s.io/apimachinery/pkg/util/wait.PollUntilContextTimeout({0x352c200, 0x4bb0480}, 0x3b9aca00, 0x45d964b800, 0x1, 0xc000b8dc70)
VERBOSE: 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/poll.go:48 +0xd8
VERBOSE: agones.dev/agones/test/e2e.TestFleetAutoScalerRollingUpdate(0xc00083f448)
VERBOSE: 	/go/src/agones.dev/agones/test/e2e/fleetautoscaler_test.go:279 +0x13c8
VERBOSE: testing.tRunner(0xc00083f448, 0x34f4018)
VERBOSE: 	/usr/local/go/src/testing/testing.go:2036 +0x21d
VERBOSE: created by testing.(*T).Run in goroutine 1
VERBOSE: 	/usr/local/go/src/testing/testing.go:2101 +0xb13
VERBOSE: FAIL	agones.dev/agones/test/e2e	365.089s
--- END RAW VERBOSE OUTPUT ---

@agones-bot

Copy link
Copy Markdown
Collaborator

Build Succeeded 🥳

Build Id: 7852eaa9-ecd2-497d-b9c3-4ede10475e88

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/4629/head:pr_4629 && git checkout pr_4629
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.59.0-dev-2679a6c

@lacroixthomas lacroixthomas left a comment

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.

I wonder if it's also working well for kind (./build/includes/kind.mk) ?
If it's the case we could remove it from there as well alongside of the ./build/metallb-config.yaml.tpl ?

@markmandel

Copy link
Copy Markdown
Member Author

Can always do that check as a follow up PR. Looks like Kind takes a different approach:

https://kind.sigs.k8s.io/docs/user/loadbalancer/

@markmandel markmandel enabled auto-merge (squash) June 22, 2026 18:05
@agones-bot

Copy link
Copy Markdown
Collaborator

Build Succeeded 🥳

Build Id: 5f04ea8e-8b8e-4720-8ffb-46a7594aff7f

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/4629/head:pr_4629 && git checkout pr_4629
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.59.0-dev-6204ecb

@markmandel markmandel merged commit 2ce435d into agones-dev:main Jun 22, 2026
4 checks passed
@markmandel markmandel deleted the build/minikube-tunnel branch June 22, 2026 19:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/build-tools Development tooling. I.e. pretty much everything in the `build` directory. kind/cleanup Refactoring code, fixing up documentation, etc size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants