xds/internal/xdsclient: Emit unknown for CSM Labels if not present in CDS (#7309)

This commit is contained in:
Zach Reyes 2024-06-10 13:29:17 -04:00 committed by GitHub
parent e40eb2e2c1
commit e2e7a51601
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 102 additions and 29 deletions

View File

@ -33,6 +33,7 @@ import (
"google.golang.org/grpc/internal/testutils/xds/e2e"
"google.golang.org/grpc/serviceconfig"
"google.golang.org/grpc/status"
"google.golang.org/grpc/xds/internal"
"google.golang.org/grpc/xds/internal/balancer/clusterresolver"
v3clusterpb "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3"
@ -85,6 +86,7 @@ func (s) TestAggregateClusterSuccess_LeafNode(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
},
@ -94,6 +96,7 @@ func (s) TestAggregateClusterSuccess_LeafNode(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName + "-new",
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
},
@ -108,6 +111,7 @@ func (s) TestAggregateClusterSuccess_LeafNode(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
DNSHostname: "dns_host:8080",
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
},
@ -117,6 +121,7 @@ func (s) TestAggregateClusterSuccess_LeafNode(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
DNSHostname: "dns_host_new:8080",
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
},
@ -211,12 +216,14 @@ func (s) TestAggregateClusterSuccess_ThenUpdateChildClusters(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
},
{
Cluster: dnsClusterName,
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
DNSHostname: fmt.Sprintf("%s:%d", dnsHostName, dnsPort),
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
},
},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
@ -247,12 +254,14 @@ func (s) TestAggregateClusterSuccess_ThenUpdateChildClusters(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
},
{
Cluster: dnsClusterNameNew,
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
DNSHostname: fmt.Sprintf("%s:%d", dnsHostNameNew, dnsPort),
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
},
},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
@ -298,12 +307,14 @@ func (s) TestAggregateClusterSuccess_ThenChangeRootToEDS(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
},
{
Cluster: dnsClusterName,
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
DNSHostname: fmt.Sprintf("%s:%d", dnsHostName, dnsPort),
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
},
},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
@ -329,6 +340,7 @@ func (s) TestAggregateClusterSuccess_ThenChangeRootToEDS(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
}
@ -363,6 +375,7 @@ func (s) TestAggregatedClusterSuccess_SwitchBetweenLeafAndAggregate(t *testing.T
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
}
@ -391,12 +404,14 @@ func (s) TestAggregatedClusterSuccess_SwitchBetweenLeafAndAggregate(t *testing.T
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
},
{
Cluster: dnsClusterName,
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
DNSHostname: fmt.Sprintf("%s:%d", dnsHostName, dnsPort),
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
},
},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
@ -420,6 +435,7 @@ func (s) TestAggregatedClusterSuccess_SwitchBetweenLeafAndAggregate(t *testing.T
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
}
@ -572,6 +588,7 @@ func (s) TestAggregatedClusterSuccess_DiamondDependency(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
}
@ -639,12 +656,14 @@ func (s) TestAggregatedClusterSuccess_IgnoreDups(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
},
{
Cluster: clusterNameD,
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
},
},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
@ -727,6 +746,7 @@ func (s) TestAggregatedCluster_NodeChildOfItself(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
}
@ -832,6 +852,7 @@ func (s) TestAggregatedCluster_CycleWithLeafNode(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: internal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
}

View File

@ -42,6 +42,7 @@ import (
"google.golang.org/grpc/resolver/manual"
"google.golang.org/grpc/serviceconfig"
"google.golang.org/grpc/status"
xdsinternal "google.golang.org/grpc/xds/internal"
"google.golang.org/grpc/xds/internal/balancer/clusterresolver"
"google.golang.org/grpc/xds/internal/xdsclient"
"google.golang.org/grpc/xds/internal/xdsclient/xdsresource"
@ -456,6 +457,7 @@ func (s) TestClusterUpdate_Success(t *testing.T) {
EDSServiceName: serviceName,
MaxConcurrentRequests: newUint32(512),
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: xdsinternal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
},
@ -483,6 +485,7 @@ func (s) TestClusterUpdate_Success(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: xdsinternal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"ring_hash_experimental": {"minRingSize":100, "maxRingSize":1000}}]`),
},
@ -505,6 +508,7 @@ func (s) TestClusterUpdate_Success(t *testing.T) {
Type: clusterresolver.DiscoveryMechanismTypeEDS,
EDSServiceName: serviceName,
OutlierDetection: json.RawMessage(`{"successRateEjection":{}}`),
TelemetryLabels: xdsinternal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"ring_hash_experimental": {"minRingSize":1024, "maxRingSize":8388608}}]`),
},
@ -557,6 +561,7 @@ func (s) TestClusterUpdate_Success(t *testing.T) {
"requestVolume": 50
}
}`),
TelemetryLabels: xdsinternal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"ring_hash_experimental": {"minRingSize":1024, "maxRingSize":8388608}}]`),
},
@ -609,6 +614,7 @@ func (s) TestClusterUpdate_SuccessWithLRS(t *testing.T) {
EDSServiceName: serviceName,
LoadReportingServer: lrsServerCfg,
OutlierDetection: json.RawMessage(`{}`),
TelemetryLabels: xdsinternal.UnknownCSMLabels,
}},
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
}

View File

@ -41,6 +41,7 @@ import (
"google.golang.org/grpc/resolver/manual"
"google.golang.org/grpc/serviceconfig"
"google.golang.org/grpc/status"
xdsinternal "google.golang.org/grpc/xds/internal"
"google.golang.org/grpc/xds/internal/balancer/clusterimpl"
"google.golang.org/grpc/xds/internal/balancer/outlierdetection"
"google.golang.org/grpc/xds/internal/balancer/priority"
@ -400,8 +401,9 @@ func (s) TestOutlierDetectionConfigPropagationToChildPolicy(t *testing.T) {
ChildPolicy: &iserviceconfig.BalancerConfig{
Name: clusterimpl.Name,
Config: &clusterimpl.LBConfig{
Cluster: clusterName,
EDSServiceName: edsServiceName,
Cluster: clusterName,
EDSServiceName: edsServiceName,
TelemetryLabels: xdsinternal.UnknownCSMLabels,
ChildPolicy: &iserviceconfig.BalancerConfig{
Name: wrrlocality.Name,
Config: &wrrlocality.LBConfig{

View File

@ -83,3 +83,10 @@ func SetLocalityID(addr resolver.Address, l LocalityID) resolver.Address {
// ResourceTypeMapForTesting maps TypeUrl to corresponding ResourceType.
var ResourceTypeMapForTesting map[string]any
// UnknownCSMLabels are TelemetryLabels emitted from CDS if CSM Telemetry Label
// data is not present in the CDS Resource.
var UnknownCSMLabels = map[string]string{
"csm.service_name": "unknown",
"csm.service_namespace_name": "unknown",
}

View File

@ -103,7 +103,7 @@ func verifyClusterUpdate(ctx context.Context, updateCh *testutils.Channel, wantU
return fmt.Errorf("received update with error type %v, want %v", gotType, wantType)
}
}
cmpOpts := []cmp.Option{cmpopts.EquateEmpty(), cmpopts.IgnoreFields(xdsresource.ClusterUpdate{}, "Raw", "LBPolicy")}
cmpOpts := []cmp.Option{cmpopts.EquateEmpty(), cmpopts.IgnoreFields(xdsresource.ClusterUpdate{}, "Raw", "LBPolicy", "TelemetryLabels")}
if diff := cmp.Diff(wantUpdate.update, got.update, cmpOpts...); diff != "" {
return fmt.Errorf("received unexpected diff in the cluster resource update: (-want, got):\n%s", diff)
}

View File

@ -875,7 +875,7 @@ func (s) TestHandleClusterResponseFromManagementServer(t *testing.T) {
}
cmpOpts := []cmp.Option{
cmpopts.EquateEmpty(),
cmpopts.IgnoreFields(xdsresource.ClusterUpdate{}, "Raw", "LBPolicy"),
cmpopts.IgnoreFields(xdsresource.ClusterUpdate{}, "Raw", "LBPolicy", "TelemetryLabels"),
}
if diff := cmp.Diff(test.wantUpdate, gotUpdate, cmpOpts...); diff != "" {
t.Fatalf("Unexpected diff in metadata, diff (-want +got):\n%s", diff)

View File

@ -34,6 +34,7 @@ import (
"google.golang.org/grpc/internal/testutils/xds/e2e"
"google.golang.org/grpc/internal/xds/bootstrap"
"google.golang.org/grpc/serviceconfig"
"google.golang.org/grpc/xds/internal"
"google.golang.org/grpc/xds/internal/balancer/ringhash"
"google.golang.org/grpc/xds/internal/balancer/wrrlocality"
"google.golang.org/grpc/xds/internal/xdsclient/xdsresource"
@ -141,9 +142,10 @@ func (s) TestValidateCluster_Success(t *testing.T) {
},
},
wantUpdate: xdsresource.ClusterUpdate{
ClusterName: clusterName,
ClusterType: xdsresource.ClusterTypeLogicalDNS,
DNSHostName: "dns_host:8080",
ClusterName: clusterName,
ClusterType: xdsresource.ClusterTypeLogicalDNS,
DNSHostName: "dns_host:8080",
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: wrrlocality.Name,
@ -172,6 +174,7 @@ func (s) TestValidateCluster_Success(t *testing.T) {
ClusterName: clusterName,
ClusterType: xdsresource.ClusterTypeAggregate,
PrioritizedClusterNames: []string{"a", "b", "c"},
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: wrrlocality.Name,
@ -183,9 +186,12 @@ func (s) TestValidateCluster_Success(t *testing.T) {
},
},
{
name: "happy-case-no-service-name-no-lrs",
cluster: e2e.DefaultCluster(clusterName, "", e2e.SecurityLevelNone),
wantUpdate: xdsresource.ClusterUpdate{ClusterName: clusterName},
name: "happy-case-no-service-name-no-lrs",
cluster: e2e.DefaultCluster(clusterName, "", e2e.SecurityLevelNone),
wantUpdate: xdsresource.ClusterUpdate{
ClusterName: clusterName,
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: wrrlocality.Name,
Config: &wrrlocality.LBConfig{
@ -199,8 +205,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
name: "happy-case-no-lrs",
cluster: e2e.DefaultCluster(clusterName, serviceName, e2e.SecurityLevelNone),
wantUpdate: xdsresource.ClusterUpdate{
ClusterName: clusterName,
EDSServiceName: serviceName,
ClusterName: clusterName,
EDSServiceName: serviceName,
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: wrrlocality.Name,
@ -223,6 +230,7 @@ func (s) TestValidateCluster_Success(t *testing.T) {
ClusterName: clusterName,
EDSServiceName: serviceName,
LRSServerConfig: serverCfg,
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: wrrlocality.Name,
@ -261,6 +269,7 @@ func (s) TestValidateCluster_Success(t *testing.T) {
EDSServiceName: serviceName,
LRSServerConfig: serverCfg,
MaxRequests: func() *uint32 { i := uint32(512); return &i }(),
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: wrrlocality.Name,
@ -279,8 +288,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
return c
}(),
wantUpdate: xdsresource.ClusterUpdate{
ClusterName: clusterName,
EDSServiceName: serviceName,
ClusterName: clusterName,
EDSServiceName: serviceName,
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: "ring_hash_experimental",
@ -306,8 +316,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
LbPolicy: v3clusterpb.Cluster_LEAST_REQUEST,
},
wantUpdate: xdsresource.ClusterUpdate{
ClusterName: clusterName,
EDSServiceName: serviceName,
ClusterName: clusterName,
EDSServiceName: serviceName,
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: "least_request_experimental",
@ -330,8 +341,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
return c
}(),
wantUpdate: xdsresource.ClusterUpdate{
ClusterName: clusterName,
EDSServiceName: serviceName,
ClusterName: clusterName,
EDSServiceName: serviceName,
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: "ring_hash_experimental",
@ -362,8 +374,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
},
},
wantUpdate: xdsresource.ClusterUpdate{
ClusterName: clusterName,
EDSServiceName: serviceName,
ClusterName: clusterName,
EDSServiceName: serviceName,
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: "least_request_experimental",
@ -400,8 +413,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
},
},
wantUpdate: xdsresource.ClusterUpdate{
ClusterName: clusterName,
EDSServiceName: serviceName,
ClusterName: clusterName,
EDSServiceName: serviceName,
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: "ring_hash_experimental",
@ -435,8 +449,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
},
},
wantUpdate: xdsresource.ClusterUpdate{
ClusterName: clusterName,
EDSServiceName: serviceName,
ClusterName: clusterName,
EDSServiceName: serviceName,
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: wrrlocality.Name,
@ -474,8 +489,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
},
},
wantUpdate: xdsresource.ClusterUpdate{
ClusterName: clusterName,
EDSServiceName: serviceName,
ClusterName: clusterName,
EDSServiceName: serviceName,
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: wrrlocality.Name,
@ -522,8 +538,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
},
},
wantUpdate: xdsresource.ClusterUpdate{
ClusterName: clusterName,
EDSServiceName: serviceName,
ClusterName: clusterName,
EDSServiceName: serviceName,
TelemetryLabels: internal.UnknownCSMLabels,
},
wantLBConfig: &iserviceconfig.BalancerConfig{
Name: "ring_hash_experimental",

View File

@ -100,6 +100,15 @@ func validateClusterAndConstructClusterUpdate(cluster *v3clusterpb.Cluster, serv
}
}
}
// "The values for the service labels csm.service_name and
// csm.service_namespace_name come from xDS, “unknown” if not present." -
// CSM Design.
if _, ok := telemetryLabels["csm.service_name"]; !ok {
telemetryLabels["csm.service_name"] = "unknown"
}
if _, ok := telemetryLabels["csm.service_namespace_name"]; !ok {
telemetryLabels["csm.service_namespace_name"] = "unknown"
}
var lbPolicy json.RawMessage
var err error

View File

@ -29,6 +29,7 @@ import (
"google.golang.org/grpc/internal/testutils"
"google.golang.org/grpc/internal/xds/bootstrap"
"google.golang.org/grpc/internal/xds/matcher"
"google.golang.org/grpc/xds/internal"
"google.golang.org/grpc/xds/internal/xdsclient/xdsresource/version"
v3clusterpb "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3"
@ -873,6 +874,7 @@ func (s) TestValidateClusterWithSecurityConfig(t *testing.T) {
RootInstanceName: rootPluginInstance,
RootCertName: rootCertName,
},
TelemetryLabels: internal.UnknownCSMLabels,
},
},
{
@ -914,6 +916,7 @@ func (s) TestValidateClusterWithSecurityConfig(t *testing.T) {
RootInstanceName: rootPluginInstance,
RootCertName: rootCertName,
},
TelemetryLabels: internal.UnknownCSMLabels,
},
},
{
@ -959,6 +962,7 @@ func (s) TestValidateClusterWithSecurityConfig(t *testing.T) {
IdentityInstanceName: identityPluginInstance,
IdentityCertName: identityCertName,
},
TelemetryLabels: internal.UnknownCSMLabels,
},
},
{
@ -1006,6 +1010,7 @@ func (s) TestValidateClusterWithSecurityConfig(t *testing.T) {
IdentityInstanceName: identityPluginInstance,
IdentityCertName: identityCertName,
},
TelemetryLabels: internal.UnknownCSMLabels,
},
},
{
@ -1072,6 +1077,7 @@ func (s) TestValidateClusterWithSecurityConfig(t *testing.T) {
matcher.StringMatcherForTesting(nil, nil, nil, newStringP(sanContains), nil, false),
},
},
TelemetryLabels: internal.UnknownCSMLabels,
},
},
{
@ -1138,6 +1144,7 @@ func (s) TestValidateClusterWithSecurityConfig(t *testing.T) {
matcher.StringMatcherForTesting(nil, nil, nil, newStringP(sanContains), nil, false),
},
},
TelemetryLabels: internal.UnknownCSMLabels,
},
},
}
@ -1331,6 +1338,7 @@ func (s) TestUnmarshalCluster(t *testing.T) {
EDSServiceName: v3Service,
LRSServerConfig: serverCfg,
Raw: v3ClusterAny,
TelemetryLabels: internal.UnknownCSMLabels,
},
},
{
@ -1343,6 +1351,7 @@ func (s) TestUnmarshalCluster(t *testing.T) {
EDSServiceName: v3Service,
LRSServerConfig: serverCfg,
Raw: v3ClusterAny,
TelemetryLabels: internal.UnknownCSMLabels,
},
},
{
@ -1355,6 +1364,7 @@ func (s) TestUnmarshalCluster(t *testing.T) {
EDSServiceName: v3Service,
LRSServerConfig: serverCfg,
Raw: v3ClusterAnyWithEDSConfigSourceSelf,
TelemetryLabels: internal.UnknownCSMLabels,
},
},
{
@ -1384,7 +1394,8 @@ func (s) TestUnmarshalCluster(t *testing.T) {
LRSServerConfig: serverCfg,
Raw: v3ClusterAnyWithTelemetryLabelsIgnoreSome,
TelemetryLabels: map[string]string{
"csm.service_name": "grpc-service",
"csm.service_name": "grpc-service",
"csm.service_namespace_name": "unknown",
},
},
},