envoyproxy / envoyproxy/gateway

BackendTLSPolicySANValidation conformance test failing on main since at least Aug 3

Open
#9,687 11 comments 0 reactions 0 assignees View on GitHub
area/testing help wanted
Dominant language
Go
Stars
3k
Forks
864
Avg merge
2d 2h
Merged PRs (30d)
140

Description

*Description*:

`TestGatewayAPIConformance/BackendTLSPolicySANValidation` has been failing on every `main` run I checked, going back to at least 2026-08-03. Every PR inherits the failure, so red CI is currently hard to read.

Main runs, all with the same failing test:

| run | date | conformance jobs failing on this test |
|---|---|---|
| [31067661691](https://github.com/envoyproxy/gateway/actions/runs/31067661691) | 08-06 | 3 |
| [31064863693](https://github.com/envoyproxy/gateway/actions/runs/31064863693) | 08-06 | 2 |
| [31059844487](https://github.com/envoyproxy/gateway/actions/runs/31059844487) | 08-06 | 1 |
| [30817198225](https://github.com/envoyproxy/gateway/actions/runs/30817198225) | 08-03 | 2 |

The failure splits cleanly by expectation:

```
--- FAIL: .../valid_BackendTLSPolicy_containing_dns_SAN_should_succeed (30.00s)
--- PASS: .../mismatched_dns_SAN_should_return_an_HTTP_error
--- FAIL: .../valid_BackendTLSPolicy_containing_uri_SAN_should_succeed (30.01s)
--- PASS: .../mismatched_uri_SAN_should_return_an_HTTP_error
--- FAIL: .../valid_BackendTLSPolicy_containing_multi_SAN_should_succeed (30.00s)
--- PASS: .../mismatched_multi_SAN_should_return_an_HTTP_error
```

Every "valid SAN should succeed" case gets `503` for the whole 30s window (30/30 attempts on both `/backendtlspolicy-san-dns` and `/backendtlspolicy-san-uri`):

```
expected status code to be one of [200], got 503
```

The mismatch cases pass because they only assert that the request fails, so they would also pass if SAN validation rejected everything.

The BackendTLSPolicy e2e tests look affected too — `TestE2E/HTTPRouteMixedProtocols` (which applies `policy-btls` and `backend-tls-ca`) and `TestE2E/HTTPRouteMixedBackends` are failing on main and on PR branches in the same runs.

I have not root-caused it, so I am not sure whether the upstream TLS handshake or the SAN matcher is at fault. Filing this so it is tracked, and happy to dig in if nobody is on it already.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with TestGatewayAPIConformance/BackendTLSPolicySANValidation and reproduce the valid DNS, URI, and multi-SAN cases alongside their mismatch cases. Compare the SAN validation and upstream TLS-handshake behavior, then check the related TestE2E/HTTPRouteMixedProtocols and TestE2E/HTTPRouteMixedBackends failures. Done means the valid SAN cases return 200 and the affected e2e tests pass on main and PR runs.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
api, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.