Add conformance tests for UDPRoute & TCPRoute
Part of the purpose of this project was to help mature UDPRoute and TCPRoute in upstream Gateway API.
Part of that maturity is a need for conformance tests which multiple implementations can subscribe to. The purpose of this task is to add the conformance test suite for Gateway API to this repository, resolve https://github.com/kubernetes-sigs/gateway-api/issues/1792 and then include those tests here.
This should inherently resolve the following:
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/1794
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/1792
Note that this is now blocked on https://github.com/kubernetes-sigs/blixt/milestone/8.
Recently I have added the initial UDPRoute test in https://github.com/kubernetes-sigs/gateway-api/pull/2661. I would like to continue the work on adding more scenarios and verifying the support on blixt as well.
Sounds good!
/assign @cnvergence
If you want to add the tests now, you can they will just need to be re-written once https://github.com/kubernetes-sigs/blixt/milestone/8 is complete. So if you prefer to wait until afterwards that is fine too.
awesome, thanks for the heads-up, I guess I can start with including this basic suite now
Sounds good!
We appreciate it, please reach out to us (here) if you need any support!
The Kubernetes project currently lacks enough contributors to adequately respond to all issues.
This bot triages un-triaged issues according to the following rules:
- After 90d of inactivity,
lifecycle/staleis applied - After 30d of inactivity since
lifecycle/stalewas applied,lifecycle/rottenis applied - After 30d of inactivity since
lifecycle/rottenwas applied, the issue is closed
You can:
- Mark this issue as fresh with
/remove-lifecycle stale - Close this issue with
/close - Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.
This bot triages un-triaged issues according to the following rules:
- After 90d of inactivity,
lifecycle/staleis applied - After 30d of inactivity since
lifecycle/stalewas applied,lifecycle/rottenis applied - After 30d of inactivity since
lifecycle/rottenwas applied, the issue is closed
You can:
- Mark this issue as fresh with
/remove-lifecycle rotten - Close this issue with
/close - Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle rotten
hi @shaneutt, sorry, I needed to drop off for the last few months. I saw great progress in moving the controller to Rust. Let me take a look this week by moving UDPRoute test here.
No worries whatsoever! Thanks for pinging, if you need any support hit us up in #blixt on Kubernetes Slack! :vulcan_salute:
I have ran into some issues, when running tests
blixt-controlplane-664b9f96f6-6nnxd manager 2024-08-29T10:01:45Z INFO Observed a panic in reconciler: runtime error: invalid memory address or nil pointer dereference {"controller": "udproute", "controllerGroup": "gateway.networking.k8s.io", "controllerKind": "UDPRoute", "UDPRoute": {"name":"udp-coredns","namespace":"gateway-conformance-infra"}, "namespace": "gateway-conformance-infra", "name": "udp-coredns", "reconcileID": "0c314b36-5a47-41ff-b898-0f2483a3b829"}
blixt-controlplane-664b9f96f6-6nnxd manager panic: runtime error: invalid memory address or nil pointer dereference [recovered]
blixt-controlplane-664b9f96f6-6nnxd manager panic: runtime error: invalid memory address or nil pointer dereference
blixt-controlplane-664b9f96f6-6nnxd manager [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x17b971a]
I will continue to investigate the cause, then I will open the PR with the test from gw-api moved here. I see gateway-api version is set to v0.8.1, would it be viable to update this as well?
Yes, updating to the latest version would probably be good at this point as we've been lagging behind a bit :sweat_smile:
Putting this on hold temporarily while we focus on v0.4.0, then right after that we should be able to get back to it.
/hold
We discussed this one on our community sync today (join #blixt in Kubernetes Slack if you're interested in joining these, we do them ad-hoc and vote on times in the channel!) and decided that we're no longer interested in the general use case of using Blixt to support Gateway API conformance test development (but we still want to provide TCPRoute and UDPRoute support). We instead want to focus on exploring L4 use cases outside of the bounds of Gateway API.