Skip to content

Commit 882bb99

Browse files
jenshunfuden
andauthored
re-enable deployer e2e tests (#10705)
Signed-off-by: Jenny Shu <[email protected]> Co-authored-by: Nathan Fudenberg <[email protected]>
1 parent 4440593 commit 882bb99

File tree

19 files changed

+76
-230
lines changed

19 files changed

+76
-230
lines changed

.github/workflows/pr-kubernetes-tests.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ jobs:
2828
# Feb 27, 2025: 13 minutes
2929
- cluster-name: 'cluster-one'
3030
go-test-args: '-v -timeout=25m'
31-
go-test-run-regex: '^TestKgateway$$/^BasicRouting$$|^TestKgateway$$/^HTTPRouteServices$$|^TestKgateway$$/^TCPRouteServices$$'
31+
go-test-run-regex: '^TestKgateway$$/^BasicRouting$$|^TestKgateway$$/^Deployer$$|^TestKgateway$$/^HTTPRouteServices$$|^TestKgateway$$/^TCPRouteServices$$'
3232

3333
# # Dec 4, 2024: 23 minutes
3434
# - cluster-name: 'cluster-two'
3535
# go-test-args: '-v -timeout=25m'
36-
# go-test-run-regex: '^TestKgateway$$/^RouteDelegation$$|^TestKgatewayIstioRevision$$|^TestRevisionIstioRegression$$|^TestKgateway$$/^Deployer$$|^TestKgateway$$/^RouteOptions$$|^TestKgateway$$/^VirtualHostOptions$$|^TestKgateway$$/^Upstreams$$|^TestKgateway$$/^HeadlessSvc$$|^TestKgateway$$/^PortRouting$$|^TestKgatewayMinimalDefaultGatewayParameters$$|^TestKgateway$$/^DirectResponse$$|^TestKgateway$$/^HttpListenerOptions$$|^TestKgateway$$/^ListenerOptions$$|^TestKgateway$$/^GlooAdminServer$$'
36+
# go-test-run-regex: '^TestKgateway$$/^RouteDelegation$$|^TestKgatewayIstioRevision$$|^TestRevisionIstioRegression$$|^TestKgateway$$/^RouteOptions$$|^TestKgateway$$/^VirtualHostOptions$$|^TestKgateway$$/^Upstreams$$|^TestKgateway$$/^HeadlessSvc$$|^TestKgateway$$/^PortRouting$$|^TestKgatewayMinimalDefaultGatewayParameters$$|^TestKgateway$$/^DirectResponse$$|^TestKgateway$$/^HttpListenerOptions$$|^TestKgateway$$/^ListenerOptions$$|^TestKgateway$$/^GlooAdminServer$$'
3737

3838
# # Dec 4, 2024: 24 minutes
3939
# - cluster-name: 'cluster-three'
@@ -53,7 +53,7 @@ jobs:
5353
# # Dec 4, 2024: 26 minutes
5454
# - cluster-name: 'cluster-six'
5555
# go-test-args: '-v -timeout=30m'
56-
# go-test-run-regex: '^TestDiscoveryWatchlabels$$|^TestKgatewayNoValidation$$|^TestHelm$$|^TestHelmSettings$$|^TestKgatewayAws$$|^TestKgateway$$/^HTTPRouteServices$$|^TestKgateway$$/^TCPRouteServices$$|^TestZeroDowntimeRollout$$'
56+
# go-test-run-regex: '^TestDiscoveryWatchlabels$$|^TestKgatewayNoValidation$$|^TestHelm$$|^TestHelmSettings$$|^TestKgatewayAws$$|^TestZeroDowntimeRollout$$'
5757

5858
# # Dec 4, 2024: 13 minutes
5959
# - cluster-name: 'cluster-seven'

internal/kgateway/admin/server.go

+2-5
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ import (
1414
"istio.io/istio/pkg/kube/krt"
1515

1616
"github.com/kgateway-dev/kgateway/v2/internal/kgateway/controller"
17-
)
18-
19-
const (
20-
AdminPort = 9097
17+
"github.com/kgateway-dev/kgateway/v2/internal/kgateway/wellknown"
2118
)
2219

2320
func RunAdminServer(ctx context.Context, setupOpts *controller.SetupOpts) error {
@@ -89,7 +86,7 @@ func startHandlers(ctx context.Context, addHandlers ...func(mux *http.ServeMux,
8986
mux.HandleFunc("/", idx)
9087
mux.HandleFunc("/snapshots/", idx)
9188
server := &http.Server{
92-
Addr: fmt.Sprintf("localhost:%d", AdminPort),
89+
Addr: fmt.Sprintf("localhost:%d", wellknown.KgatewayAdminPort),
9390
Handler: mux,
9491
}
9592
contextutils.LoggerFrom(ctx).Infof("Admin server starting at %s", server.Addr)

internal/kgateway/extensions2/settings/settings_test.go

+5-4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
. "github.com/onsi/gomega"
99

1010
"github.com/kgateway-dev/kgateway/v2/internal/kgateway/extensions2/settings"
11+
"github.com/kgateway-dev/kgateway/v2/internal/kgateway/wellknown"
1112
)
1213

1314
func TestSettings(t *testing.T) {
@@ -32,8 +33,8 @@ func TestSettings(t *testing.T) {
3233
EnableAutoMtls: false,
3334
StsClusterName: "",
3435
StsUri: "",
35-
XdsServiceName: "kgateway",
36-
XdsServicePort: 9977,
36+
XdsServiceName: wellknown.DefaultXdsService,
37+
XdsServicePort: wellknown.DefaultXdsPort,
3738
},
3839
},
3940
{
@@ -78,8 +79,8 @@ func TestSettings(t *testing.T) {
7879
},
7980
expectedSettings: &settings.Settings{
8081
EnableAutoMtls: true,
81-
XdsServiceName: "kgateway",
82-
XdsServicePort: 9977,
82+
XdsServiceName: wellknown.DefaultXdsService,
83+
XdsServicePort: wellknown.DefaultXdsPort,
8384
},
8485
},
8586
}

internal/kgateway/wellknown/ports.go

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package wellknown
2+
3+
// DefaultXdsService is the default name of the Kubernetes Service that serves xDS config.
4+
// This value should stay in sync with:
5+
// - the default value of `XdsServiceName` in internal/kgateway/extensions2/settings/settings.go
6+
// - the default Service name in install/helm/kgateway/templates/service.yaml
7+
const DefaultXdsService = "kgateway"
8+
9+
// DefaultXdsPort is the default xDS port. This value should stay in sync with:
10+
// - the default value of `XdsServicePort` in internal/kgateway/extensions2/settings/settings.go
11+
// - the `controller.service.ports.grpc` value in install/helm/kgateway/values.yaml
12+
var DefaultXdsPort uint32 = 9977
13+
14+
// EnvoyAdminPort is the default envoy admin port
15+
var EnvoyAdminPort uint32 = 19000
16+
17+
// KgatewayAdminPort is the kgateway admin server port
18+
var KgatewayAdminPort uint32 = 9097

pkg/utils/controllerutils/admincli/client.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"github.com/rotisserie/eris"
99
"github.com/solo-io/go-utils/threadsafe"
1010

11-
"github.com/kgateway-dev/kgateway/v2/internal/kgateway/admin"
11+
"github.com/kgateway-dev/kgateway/v2/internal/kgateway/wellknown"
1212
"github.com/kgateway-dev/kgateway/v2/pkg/utils/cmdutils"
1313
"github.com/kgateway-dev/kgateway/v2/pkg/utils/requestutils/curl"
1414
)
@@ -36,7 +36,7 @@ func NewClient() *Client {
3636
curlOptions: []curl.Option{
3737
curl.WithScheme("http"),
3838
curl.WithHost("127.0.0.1"),
39-
curl.WithPort(admin.AdminPort),
39+
curl.WithPort(int(wellknown.KgatewayAdminPort)),
4040
// 3 retries, exponential back-off, 10 second max
4141
curl.WithRetries(3, 0, 10),
4242
},

pkg/utils/envoyutils/admincli/client.go

+7-6
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,15 @@ import (
1212
listenerv3 "github.com/envoyproxy/go-control-plane/envoy/config/listener/v3"
1313
"github.com/solo-io/go-utils/threadsafe"
1414

15+
"github.com/kgateway-dev/kgateway/v2/internal/kgateway/wellknown"
1516
"github.com/kgateway-dev/kgateway/v2/pkg/utils/cmdutils"
17+
"github.com/kgateway-dev/kgateway/v2/pkg/utils/kubeutils/kubectl"
18+
"github.com/kgateway-dev/kgateway/v2/pkg/utils/kubeutils/portforward"
1619
"github.com/kgateway-dev/kgateway/v2/pkg/utils/protoutils"
1720
"github.com/kgateway-dev/kgateway/v2/pkg/utils/requestutils/curl"
1821

19-
"github.com/kgateway-dev/kgateway/v2/pkg/utils/kubeutils/kubectl"
20-
"github.com/kgateway-dev/kgateway/v2/pkg/utils/kubeutils/portforward"
22+
// import for side effects; this is needed so we can unmarshal envoy types
23+
_ "github.com/kgateway-dev/kgateway/v2/internal/envoyinit/hack/filter_types"
2124
)
2225

2326
const (
@@ -32,8 +35,6 @@ const (
3235
ServerInfoPath = "server_info"
3336
)
3437

35-
var envoyAdminPort uint32 = 19000
36-
3738
// DumpOptions should have flags for any kind of underlying optional
3839
// filtering or inclusion of Envoy dump data, such as including EDS, filters, etc.
3940
type DumpOptions struct {
@@ -58,7 +59,7 @@ func NewClient() *Client {
5859
curlOptions: []curl.Option{
5960
curl.WithScheme("http"),
6061
curl.WithHost("127.0.0.1"),
61-
curl.WithPort(int(envoyAdminPort)),
62+
curl.WithPort(int(wellknown.EnvoyAdminPort)),
6263
// 3 retries, exponential back-off, 10 second max
6364
curl.WithRetries(3, 0, 10),
6465
},
@@ -77,7 +78,7 @@ func NewPortForwardedClient(ctx context.Context, proxySelector, namespace string
7778
// 1. Open a port-forward to the Kubernetes Deployment, so that we can query the Envoy Admin API directly
7879
portForwarder, err := kubectl.NewCli().StartPortForward(ctx,
7980
selector,
80-
portforward.WithRemotePort(int(envoyAdminPort)))
81+
portforward.WithRemotePort(int(wellknown.EnvoyAdminPort)))
8182
if err != nil {
8283
return nil, nil, err
8384
}

pkg/utils/kubeutils/kubectl/cli.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,9 @@ func (c *Cli) StartPortForward(ctx context.Context, options ...portforward.Optio
218218
err := portForwarder.Start(
219219
ctx,
220220
retry.LastErrorOnly(true),
221-
retry.Delay(100*time.Millisecond),
222-
retry.DelayType(retry.BackOffDelay),
223-
retry.Attempts(5),
221+
retry.Delay(250*time.Millisecond),
222+
retry.DelayType(retry.FixedDelay),
223+
retry.Attempts(60),
224224
)
225225
return portForwarder, err
226226
}

pkg/utils/kubeutils/portforward/cli_portforwarder.go

-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ func (c *cliPortForwarder) startOnce(ctx context.Context) error {
5656
}
5757

5858
cmdCtx, cmdCancel := context.WithCancel(ctx)
59-
defer cmdCancel() // paranoia for vet
6059
c.cmd = exec.CommandContext(
6160
cmdCtx,
6261
"kubectl",

test/helpers/kube_dump.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import (
1515
"github.com/onsi/ginkgo/v2"
1616
"github.com/solo-io/go-utils/threadsafe"
1717

18-
"github.com/kgateway-dev/kgateway/v2/internal/kgateway/admin"
18+
"github.com/kgateway-dev/kgateway/v2/internal/kgateway/wellknown"
1919
kgatewayAdminCli "github.com/kgateway-dev/kgateway/v2/pkg/utils/controllerutils/admincli"
2020
"github.com/kgateway-dev/kgateway/v2/pkg/utils/envoyutils/admincli"
2121
"github.com/kgateway-dev/kgateway/v2/pkg/utils/kubeutils/kubectl"
@@ -344,7 +344,7 @@ func ControllerDumpOnFail(ctx context.Context, kubectlCli *kubectl.Cli, outLog i
344344
// Open a port-forward to the controller pod's admin port
345345
portForwarder, err := kubectlCli.StartPortForward(ctx,
346346
portforward.WithPod(podName, ns),
347-
portforward.WithPorts(int(admin.AdminPort), int(admin.AdminPort)),
347+
portforward.WithPorts(int(wellknown.KgatewayAdminPort), int(wellknown.KgatewayAdminPort)),
348348
)
349349
if err != nil {
350350
fmt.Printf("error starting port forward to controller admin port: %f\n", err)
@@ -359,7 +359,7 @@ func ControllerDumpOnFail(ctx context.Context, kubectlCli *kubectl.Cli, outLog i
359359
WithReceiver(io.Discard).
360360
WithCurlOptions(
361361
curl.WithRetries(3, 0, 10),
362-
curl.WithPort(int(admin.AdminPort)),
362+
curl.WithPort(int(wellknown.KgatewayAdminPort)),
363363
)
364364

365365
krtSnapshotFile := fileAtPath(filepath.Join(namespaceOutDir, fmt.Sprintf("%s.krt_snapshot.log", podName)))

test/kubernetes/e2e/features/deployer/minimal_default_gatewayparameters_suite.go

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
//go:build ignore
2-
31
package deployer
42

53
import (

test/kubernetes/e2e/features/deployer/suite.go

+18-77
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
1-
//go:build ignore
2-
31
package deployer
42

53
import (
64
"context"
75
"fmt"
86
"time"
97

10-
tlsv3 "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3"
118
"github.com/onsi/gomega"
129
"github.com/onsi/gomega/gstruct"
1310
"github.com/stretchr/testify/assert"
@@ -20,10 +17,8 @@ import (
2017
gwv1 "sigs.k8s.io/gateway-api/apis/v1"
2118

2219
"github.com/kgateway-dev/kgateway/v2/api/v1alpha1"
23-
"github.com/kgateway-dev/kgateway/v2/internal/gloo/pkg/utils"
2420
"github.com/kgateway-dev/kgateway/v2/internal/kgateway/wellknown"
2521
"github.com/kgateway-dev/kgateway/v2/pkg/utils/envoyutils/admincli"
26-
"github.com/kgateway-dev/kgateway/v2/pkg/utils/kubeutils"
2722
"github.com/kgateway-dev/kgateway/v2/test/kubernetes/e2e"
2823
testdefaults "github.com/kgateway-dev/kgateway/v2/test/kubernetes/e2e/defaults"
2924
)
@@ -38,7 +33,7 @@ type testingSuite struct {
3833
ctx context.Context
3934

4035
// testInstallation contains all the metadata/utilities necessary to execute a series of tests
41-
// against an installation of Gloo Gateway
36+
// against an installation of kgateway
4237
testInstallation *e2e.TestInstallation
4338

4439
// manifests maps test name to a list of manifests to apply before the test
@@ -77,10 +72,6 @@ func (s *testingSuite) SetupSuite() {
7772
"TestSelfManagedGateway": {
7873
selfManagedGateway,
7974
},
80-
"TestConfigureAwsLambda": {
81-
testdefaults.NginxPodManifest,
82-
gatewayWithoutParameters,
83-
},
8475
}
8576
s.manifestObjects = map[string][]client.Object{
8677
testdefaults.NginxPodManifest: {testdefaults.NginxPod, testdefaults.NginxSvc},
@@ -111,6 +102,14 @@ func (s *testingSuite) AfterTest(suiteName, testName string) {
111102
s.Require().NoError(err)
112103
s.testInstallation.Assertions.EventuallyObjectsNotExist(s.ctx, s.manifestObjects[manifest]...)
113104
}
105+
106+
// make sure the proxy pods are gone before the next test starts
107+
s.testInstallation.Assertions.EventuallyPodsNotExist(
108+
s.ctx,
109+
s.testInstallation.Metadata.InstallNamespace,
110+
metav1.ListOptions{
111+
LabelSelector: "app.kubernetes.io/name=gw",
112+
})
114113
}
115114

116115
func (s *testingSuite) TestProvisionDeploymentAndService() {
@@ -123,7 +122,7 @@ func (s *testingSuite) TestConfigureProxiesFromGatewayParameters() {
123122
// check that the labels and annotations got passed through from GatewayParameters to the ServiceAccount
124123
sa := &corev1.ServiceAccount{}
125124
err := s.testInstallation.ClusterContext.Client.Get(s.ctx,
126-
types.NamespacedName{Name: glooProxyObjectMeta.Name, Namespace: glooProxyObjectMeta.Namespace},
125+
types.NamespacedName{Name: proxyObjectMeta.Name, Namespace: proxyObjectMeta.Namespace},
127126
sa)
128127
s.Require().NoError(err)
129128
s.testInstallation.Assertions.Gomega.Expect(sa.GetLabels()).To(
@@ -134,7 +133,7 @@ func (s *testingSuite) TestConfigureProxiesFromGatewayParameters() {
134133
// check that the labels and annotations got passed through from GatewayParameters to the Service
135134
svc := &corev1.Service{}
136135
err = s.testInstallation.ClusterContext.Client.Get(s.ctx,
137-
types.NamespacedName{Name: glooProxyObjectMeta.Name, Namespace: glooProxyObjectMeta.Namespace},
136+
types.NamespacedName{Name: proxyObjectMeta.Name, Namespace: proxyObjectMeta.Namespace},
138137
svc)
139138
s.Require().NoError(err)
140139
s.testInstallation.Assertions.Gomega.Expect(svc.GetLabels()).To(
@@ -155,22 +154,12 @@ func (s *testingSuite) TestConfigureProxiesFromGatewayParameters() {
155154

156155
s.testInstallation.Assertions.AssertEnvoyAdminApi(
157156
s.ctx,
158-
proxyDeployment.ObjectMeta,
157+
proxyObjectMeta,
159158
serverInfoLogLevelAssertion(s.testInstallation, "debug", "connection:trace,upstream:debug"),
160159
xdsClusterAssertion(s.testInstallation),
161160
)
162161
}
163162

164-
func (s *testingSuite) TestConfigureAwsLambda() {
165-
s.testInstallation.Assertions.EventuallyReadyReplicas(s.ctx, proxyDeployment.ObjectMeta, gomega.Equal(1))
166-
167-
s.testInstallation.Assertions.AssertEnvoyAdminApi(
168-
s.ctx,
169-
proxyDeployment.ObjectMeta,
170-
awsStsClusterAssertion(s.testInstallation),
171-
)
172-
}
173-
174163
func (s *testingSuite) TestProvisionResourcesUpdatedWithValidParameters() {
175164
s.testInstallation.Assertions.EventuallyReadyReplicas(s.ctx, proxyDeployment.ObjectMeta, gomega.Equal(1))
176165

@@ -224,14 +213,13 @@ func (s *testingSuite) TestProvisionResourcesNotUpdatedWithInvalidParameters() {
224213
g.Expect(proxyDeployment.Spec.Template.Spec.Containers[0].SecurityContext.Privileged).To(origPrivileged)
225214
g.Expect(proxyDeployment.Spec.Replicas).To(gstruct.PointTo(gomega.Equal(int32(1))))
226215
}, "30s", "1s").Should(gomega.Succeed())
227-
228216
}
229217

230218
func (s *testingSuite) TestSelfManagedGateway() {
231219
s.Require().EventuallyWithT(func(c *assert.CollectT) {
232220
gw := &gwv1.Gateway{}
233221
err := s.testInstallation.ClusterContext.Client.Get(s.ctx,
234-
types.NamespacedName{Name: glooProxyObjectMeta.Name, Namespace: glooProxyObjectMeta.Namespace},
222+
types.NamespacedName{Name: proxyObjectMeta.Name, Namespace: proxyObjectMeta.Namespace},
235223
gw)
236224
assert.NoError(c, err, "gateway not found")
237225

@@ -314,59 +302,12 @@ func xdsClusterAssertion(testInstallation *e2e.TestInstallation) func(ctx contex
314302
xdsSocketAddress := xdsCluster.GetLoadAssignment().GetEndpoints()[0].GetLbEndpoints()[0].GetEndpoint().GetAddress().GetSocketAddress()
315303
g.Expect(xdsSocketAddress).NotTo(gomega.BeNil())
316304

317-
g.Expect(xdsSocketAddress.GetAddress()).To(gomega.Equal(kubeutils.ServiceFQDN(metav1.ObjectMeta{
318-
Name: "kgateway",
319-
Namespace: testInstallation.Metadata.InstallNamespace,
320-
})), "xds socket address points to gloo service, in installation namespace")
321-
322-
g.Expect(xdsSocketAddress.GetPortValue()).To(gomega.Equal(9977), "xds socket port points to gloo service, in installation namespace")
323-
}).
324-
WithContext(ctx).
325-
WithTimeout(time.Second * 10).
326-
WithPolling(time.Millisecond * 200).
327-
Should(gomega.Succeed())
328-
}
329-
}
330-
331-
// awsStsClusterAssertion asserts that:
332-
// - if the installation is configured to use aws with service account creds, then the proxy contains an aws sts cluster with the expected sts uri
333-
// - if the installation is NOT configured to use aws with service account creds, then no aws sts cluster should exist on the proxy
334-
func awsStsClusterAssertion(testInstallation *e2e.TestInstallation) func(ctx context.Context, adminClient *admincli.Client) {
335-
// get aws values from installation
336-
awsOpts := testInstallation.Metadata.AwsOptions
337-
shouldHaveStsCluster := awsOpts != nil && awsOpts.EnableServiceAccountCredentials
338-
var expectedStsUri string
339-
if shouldHaveStsCluster {
340-
expectedStsUri = fmt.Sprintf("sts.%s.amazonaws.com", awsOpts.StsCredentialsRegion)
341-
}
342-
343-
return func(ctx context.Context, adminClient *admincli.Client) {
344-
testInstallation.Assertions.Gomega.Eventually(func(g gomega.Gomega) {
345-
clusters, err := adminClient.GetStaticClusters(ctx)
346-
g.Expect(err).NotTo(gomega.HaveOccurred(), "can get static clusters from config dump")
347-
348-
awsStsCluster, ok := clusters["aws_sts_cluster"]
349-
if shouldHaveStsCluster {
350-
g.Expect(ok).To(gomega.BeTrue(), "should contain cluster aws_sts_cluster")
351-
} else {
352-
g.Expect(ok).To(gomega.BeFalse(), "should not contain cluster aws_sts_cluster")
353-
// nothing else to test, so return here
354-
return
355-
}
305+
g.Expect(xdsSocketAddress.GetAddress()).To(gomega.Equal(
306+
fmt.Sprintf("%s.%s.svc.cluster.local", wellknown.DefaultXdsService, testInstallation.Metadata.InstallNamespace),
307+
), "xds socket address points to kgateway service, in installation namespace")
356308

357-
// check that transport socket has expected values
358-
msg, err := utils.AnyToMessage(awsStsCluster.GetTransportSocket().GetTypedConfig())
359-
g.Expect(err).NotTo(gomega.HaveOccurred())
360-
tlsCtx, ok := msg.(*tlsv3.UpstreamTlsContext)
361-
g.Expect(ok).To(gomega.BeTrue(), "should be able to get UpstreamTlsContext")
362-
g.Expect(tlsCtx.GetSni()).To(gomega.Equal(expectedStsUri))
363-
364-
// check that load assignment has expected values
365-
g.Expect(awsStsCluster.GetLoadAssignment().GetEndpoints()).To(gomega.HaveLen(1))
366-
g.Expect(awsStsCluster.GetLoadAssignment().GetEndpoints()[0].GetLbEndpoints()).To(gomega.HaveLen(1))
367-
socketAddr := awsStsCluster.GetLoadAssignment().GetEndpoints()[0].GetLbEndpoints()[0].GetEndpoint().GetAddress().GetSocketAddress()
368-
g.Expect(socketAddr).NotTo(gomega.BeNil())
369-
g.Expect(socketAddr.GetAddress()).To(gomega.Equal(expectedStsUri))
309+
g.Expect(xdsSocketAddress.GetPortValue()).To(gomega.Equal(wellknown.DefaultXdsPort),
310+
"xds socket port points to kgateway service, in installation namespace")
370311
}).
371312
WithContext(ctx).
372313
WithTimeout(time.Second * 10).

0 commit comments

Comments
 (0)