Skip to content

Commit ed5c972

Browse files
author
github-actions
committed
Merge tag '1.24.6' into tetrate-release-1.24
Istio release 1.24.6
2 parents 8993cf2 + 734e100 commit ed5c972

File tree

15 files changed

+222
-29
lines changed

15 files changed

+222
-29
lines changed

Makefile.core.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ endif
4949
export VERSION
5050

5151
# Base version of Istio image to use
52-
BASE_VERSION ?= 1.24-2025-04-04T19-02-09
52+
BASE_VERSION ?= 1.24-2025-04-15T19-02-46
5353
ISTIO_BASE_REGISTRY ?= gcr.io/istio-release
5454

5555
export GO111MODULE ?= on

go.mod

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,10 @@ require (
8080
go.opentelemetry.io/proto/otlp v1.3.1
8181
go.uber.org/atomic v1.11.0
8282
go.uber.org/zap v1.27.0
83-
golang.org/x/net v0.37.0
83+
golang.org/x/net v0.39.0
8484
golang.org/x/oauth2 v0.27.0
85-
golang.org/x/sync v0.12.0
86-
golang.org/x/sys v0.31.0
85+
golang.org/x/sync v0.13.0
86+
golang.org/x/sys v0.32.0
8787
golang.org/x/time v0.9.0
8888
gomodules.xyz/jsonpatch/v2 v2.4.0
8989
google.golang.org/genproto/googleapis/api v0.0.0-20240930140551-af27646dc61f
@@ -215,11 +215,11 @@ require (
215215
go.starlark.net v0.0.0-20231121155337-90ade8b19d09 // indirect
216216
go.uber.org/mock v0.4.0 // indirect
217217
go.uber.org/multierr v1.11.0 // indirect
218-
golang.org/x/crypto v0.36.0 // indirect
218+
golang.org/x/crypto v0.37.0 // indirect
219219
golang.org/x/exp v0.0.0-20241215155358-4a5509556b9e // indirect
220220
golang.org/x/mod v0.22.0 // indirect
221-
golang.org/x/term v0.30.0 // indirect
222-
golang.org/x/text v0.23.0 // indirect
221+
golang.org/x/term v0.31.0 // indirect
222+
golang.org/x/text v0.24.0 // indirect
223223
golang.org/x/tools v0.29.0 // indirect
224224
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
225225
gopkg.in/inf.v0 v0.9.1 // indirect

go.sum

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -484,8 +484,8 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
484484
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
485485
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
486486
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
487-
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
488-
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
487+
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
488+
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
489489
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
490490
golang.org/x/exp v0.0.0-20241215155358-4a5509556b9e h1:4qufH0hlUYs6AO6XmZC3GqfDPGSXHVXUFR6OND+iJX4=
491491
golang.org/x/exp v0.0.0-20241215155358-4a5509556b9e/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c=
@@ -507,8 +507,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL
507507
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
508508
golang.org/x/net v0.0.0-20210928044308-7d9f5e0b762b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
509509
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
510-
golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
511-
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
510+
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
511+
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
512512
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
513513
golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M=
514514
golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
@@ -518,8 +518,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ
518518
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
519519
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
520520
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
521-
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
522-
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
521+
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
522+
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
523523
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
524524
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
525525
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -539,18 +539,18 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc
539539
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
540540
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
541541
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
542-
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
543-
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
542+
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
543+
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
544544
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
545545
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
546-
golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
547-
golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
546+
golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
547+
golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
548548
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
549549
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
550550
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
551551
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
552-
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
553-
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
552+
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
553+
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
554554
golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY=
555555
golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
556556
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=

istio.deps

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"name": "PROXY_REPO_SHA",
55
"repoName": "proxy",
66
"file": "",
7-
"lastStableSHA": "f72dcc1d00fe08bfbf57d6603fd8424d2fb362ca"
7+
"lastStableSHA": "c72ea79f329f4a360b60147c628692c7233ae0f3"
88
},
99
{
1010
"_comment": "",
1111
"name": "ZTUNNEL_REPO_SHA",
1212
"repoName": "ztunnel",
1313
"file": "",
14-
"lastStableSHA": "70c638ecb14a7b4e161af6a3d275f774e87630ef"
14+
"lastStableSHA": "2b351810add39b8a05f878460ad8b6d36c4694b9"
1515
}
1616
]

manifests/charts/istio-control/istio-discovery/templates/revision-tags.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ a unique prefix to each. */}}
3131
failurePolicy: Fail
3232
admissionReviewVersions: ["v1"]
3333
{{- end }}
34-
# Not created if istiod is running remotely
35-
{{- if not .Values.istiodRemote.enabled }}
3634
{{- range $tagName := $.Values.revisionTags }}
3735
apiVersion: admissionregistration.k8s.io/v1
3836
kind: MutatingWebhookConfiguration
@@ -148,4 +146,3 @@ webhooks:
148146
{{- end }}
149147
---
150148
{{- end }}
151-
{{- end }}

pilot/pkg/model/service.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1581,6 +1581,10 @@ func (s *Service) getAllAddressesForProxy(node *Proxy) []string {
15811581
}
15821582

15831583
func filterAddresses(addresses []string, supportsV4, supportsV6 bool) []string {
1584+
if len(addresses) == 0 {
1585+
return nil
1586+
}
1587+
15841588
var ipv4Addresses []string
15851589
var ipv6Addresses []string
15861590
for _, addr := range addresses {
@@ -1605,6 +1609,34 @@ func filterAddresses(addresses []string, supportsV4, supportsV6 bool) []string {
16051609
}
16061610
}
16071611
}
1612+
1613+
if supportsV4 && supportsV6 {
1614+
firstAddrFamily := ""
1615+
if strings.Contains(addresses[0], "/") {
1616+
if prefix, err := netip.ParsePrefix(addresses[0]); err == nil {
1617+
if prefix.Addr().Is4() {
1618+
firstAddrFamily = "v4"
1619+
} else if prefix.Addr().Is6() {
1620+
firstAddrFamily = "v6"
1621+
}
1622+
}
1623+
} else {
1624+
if ipAddr, err := netip.ParseAddr(addresses[0]); err == nil {
1625+
if ipAddr.Is4() {
1626+
firstAddrFamily = "v4"
1627+
} else if ipAddr.Is6() {
1628+
firstAddrFamily = "v6"
1629+
}
1630+
}
1631+
}
1632+
1633+
if firstAddrFamily == "v4" {
1634+
return ipv4Addresses
1635+
} else if firstAddrFamily == "v6" {
1636+
return ipv6Addresses
1637+
}
1638+
}
1639+
16081640
if len(ipv4Addresses) > 0 {
16091641
return ipv4Addresses
16101642
}

pilot/pkg/model/service_test.go

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -731,6 +731,104 @@ func TestGetAllAddresses(t *testing.T) {
731731
}
732732
}
733733

734+
func TestGetAddressForProxy(t *testing.T) {
735+
tests := []struct {
736+
name string
737+
service *Service
738+
proxy *Proxy
739+
expectedAddress string
740+
}{
741+
{
742+
name: "IPv4 mode with IPv4 addresses, expected to return the first IPv4 address",
743+
service: &Service{
744+
ClusterVIPs: AddressMap{
745+
Addresses: map[cluster.ID][]string{
746+
"cl1": {"10.0.0.1", "10.0.0.2"},
747+
},
748+
},
749+
},
750+
proxy: &Proxy{
751+
Metadata: &NodeMetadata{
752+
ClusterID: "cl1",
753+
},
754+
ipMode: IPv4,
755+
},
756+
expectedAddress: "10.0.0.1",
757+
},
758+
{
759+
name: "IPv6 mode with IPv6 addresses, expected to return the first IPv6 address",
760+
service: &Service{
761+
ClusterVIPs: AddressMap{
762+
Addresses: map[cluster.ID][]string{
763+
"cl1": {"2001:db8:abcd::1", "2001:db8:abcd::2"},
764+
},
765+
},
766+
},
767+
proxy: &Proxy{
768+
Metadata: &NodeMetadata{
769+
ClusterID: "cl1",
770+
},
771+
ipMode: IPv6,
772+
},
773+
expectedAddress: "2001:db8:abcd::1",
774+
},
775+
{
776+
name: "Dual mode with both IPv6 and IPv4 addresses, expected to return the IPv6 address",
777+
service: &Service{
778+
ClusterVIPs: AddressMap{
779+
Addresses: map[cluster.ID][]string{
780+
"cl1": {"2001:db8:abcd::1", "10.0.0.1"},
781+
},
782+
},
783+
},
784+
proxy: &Proxy{
785+
Metadata: &NodeMetadata{
786+
ClusterID: "cl1",
787+
},
788+
ipMode: Dual,
789+
},
790+
expectedAddress: "2001:db8:abcd::1",
791+
},
792+
{
793+
name: "IPv4 mode with Auto-allocated IPv4 address",
794+
service: &Service{
795+
DefaultAddress: constants.UnspecifiedIP,
796+
AutoAllocatedIPv4Address: "240.240.0.1",
797+
},
798+
proxy: &Proxy{
799+
Metadata: &NodeMetadata{
800+
DNSAutoAllocate: true,
801+
DNSCapture: true,
802+
},
803+
ipMode: IPv4,
804+
},
805+
expectedAddress: "240.240.0.1",
806+
},
807+
{
808+
name: "IPv6 mode with Auto-allocated IPv6 address",
809+
service: &Service{
810+
DefaultAddress: constants.UnspecifiedIP,
811+
AutoAllocatedIPv6Address: "2001:2::f0f0:e351",
812+
},
813+
proxy: &Proxy{
814+
Metadata: &NodeMetadata{
815+
DNSAutoAllocate: true,
816+
DNSCapture: true,
817+
},
818+
ipMode: IPv6,
819+
},
820+
expectedAddress: "2001:2::f0f0:e351",
821+
},
822+
}
823+
824+
for _, tt := range tests {
825+
t.Run(tt.name, func(t *testing.T) {
826+
result := tt.service.GetAddressForProxy(tt.proxy)
827+
assert.Equal(t, result, tt.expectedAddress)
828+
})
829+
}
830+
}
831+
734832
func BenchmarkEndpointDeepCopy(b *testing.B) {
735833
ep := &IstioEndpoint{
736834
Labels: labels.Instance{"label-foo": "aaa", "label-bar": "bbb"},

pilot/pkg/networking/core/cluster.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ func (configgen *ConfigGeneratorImpl) BuildClusters(proxy *model.Proxy, req *mod
6969
func (configgen *ConfigGeneratorImpl) BuildDeltaClusters(proxy *model.Proxy, updates *model.PushRequest,
7070
watched *model.WatchedResource,
7171
) ([]*discovery.Resource, []string, model.XdsLogDetails, bool) {
72+
// If FilterGatewayClusterConfig is enabled, we need to generate subset of clusters for the gateway.
73+
if features.FilterGatewayClusterConfig && proxy.Type == model.Router {
74+
cl, lg := configgen.BuildClusters(proxy, updates)
75+
return cl, nil, lg, false
76+
}
77+
7278
// if we can't use delta, fall back to generate all
7379
if !shouldUseDelta(updates) {
7480
cl, lg := configgen.BuildClusters(proxy, updates)

pkg/config/validation/validation.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2924,10 +2924,6 @@ var ValidateServiceEntry = RegisterValidateFunc("ValidateServiceEntry",
29242924
}
29252925
}
29262926

2927-
if serviceEntry.WorkloadSelector != nil {
2928-
errs = AppendWarningf(errs, "workloadSelector should not be set when resolution mode is %v", serviceEntry.Resolution)
2929-
}
2930-
29312927
if len(serviceEntry.Addresses) > 0 {
29322928
for _, port := range serviceEntry.Ports {
29332929
if port == nil {

pkg/config/validation/validation_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3854,7 +3854,7 @@ func TestValidateServiceEntries(t *testing.T) {
38543854
Resolution: networking.ServiceEntry_DNS,
38553855
},
38563856
valid: true,
3857-
warning: true,
3857+
warning: false,
38583858
},
38593859
{
38603860
name: "bad selector key", in: &networking.ServiceEntry{

pkg/test/framework/test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,9 @@ func (t *testImpl) doRun(ctx *testContext, fn func(ctx TestContext), parallel bo
307307
if t.goTest.Failed() {
308308
message = "failed"
309309
}
310+
if t.goTest.Skipped() {
311+
message = "skipped"
312+
}
310313
scopes.Framework.Infof("=== DONE (%s): Test: '%s[%s] (%v)' ===",
311314
message,
312315
rt.suiteContext().Settings().TestID,

releasenotes/notes/55567.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: release-notes/v2
2+
kind: bug-fix
3+
area: traffic-management
4+
issue:
5+
- 50164
6+
releaseNotes:
7+
- |
8+
**Fixed** an issue that validation webhook incorrectly report a warning when a ServiceEntry configures `workloadSelector`` with DNS resolution.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: release-notes/v2
2+
kind: feature
3+
area: traffic-management
4+
issue:
5+
- 54743
6+
releaseNotes:
7+
- |
8+
**Removed** the restriction that revision tag only works when `istiodRemote` is not enabled in the istiod helm chart. Revision tag now works as long as the `revisionTags` is specified no matter `istiodRemote` is enabled or not.

tests/integration/security/sds_ingress/quic/ingress_test.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package quic
1919

2020
import (
21+
"strings"
2122
"testing"
2223

2324
"istio.io/istio/pkg/test/framework"
@@ -78,6 +79,11 @@ func TestTlsGatewaysWithQUIC(t *testing.T) {
7879
NewTest(t).
7980
RequiresSingleCluster().
8081
Run(func(t framework.TestContext) {
82+
err := ingressutil.WaitForIngressQUICService(t, inst.Settings().SystemNamespace)
83+
if err != nil && strings.Contains(err.Error(), "the QUIC mixed service is not supported") {
84+
t.Skip("the QUIC mixed service is not supported - ", err)
85+
}
86+
8187
t.NewSubTest("tcp").Run(func(t framework.TestContext) {
8288
ingressutil.RunTestMultiTLSGateways(t, inst, namespace.Future(&echo1NS))
8389
})
@@ -96,6 +102,11 @@ func TestMtlsGatewaysWithQUIC(t *testing.T) {
96102
NewTest(t).
97103
RequiresSingleCluster().
98104
Run(func(t framework.TestContext) {
105+
err := ingressutil.WaitForIngressQUICService(t, inst.Settings().SystemNamespace)
106+
if err != nil && strings.Contains(err.Error(), "the QUIC mixed service is not supported") {
107+
t.Skip("the QUIC mixed service is not supported - ", err)
108+
}
109+
99110
t.NewSubTest("tcp").Run(func(t framework.TestContext) {
100111
ingressutil.RunTestMultiTLSGateways(t, inst, namespace.Future(&echo1NS))
101112
})

0 commit comments

Comments
 (0)