blixt icon indicating copy to clipboard operation
blixt copied to clipboard

Add conformance tests for UDPRoute & TCPRoute

Open shaneutt opened this issue 2 years ago • 12 comments

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

shaneutt avatar Mar 13 '23 22:03 shaneutt

Note that this is now blocked on https://github.com/kubernetes-sigs/blixt/milestone/8.

shaneutt avatar Jan 25 '24 14:01 shaneutt

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.

cnvergence avatar Mar 27 '24 14:03 cnvergence

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.

shaneutt avatar Apr 02 '24 13:04 shaneutt

awesome, thanks for the heads-up, I guess I can start with including this basic suite now

cnvergence avatar Apr 05 '24 11:04 cnvergence

Sounds good!

We appreciate it, please reach out to us (here) if you need any support!

shaneutt avatar Apr 05 '24 12:04 shaneutt

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/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was 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

k8s-triage-robot avatar Jul 04 '24 12:07 k8s-triage-robot

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/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was 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

k8s-triage-robot avatar Aug 03 '24 12:08 k8s-triage-robot

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.

cnvergence avatar Aug 20 '24 10:08 cnvergence

No worries whatsoever! Thanks for pinging, if you need any support hit us up in #blixt on Kubernetes Slack! :vulcan_salute:

shaneutt avatar Aug 20 '24 11:08 shaneutt

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?

cnvergence avatar Aug 29 '24 10:08 cnvergence

Yes, updating to the latest version would probably be good at this point as we've been lagging behind a bit :sweat_smile:

shaneutt avatar Aug 29 '24 10:08 shaneutt

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

shaneutt avatar Sep 05 '24 14:09 shaneutt

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.

shaneutt avatar Oct 04 '24 15:10 shaneutt