gateway-api icon indicating copy to clipboard operation
gateway-api copied to clipboard

Conformance tests for HTTPRouteFilterURLRewrite on BackendRef

Open chris-kaiser-7 opened this issue 6 months ago • 10 comments

What type of PR is this?

/kind test /area conformance-test

What this PR does / why we need it: Adds conformance tests for HTTPRouteFilterURLRewrite on the BackendRef for Host, Host+Weights, Host+Headers, Path, Path+Weights, Path+Headers. There was no coverage for HTTPRouteFilterURLRewrite on BackendRef.

Which issue(s) this PR fixes:

Fixes #2937

Does this PR introduce a user-facing change?:

NONE

chris-kaiser-7 avatar Jun 19 '25 08:06 chris-kaiser-7

Hi @chris-kaiser-7. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

k8s-ci-robot avatar Jun 19 '25 08:06 k8s-ci-robot

I tested this with envoy implementation. Envoy had a validation check preventing this. I removed the validation check but the test still failed. I guess envoy doesn't support this. I am going to try on other implementations tho.

chris-kaiser-7 avatar Jun 20 '25 22:06 chris-kaiser-7

I tested this with envoy implementation. Envoy had a validation check preventing this. I removed the validation check but the test still failed. I guess envoy doesn't support this. I am going to try on other implementations tho.

Unfortunately, I think it will be hard to find an implementation that supports this today. Recommend asking in #sig-network-gateway-api Slack channel.

robscott avatar Jun 23 '25 16:06 robscott

Should I add a new features such as SupportHTTPRouteHostRewriteBackend for this? or is SupportHTTPRouteHostRewrite sufficient.

chris-kaiser-7 avatar Jun 27 '25 03:06 chris-kaiser-7

Should I add a new features such as SupportHTTPRouteHostRewriteBackend for this? or is SupportHTTPRouteHostRewrite sufficient.

Yes, we should have a separate feature, and that looks like a good feature name for this.

The purpose here is to allow implementations that can't or don't want to do this to opt out.

(This will be difficult to impossible for Envoy-based implementations).

youngnick avatar Jun 30 '25 03:06 youngnick

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: chris-kaiser-7 Once this PR has been reviewed and has the lgtm label, please assign aojea for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

k8s-ci-robot avatar Jul 08 '25 00:07 k8s-ci-robot

/ok-to-test

LiorLieberman avatar Jul 20 '25 21:07 LiorLieberman

@chris-kaiser-7 Given the current thinking about this being difficult or impossible to implement in Envoy currently, is there an implementation you've found that is currently able to support this feature to exercise these conformance tests?

mikemorris avatar Aug 22 '25 15:08 mikemorris

@chris-kaiser-7 Given the current thinking about this being difficult or impossible to implement in Envoy currently, is there an implementation you've found that is currently able to support this feature to exercise these conformance tests?

@mikemorris So I tested this in envoy and in NGF and they both failed. I tried removing the validations in envoy just to see if it would work but it still failed. I don't think it will pass in any current implementation?

chris-kaiser-7 avatar Aug 28 '25 16:08 chris-kaiser-7

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs 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 PR is closed

You can:

  • Mark this PR as fresh with /remove-lifecycle stale
  • Close this PR 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 Nov 26 '25 17:11 k8s-triage-robot