mirror of https://github.com/grpc/grpc-go.git
xds/internal/xdsclient: Emit unknown for CSM Labels if not present in CDS (#7309)
This commit is contained in:
parent
e40eb2e2c1
commit
e2e7a51601
|
|
@ -33,6 +33,7 @@ import (
|
||||||
"google.golang.org/grpc/internal/testutils/xds/e2e"
|
"google.golang.org/grpc/internal/testutils/xds/e2e"
|
||||||
"google.golang.org/grpc/serviceconfig"
|
"google.golang.org/grpc/serviceconfig"
|
||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
|
"google.golang.org/grpc/xds/internal"
|
||||||
"google.golang.org/grpc/xds/internal/balancer/clusterresolver"
|
"google.golang.org/grpc/xds/internal/balancer/clusterresolver"
|
||||||
|
|
||||||
v3clusterpb "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3"
|
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,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
},
|
},
|
||||||
|
|
@ -94,6 +96,7 @@ func (s) TestAggregateClusterSuccess_LeafNode(t *testing.T) {
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName + "-new",
|
EDSServiceName: serviceName + "-new",
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
},
|
},
|
||||||
|
|
@ -108,6 +111,7 @@ func (s) TestAggregateClusterSuccess_LeafNode(t *testing.T) {
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
|
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
|
||||||
DNSHostname: "dns_host:8080",
|
DNSHostname: "dns_host:8080",
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
},
|
},
|
||||||
|
|
@ -117,6 +121,7 @@ func (s) TestAggregateClusterSuccess_LeafNode(t *testing.T) {
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
|
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
|
||||||
DNSHostname: "dns_host_new:8080",
|
DNSHostname: "dns_host_new:8080",
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
},
|
},
|
||||||
|
|
@ -211,12 +216,14 @@ func (s) TestAggregateClusterSuccess_ThenUpdateChildClusters(t *testing.T) {
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Cluster: dnsClusterName,
|
Cluster: dnsClusterName,
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
|
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
|
||||||
DNSHostname: fmt.Sprintf("%s:%d", dnsHostName, dnsPort),
|
DNSHostname: fmt.Sprintf("%s:%d", dnsHostName, dnsPort),
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
|
|
@ -247,12 +254,14 @@ func (s) TestAggregateClusterSuccess_ThenUpdateChildClusters(t *testing.T) {
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Cluster: dnsClusterNameNew,
|
Cluster: dnsClusterNameNew,
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
|
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
|
||||||
DNSHostname: fmt.Sprintf("%s:%d", dnsHostNameNew, dnsPort),
|
DNSHostname: fmt.Sprintf("%s:%d", dnsHostNameNew, dnsPort),
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
|
|
@ -298,12 +307,14 @@ func (s) TestAggregateClusterSuccess_ThenChangeRootToEDS(t *testing.T) {
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Cluster: dnsClusterName,
|
Cluster: dnsClusterName,
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
|
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
|
||||||
DNSHostname: fmt.Sprintf("%s:%d", dnsHostName, dnsPort),
|
DNSHostname: fmt.Sprintf("%s:%d", dnsHostName, dnsPort),
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
|
|
@ -329,6 +340,7 @@ func (s) TestAggregateClusterSuccess_ThenChangeRootToEDS(t *testing.T) {
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
}
|
}
|
||||||
|
|
@ -363,6 +375,7 @@ func (s) TestAggregatedClusterSuccess_SwitchBetweenLeafAndAggregate(t *testing.T
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
}
|
}
|
||||||
|
|
@ -391,12 +404,14 @@ func (s) TestAggregatedClusterSuccess_SwitchBetweenLeafAndAggregate(t *testing.T
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Cluster: dnsClusterName,
|
Cluster: dnsClusterName,
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
|
Type: clusterresolver.DiscoveryMechanismTypeLogicalDNS,
|
||||||
DNSHostname: fmt.Sprintf("%s:%d", dnsHostName, dnsPort),
|
DNSHostname: fmt.Sprintf("%s:%d", dnsHostName, dnsPort),
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
|
|
@ -420,6 +435,7 @@ func (s) TestAggregatedClusterSuccess_SwitchBetweenLeafAndAggregate(t *testing.T
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
}
|
}
|
||||||
|
|
@ -572,6 +588,7 @@ func (s) TestAggregatedClusterSuccess_DiamondDependency(t *testing.T) {
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
}
|
}
|
||||||
|
|
@ -639,12 +656,14 @@ func (s) TestAggregatedClusterSuccess_IgnoreDups(t *testing.T) {
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Cluster: clusterNameD,
|
Cluster: clusterNameD,
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
|
|
@ -727,6 +746,7 @@ func (s) TestAggregatedCluster_NodeChildOfItself(t *testing.T) {
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
}
|
}
|
||||||
|
|
@ -832,6 +852,7 @@ func (s) TestAggregatedCluster_CycleWithLeafNode(t *testing.T) {
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,7 @@ import (
|
||||||
"google.golang.org/grpc/resolver/manual"
|
"google.golang.org/grpc/resolver/manual"
|
||||||
"google.golang.org/grpc/serviceconfig"
|
"google.golang.org/grpc/serviceconfig"
|
||||||
"google.golang.org/grpc/status"
|
"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/balancer/clusterresolver"
|
||||||
"google.golang.org/grpc/xds/internal/xdsclient"
|
"google.golang.org/grpc/xds/internal/xdsclient"
|
||||||
"google.golang.org/grpc/xds/internal/xdsclient/xdsresource"
|
"google.golang.org/grpc/xds/internal/xdsclient/xdsresource"
|
||||||
|
|
@ -456,6 +457,7 @@ func (s) TestClusterUpdate_Success(t *testing.T) {
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
MaxConcurrentRequests: newUint32(512),
|
MaxConcurrentRequests: newUint32(512),
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: xdsinternal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
},
|
},
|
||||||
|
|
@ -483,6 +485,7 @@ func (s) TestClusterUpdate_Success(t *testing.T) {
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: xdsinternal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"ring_hash_experimental": {"minRingSize":100, "maxRingSize":1000}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"ring_hash_experimental": {"minRingSize":100, "maxRingSize":1000}}]`),
|
||||||
},
|
},
|
||||||
|
|
@ -505,6 +508,7 @@ func (s) TestClusterUpdate_Success(t *testing.T) {
|
||||||
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
Type: clusterresolver.DiscoveryMechanismTypeEDS,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
OutlierDetection: json.RawMessage(`{"successRateEjection":{}}`),
|
OutlierDetection: json.RawMessage(`{"successRateEjection":{}}`),
|
||||||
|
TelemetryLabels: xdsinternal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"ring_hash_experimental": {"minRingSize":1024, "maxRingSize":8388608}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"ring_hash_experimental": {"minRingSize":1024, "maxRingSize":8388608}}]`),
|
||||||
},
|
},
|
||||||
|
|
@ -557,6 +561,7 @@ func (s) TestClusterUpdate_Success(t *testing.T) {
|
||||||
"requestVolume": 50
|
"requestVolume": 50
|
||||||
}
|
}
|
||||||
}`),
|
}`),
|
||||||
|
TelemetryLabels: xdsinternal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"ring_hash_experimental": {"minRingSize":1024, "maxRingSize":8388608}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"ring_hash_experimental": {"minRingSize":1024, "maxRingSize":8388608}}]`),
|
||||||
},
|
},
|
||||||
|
|
@ -609,6 +614,7 @@ func (s) TestClusterUpdate_SuccessWithLRS(t *testing.T) {
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
LoadReportingServer: lrsServerCfg,
|
LoadReportingServer: lrsServerCfg,
|
||||||
OutlierDetection: json.RawMessage(`{}`),
|
OutlierDetection: json.RawMessage(`{}`),
|
||||||
|
TelemetryLabels: xdsinternal.UnknownCSMLabels,
|
||||||
}},
|
}},
|
||||||
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
XDSLBPolicy: json.RawMessage(`[{"xds_wrr_locality_experimental": {"childPolicy": [{"round_robin": {}}]}}]`),
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@ import (
|
||||||
"google.golang.org/grpc/resolver/manual"
|
"google.golang.org/grpc/resolver/manual"
|
||||||
"google.golang.org/grpc/serviceconfig"
|
"google.golang.org/grpc/serviceconfig"
|
||||||
"google.golang.org/grpc/status"
|
"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/clusterimpl"
|
||||||
"google.golang.org/grpc/xds/internal/balancer/outlierdetection"
|
"google.golang.org/grpc/xds/internal/balancer/outlierdetection"
|
||||||
"google.golang.org/grpc/xds/internal/balancer/priority"
|
"google.golang.org/grpc/xds/internal/balancer/priority"
|
||||||
|
|
@ -400,8 +401,9 @@ func (s) TestOutlierDetectionConfigPropagationToChildPolicy(t *testing.T) {
|
||||||
ChildPolicy: &iserviceconfig.BalancerConfig{
|
ChildPolicy: &iserviceconfig.BalancerConfig{
|
||||||
Name: clusterimpl.Name,
|
Name: clusterimpl.Name,
|
||||||
Config: &clusterimpl.LBConfig{
|
Config: &clusterimpl.LBConfig{
|
||||||
Cluster: clusterName,
|
Cluster: clusterName,
|
||||||
EDSServiceName: edsServiceName,
|
EDSServiceName: edsServiceName,
|
||||||
|
TelemetryLabels: xdsinternal.UnknownCSMLabels,
|
||||||
ChildPolicy: &iserviceconfig.BalancerConfig{
|
ChildPolicy: &iserviceconfig.BalancerConfig{
|
||||||
Name: wrrlocality.Name,
|
Name: wrrlocality.Name,
|
||||||
Config: &wrrlocality.LBConfig{
|
Config: &wrrlocality.LBConfig{
|
||||||
|
|
|
||||||
|
|
@ -83,3 +83,10 @@ func SetLocalityID(addr resolver.Address, l LocalityID) resolver.Address {
|
||||||
|
|
||||||
// ResourceTypeMapForTesting maps TypeUrl to corresponding ResourceType.
|
// ResourceTypeMapForTesting maps TypeUrl to corresponding ResourceType.
|
||||||
var ResourceTypeMapForTesting map[string]any
|
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",
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -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)
|
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 != "" {
|
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)
|
return fmt.Errorf("received unexpected diff in the cluster resource update: (-want, got):\n%s", diff)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -875,7 +875,7 @@ func (s) TestHandleClusterResponseFromManagementServer(t *testing.T) {
|
||||||
}
|
}
|
||||||
cmpOpts := []cmp.Option{
|
cmpOpts := []cmp.Option{
|
||||||
cmpopts.EquateEmpty(),
|
cmpopts.EquateEmpty(),
|
||||||
cmpopts.IgnoreFields(xdsresource.ClusterUpdate{}, "Raw", "LBPolicy"),
|
cmpopts.IgnoreFields(xdsresource.ClusterUpdate{}, "Raw", "LBPolicy", "TelemetryLabels"),
|
||||||
}
|
}
|
||||||
if diff := cmp.Diff(test.wantUpdate, gotUpdate, cmpOpts...); diff != "" {
|
if diff := cmp.Diff(test.wantUpdate, gotUpdate, cmpOpts...); diff != "" {
|
||||||
t.Fatalf("Unexpected diff in metadata, diff (-want +got):\n%s", diff)
|
t.Fatalf("Unexpected diff in metadata, diff (-want +got):\n%s", diff)
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ import (
|
||||||
"google.golang.org/grpc/internal/testutils/xds/e2e"
|
"google.golang.org/grpc/internal/testutils/xds/e2e"
|
||||||
"google.golang.org/grpc/internal/xds/bootstrap"
|
"google.golang.org/grpc/internal/xds/bootstrap"
|
||||||
"google.golang.org/grpc/serviceconfig"
|
"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/ringhash"
|
||||||
"google.golang.org/grpc/xds/internal/balancer/wrrlocality"
|
"google.golang.org/grpc/xds/internal/balancer/wrrlocality"
|
||||||
"google.golang.org/grpc/xds/internal/xdsclient/xdsresource"
|
"google.golang.org/grpc/xds/internal/xdsclient/xdsresource"
|
||||||
|
|
@ -141,9 +142,10 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
wantUpdate: xdsresource.ClusterUpdate{
|
wantUpdate: xdsresource.ClusterUpdate{
|
||||||
ClusterName: clusterName,
|
ClusterName: clusterName,
|
||||||
ClusterType: xdsresource.ClusterTypeLogicalDNS,
|
ClusterType: xdsresource.ClusterTypeLogicalDNS,
|
||||||
DNSHostName: "dns_host:8080",
|
DNSHostName: "dns_host:8080",
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: wrrlocality.Name,
|
Name: wrrlocality.Name,
|
||||||
|
|
@ -172,6 +174,7 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
ClusterName: clusterName,
|
ClusterName: clusterName,
|
||||||
ClusterType: xdsresource.ClusterTypeAggregate,
|
ClusterType: xdsresource.ClusterTypeAggregate,
|
||||||
PrioritizedClusterNames: []string{"a", "b", "c"},
|
PrioritizedClusterNames: []string{"a", "b", "c"},
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: wrrlocality.Name,
|
Name: wrrlocality.Name,
|
||||||
|
|
@ -183,9 +186,12 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "happy-case-no-service-name-no-lrs",
|
name: "happy-case-no-service-name-no-lrs",
|
||||||
cluster: e2e.DefaultCluster(clusterName, "", e2e.SecurityLevelNone),
|
cluster: e2e.DefaultCluster(clusterName, "", e2e.SecurityLevelNone),
|
||||||
wantUpdate: xdsresource.ClusterUpdate{ClusterName: clusterName},
|
wantUpdate: xdsresource.ClusterUpdate{
|
||||||
|
ClusterName: clusterName,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: wrrlocality.Name,
|
Name: wrrlocality.Name,
|
||||||
Config: &wrrlocality.LBConfig{
|
Config: &wrrlocality.LBConfig{
|
||||||
|
|
@ -199,8 +205,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
name: "happy-case-no-lrs",
|
name: "happy-case-no-lrs",
|
||||||
cluster: e2e.DefaultCluster(clusterName, serviceName, e2e.SecurityLevelNone),
|
cluster: e2e.DefaultCluster(clusterName, serviceName, e2e.SecurityLevelNone),
|
||||||
wantUpdate: xdsresource.ClusterUpdate{
|
wantUpdate: xdsresource.ClusterUpdate{
|
||||||
ClusterName: clusterName,
|
ClusterName: clusterName,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: wrrlocality.Name,
|
Name: wrrlocality.Name,
|
||||||
|
|
@ -223,6 +230,7 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
ClusterName: clusterName,
|
ClusterName: clusterName,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
LRSServerConfig: serverCfg,
|
LRSServerConfig: serverCfg,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: wrrlocality.Name,
|
Name: wrrlocality.Name,
|
||||||
|
|
@ -261,6 +269,7 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
LRSServerConfig: serverCfg,
|
LRSServerConfig: serverCfg,
|
||||||
MaxRequests: func() *uint32 { i := uint32(512); return &i }(),
|
MaxRequests: func() *uint32 { i := uint32(512); return &i }(),
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: wrrlocality.Name,
|
Name: wrrlocality.Name,
|
||||||
|
|
@ -279,8 +288,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
return c
|
return c
|
||||||
}(),
|
}(),
|
||||||
wantUpdate: xdsresource.ClusterUpdate{
|
wantUpdate: xdsresource.ClusterUpdate{
|
||||||
ClusterName: clusterName,
|
ClusterName: clusterName,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: "ring_hash_experimental",
|
Name: "ring_hash_experimental",
|
||||||
|
|
@ -306,8 +316,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
LbPolicy: v3clusterpb.Cluster_LEAST_REQUEST,
|
LbPolicy: v3clusterpb.Cluster_LEAST_REQUEST,
|
||||||
},
|
},
|
||||||
wantUpdate: xdsresource.ClusterUpdate{
|
wantUpdate: xdsresource.ClusterUpdate{
|
||||||
ClusterName: clusterName,
|
ClusterName: clusterName,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: "least_request_experimental",
|
Name: "least_request_experimental",
|
||||||
|
|
@ -330,8 +341,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
return c
|
return c
|
||||||
}(),
|
}(),
|
||||||
wantUpdate: xdsresource.ClusterUpdate{
|
wantUpdate: xdsresource.ClusterUpdate{
|
||||||
ClusterName: clusterName,
|
ClusterName: clusterName,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: "ring_hash_experimental",
|
Name: "ring_hash_experimental",
|
||||||
|
|
@ -362,8 +374,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
wantUpdate: xdsresource.ClusterUpdate{
|
wantUpdate: xdsresource.ClusterUpdate{
|
||||||
ClusterName: clusterName,
|
ClusterName: clusterName,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: "least_request_experimental",
|
Name: "least_request_experimental",
|
||||||
|
|
@ -400,8 +413,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
wantUpdate: xdsresource.ClusterUpdate{
|
wantUpdate: xdsresource.ClusterUpdate{
|
||||||
ClusterName: clusterName,
|
ClusterName: clusterName,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: "ring_hash_experimental",
|
Name: "ring_hash_experimental",
|
||||||
|
|
@ -435,8 +449,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
wantUpdate: xdsresource.ClusterUpdate{
|
wantUpdate: xdsresource.ClusterUpdate{
|
||||||
ClusterName: clusterName,
|
ClusterName: clusterName,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: wrrlocality.Name,
|
Name: wrrlocality.Name,
|
||||||
|
|
@ -474,8 +489,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
wantUpdate: xdsresource.ClusterUpdate{
|
wantUpdate: xdsresource.ClusterUpdate{
|
||||||
ClusterName: clusterName,
|
ClusterName: clusterName,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: wrrlocality.Name,
|
Name: wrrlocality.Name,
|
||||||
|
|
@ -522,8 +538,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
wantUpdate: xdsresource.ClusterUpdate{
|
wantUpdate: xdsresource.ClusterUpdate{
|
||||||
ClusterName: clusterName,
|
ClusterName: clusterName,
|
||||||
EDSServiceName: serviceName,
|
EDSServiceName: serviceName,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
wantLBConfig: &iserviceconfig.BalancerConfig{
|
wantLBConfig: &iserviceconfig.BalancerConfig{
|
||||||
Name: "ring_hash_experimental",
|
Name: "ring_hash_experimental",
|
||||||
|
|
|
||||||
|
|
@ -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 lbPolicy json.RawMessage
|
||||||
var err error
|
var err error
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import (
|
||||||
"google.golang.org/grpc/internal/testutils"
|
"google.golang.org/grpc/internal/testutils"
|
||||||
"google.golang.org/grpc/internal/xds/bootstrap"
|
"google.golang.org/grpc/internal/xds/bootstrap"
|
||||||
"google.golang.org/grpc/internal/xds/matcher"
|
"google.golang.org/grpc/internal/xds/matcher"
|
||||||
|
"google.golang.org/grpc/xds/internal"
|
||||||
"google.golang.org/grpc/xds/internal/xdsclient/xdsresource/version"
|
"google.golang.org/grpc/xds/internal/xdsclient/xdsresource/version"
|
||||||
|
|
||||||
v3clusterpb "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3"
|
v3clusterpb "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3"
|
||||||
|
|
@ -873,6 +874,7 @@ func (s) TestValidateClusterWithSecurityConfig(t *testing.T) {
|
||||||
RootInstanceName: rootPluginInstance,
|
RootInstanceName: rootPluginInstance,
|
||||||
RootCertName: rootCertName,
|
RootCertName: rootCertName,
|
||||||
},
|
},
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -914,6 +916,7 @@ func (s) TestValidateClusterWithSecurityConfig(t *testing.T) {
|
||||||
RootInstanceName: rootPluginInstance,
|
RootInstanceName: rootPluginInstance,
|
||||||
RootCertName: rootCertName,
|
RootCertName: rootCertName,
|
||||||
},
|
},
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -959,6 +962,7 @@ func (s) TestValidateClusterWithSecurityConfig(t *testing.T) {
|
||||||
IdentityInstanceName: identityPluginInstance,
|
IdentityInstanceName: identityPluginInstance,
|
||||||
IdentityCertName: identityCertName,
|
IdentityCertName: identityCertName,
|
||||||
},
|
},
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -1006,6 +1010,7 @@ func (s) TestValidateClusterWithSecurityConfig(t *testing.T) {
|
||||||
IdentityInstanceName: identityPluginInstance,
|
IdentityInstanceName: identityPluginInstance,
|
||||||
IdentityCertName: identityCertName,
|
IdentityCertName: identityCertName,
|
||||||
},
|
},
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -1072,6 +1077,7 @@ func (s) TestValidateClusterWithSecurityConfig(t *testing.T) {
|
||||||
matcher.StringMatcherForTesting(nil, nil, nil, newStringP(sanContains), nil, false),
|
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),
|
matcher.StringMatcherForTesting(nil, nil, nil, newStringP(sanContains), nil, false),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
@ -1331,6 +1338,7 @@ func (s) TestUnmarshalCluster(t *testing.T) {
|
||||||
EDSServiceName: v3Service,
|
EDSServiceName: v3Service,
|
||||||
LRSServerConfig: serverCfg,
|
LRSServerConfig: serverCfg,
|
||||||
Raw: v3ClusterAny,
|
Raw: v3ClusterAny,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -1343,6 +1351,7 @@ func (s) TestUnmarshalCluster(t *testing.T) {
|
||||||
EDSServiceName: v3Service,
|
EDSServiceName: v3Service,
|
||||||
LRSServerConfig: serverCfg,
|
LRSServerConfig: serverCfg,
|
||||||
Raw: v3ClusterAny,
|
Raw: v3ClusterAny,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -1355,6 +1364,7 @@ func (s) TestUnmarshalCluster(t *testing.T) {
|
||||||
EDSServiceName: v3Service,
|
EDSServiceName: v3Service,
|
||||||
LRSServerConfig: serverCfg,
|
LRSServerConfig: serverCfg,
|
||||||
Raw: v3ClusterAnyWithEDSConfigSourceSelf,
|
Raw: v3ClusterAnyWithEDSConfigSourceSelf,
|
||||||
|
TelemetryLabels: internal.UnknownCSMLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -1384,7 +1394,8 @@ func (s) TestUnmarshalCluster(t *testing.T) {
|
||||||
LRSServerConfig: serverCfg,
|
LRSServerConfig: serverCfg,
|
||||||
Raw: v3ClusterAnyWithTelemetryLabelsIgnoreSome,
|
Raw: v3ClusterAnyWithTelemetryLabelsIgnoreSome,
|
||||||
TelemetryLabels: map[string]string{
|
TelemetryLabels: map[string]string{
|
||||||
"csm.service_name": "grpc-service",
|
"csm.service_name": "grpc-service",
|
||||||
|
"csm.service_namespace_name": "unknown",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue