Skip to content

Commit ee82f36

Browse files
authored
Automated change: Fix sanity tests
1 parent 16be944 commit ee82f36

File tree

7 files changed

+204
-157
lines changed

7 files changed

+204
-157
lines changed

src/core/BUILD

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4613,6 +4613,7 @@ grpc_cc_library(
46134613
"ext/filters/client_channel/lb_policy/xds/cds.cc",
46144614
],
46154615
external_deps = [
4616+
"absl/functional:function_ref",
46164617
"absl/status",
46174618
"absl/status:statusor",
46184619
"absl/strings",
@@ -4635,19 +4636,19 @@ grpc_cc_library(
46354636
"lb_policy",
46364637
"lb_policy_factory",
46374638
"lb_policy_registry",
4638-
"match",
4639+
"no_destruct",
46394640
"pollset_set",
4641+
"ref_counted_string",
4642+
"resolved_address",
46404643
"time",
4641-
"unique_type_name",
46424644
"//:config",
4643-
"//:debug_location",
4645+
"//:endpoint_addresses",
46444646
"//:gpr",
4645-
"//:grpc_base",
46464647
"//:grpc_security_base",
46474648
"//:grpc_trace",
46484649
"//:orphanable",
46494650
"//:ref_counted_ptr",
4650-
"//:work_serializer",
4651+
"//:xds_client",
46514652
],
46524653
)
46534654

@@ -4682,7 +4683,9 @@ grpc_cc_library(
46824683
"delegating_helper",
46834684
"grpc_backend_metric_data",
46844685
"grpc_lb_xds_channel_args",
4686+
"grpc_matchers",
46854687
"grpc_resolver_xds_config",
4688+
"grpc_tls_credentials",
46864689
"grpc_xds_client",
46874690
"json",
46884691
"json_args",
@@ -4694,13 +4697,15 @@ grpc_cc_library(
46944697
"ref_counted",
46954698
"resolved_address",
46964699
"subchannel_interface",
4700+
"unique_type_name",
46974701
"validation_errors",
46984702
"//:config",
46994703
"//:debug_location",
47004704
"//:endpoint_addresses",
47014705
"//:gpr",
47024706
"//:grpc_base",
47034707
"//:grpc_client_channel",
4708+
"//:grpc_security_base",
47044709
"//:grpc_trace",
47054710
"//:orphanable",
47064711
"//:ref_counted_ptr",
@@ -5660,15 +5665,28 @@ grpc_cc_library(
56605665
hdrs = [
56615666
"ext/filters/client_channel/resolver/xds/xds_config.h",
56625667
],
5663-
external_deps = ["absl/strings"],
5668+
external_deps = [
5669+
"absl/status",
5670+
"absl/status:statusor",
5671+
"absl/strings",
5672+
"absl/types:variant",
5673+
],
56645674
language = "c++",
56655675
deps = [
56665676
"grpc_resolver_xds_trace",
56675677
"grpc_xds_client",
56685678
"match",
56695679
"ref_counted",
5680+
"useful",
5681+
"//:debug_location",
5682+
"//:endpoint_addresses",
56705683
"//:gpr",
56715684
"//:grpc_resolver",
5685+
"//:grpc_trace",
5686+
"//:orphanable",
5687+
"//:ref_counted_ptr",
5688+
"//:work_serializer",
5689+
"//:xds_client",
56725690
],
56735691
)
56745692

src/core/ext/filters/client_channel/lb_policy/xds/cds.cc

Lines changed: 45 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,26 @@
1616

1717
#include <grpc/support/port_platform.h>
1818

19+
#include <stddef.h>
20+
#include <stdint.h>
21+
1922
#include <algorithm>
2023
#include <map>
2124
#include <memory>
2225
#include <set>
2326
#include <string>
24-
#include <type_traits>
2527
#include <utility>
2628
#include <vector>
2729

30+
#include "absl/functional/function_ref.h"
2831
#include "absl/status/status.h"
2932
#include "absl/status/statusor.h"
3033
#include "absl/strings/str_cat.h"
34+
#include "absl/strings/str_join.h"
3135
#include "absl/strings/string_view.h"
3236
#include "absl/types/optional.h"
3337
#include "absl/types/variant.h"
3438

35-
#include <grpc/grpc_security.h>
3639
#include <grpc/impl/connectivity_state.h>
3740
#include <grpc/support/json.h>
3841
#include <grpc/support/log.h>
@@ -41,21 +44,20 @@
4144
#include "src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h"
4245
#include "src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h"
4346
#include "src/core/ext/filters/client_channel/resolver/xds/xds_config.h"
44-
#include "src/core/ext/xds/certificate_provider_store.h"
47+
#include "src/core/ext/xds/xds_client_stats.h"
4548
#include "src/core/ext/xds/xds_cluster.h"
46-
#include "src/core/ext/xds/xds_common_types.h"
49+
#include "src/core/ext/xds/xds_endpoint.h"
4750
#include "src/core/ext/xds/xds_health_status.h"
4851
#include "src/core/lib/channel/channel_args.h"
4952
#include "src/core/lib/config/core_configuration.h"
5053
#include "src/core/lib/debug/trace.h"
51-
#include "src/core/lib/gprpp/debug_location.h"
52-
#include "src/core/lib/gprpp/match.h"
54+
#include "src/core/lib/gprpp/no_destruct.h"
5355
#include "src/core/lib/gprpp/orphanable.h"
5456
#include "src/core/lib/gprpp/ref_counted_ptr.h"
57+
#include "src/core/lib/gprpp/ref_counted_string.h"
5558
#include "src/core/lib/gprpp/time.h"
56-
#include "src/core/lib/gprpp/unique_type_name.h"
57-
#include "src/core/lib/gprpp/work_serializer.h"
5859
#include "src/core/lib/iomgr/pollset_set.h"
60+
#include "src/core/lib/iomgr/resolved_address.h"
5961
#include "src/core/lib/json/json.h"
6062
#include "src/core/lib/json/json_args.h"
6163
#include "src/core/lib/json/json_object_loader.h"
@@ -64,6 +66,7 @@
6466
#include "src/core/lib/load_balancing/lb_policy.h"
6567
#include "src/core/lib/load_balancing/lb_policy_factory.h"
6668
#include "src/core/lib/load_balancing/lb_policy_registry.h"
69+
#include "src/core/lib/resolver/endpoint_addresses.h"
6770

6871
namespace grpc_core {
6972

@@ -263,8 +266,7 @@ absl::Status CdsLb::UpdateLocked(UpdateArgs args) {
263266
if (!child_config.ok()) {
264267
// Should never happen.
265268
absl::Status status = absl::InternalError(
266-
absl::StrCat(cluster_name_,
267-
": error parsing child policy config: ",
269+
absl::StrCat(cluster_name_, ": error parsing child policy config: ",
268270
child_config.status().message()));
269271
ReportTransientFailure(status);
270272
return status;
@@ -276,10 +278,8 @@ absl::Status CdsLb::UpdateLocked(UpdateArgs args) {
276278
lb_args.args = args.args;
277279
lb_args.channel_control_helper = std::make_unique<Helper>(Ref());
278280
child_policy_ =
279-
CoreConfiguration::Get()
280-
.lb_policy_registry()
281-
.CreateLoadBalancingPolicy((*child_config)->name(),
282-
std::move(lb_args));
281+
CoreConfiguration::Get().lb_policy_registry().CreateLoadBalancingPolicy(
282+
(*child_config)->name(), std::move(lb_args));
283283
if (child_policy_ == nullptr) {
284284
// Should never happen.
285285
absl::Status status = absl::UnavailableError(
@@ -390,7 +390,7 @@ std::vector<CdsLb::ChildNameState> CdsLb::ComputeChildNames(
390390
if (!child_number.has_value()) {
391391
for (child_number = new_numbers.next_available_child_number;
392392
mappings.child_locality_map.find(*child_number) !=
393-
mappings.child_locality_map.end();
393+
mappings.child_locality_map.end();
394394
++(*child_number)) {
395395
}
396396
new_numbers.next_available_child_number = *child_number + 1;
@@ -498,41 +498,40 @@ Json CdsLb::CreateChildPolicyConfig(
498498
if (outlier_detection_update.success_rate_ejection.has_value()) {
499499
outlier_detection_config["successRateEjection"] = Json::FromObject({
500500
{"stdevFactor",
501-
Json::FromNumber(
502-
outlier_detection_update.success_rate_ejection
503-
->stdev_factor)},
501+
Json::FromNumber(outlier_detection_update.success_rate_ejection
502+
->stdev_factor)},
504503
{"enforcementPercentage",
505504
Json::FromNumber(outlier_detection_update.success_rate_ejection
506505
->enforcement_percentage)},
507506
{"minimumHosts",
508-
Json::FromNumber(
509-
outlier_detection_update.success_rate_ejection
510-
->minimum_hosts)},
511-
{"requestVolume",
512-
Json::FromNumber(
513-
outlier_detection_update.success_rate_ejection
514-
->request_volume)},
515-
});
516-
}
517-
if (outlier_detection_update.failure_percentage_ejection.has_value()) {
518-
outlier_detection_config["failurePercentageEjection"] = Json::FromObject({
519-
{"threshold",
520-
Json::FromNumber(outlier_detection_update
521-
.failure_percentage_ejection->threshold)},
522-
{"enforcementPercentage",
523-
Json::FromNumber(
524-
outlier_detection_update.failure_percentage_ejection
525-
->enforcement_percentage)},
526-
{"minimumHosts",
527-
Json::FromNumber(outlier_detection_update
528-
.failure_percentage_ejection
507+
Json::FromNumber(outlier_detection_update.success_rate_ejection
529508
->minimum_hosts)},
530509
{"requestVolume",
531-
Json::FromNumber(outlier_detection_update
532-
.failure_percentage_ejection
510+
Json::FromNumber(outlier_detection_update.success_rate_ejection
533511
->request_volume)},
534512
});
535513
}
514+
if (outlier_detection_update.failure_percentage_ejection.has_value()) {
515+
outlier_detection_config["failurePercentageEjection"] =
516+
Json::FromObject({
517+
{"threshold",
518+
Json::FromNumber(
519+
outlier_detection_update.failure_percentage_ejection
520+
->threshold)},
521+
{"enforcementPercentage",
522+
Json::FromNumber(
523+
outlier_detection_update.failure_percentage_ejection
524+
->enforcement_percentage)},
525+
{"minimumHosts",
526+
Json::FromNumber(
527+
outlier_detection_update.failure_percentage_ejection
528+
->minimum_hosts)},
529+
{"requestVolume",
530+
Json::FromNumber(
531+
outlier_detection_update.failure_percentage_ejection
532+
->request_volume)},
533+
});
534+
}
536535
}
537536
outlier_detection_config["childPolicy"] =
538537
Json::FromArray({Json::FromObject({
@@ -566,8 +565,8 @@ Json CdsLb::CreateChildPolicyConfig(
566565
})},
567566
})});
568567
if (GRPC_TRACE_FLAG_ENABLED(grpc_cds_lb_trace)) {
569-
gpr_log(GPR_INFO, "[cdslb %p] generated config for child policy: %s",
570-
this, JsonDump(json, /*indent=*/1).c_str());
568+
gpr_log(GPR_INFO, "[cdslb %p] generated config for child policy: %s", this,
569+
JsonDump(json, /*indent=*/1).c_str());
571570
}
572571
return json;
573572
}
@@ -579,10 +578,9 @@ class PriorityEndpointIterator : public EndpointAddressesIterator {
579578
std::shared_ptr<const XdsEndpointResource> endpoints;
580579
std::vector<size_t /*child_number*/> priority_child_numbers;
581580

582-
ClusterEntry(
583-
std::string cluster,
584-
std::shared_ptr<const XdsEndpointResource> resource,
585-
std::vector<size_t> child_numbers)
581+
ClusterEntry(std::string cluster,
582+
std::shared_ptr<const XdsEndpointResource> resource,
583+
std::vector<size_t> child_numbers)
586584
: cluster_name(std::move(cluster)),
587585
endpoints(std::move(resource)),
588586
priority_child_numbers(std::move(child_numbers)) {}

src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,23 @@
3434
#include "absl/types/optional.h"
3535
#include "absl/types/variant.h"
3636

37+
#include <grpc/grpc_security.h>
3738
#include <grpc/impl/connectivity_state.h>
3839
#include <grpc/support/log.h>
3940

4041
#include "src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h"
4142
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
4243
#include "src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h"
4344
#include "src/core/ext/filters/client_channel/resolver/xds/xds_config.h"
45+
#include "src/core/ext/xds/certificate_provider_store.h"
4446
#include "src/core/ext/xds/xds_bootstrap.h"
4547
#include "src/core/ext/xds/xds_bootstrap_grpc.h"
48+
#include "src/core/ext/xds/xds_certificate_provider.h"
4649
#include "src/core/ext/xds/xds_client.h"
4750
#include "src/core/ext/xds/xds_client_grpc.h"
4851
#include "src/core/ext/xds/xds_client_stats.h"
52+
#include "src/core/ext/xds/xds_cluster.h"
53+
#include "src/core/ext/xds/xds_common_types.h"
4954
#include "src/core/ext/xds/xds_endpoint.h"
5055
#include "src/core/lib/channel/channel_args.h"
5156
#include "src/core/lib/config/core_configuration.h"
@@ -55,6 +60,7 @@
5560
#include "src/core/lib/gprpp/ref_counted.h"
5661
#include "src/core/lib/gprpp/ref_counted_ptr.h"
5762
#include "src/core/lib/gprpp/sync.h"
63+
#include "src/core/lib/gprpp/unique_type_name.h"
5864
#include "src/core/lib/gprpp/validation_errors.h"
5965
#include "src/core/lib/iomgr/pollset_set.h"
6066
#include "src/core/lib/iomgr/resolved_address.h"
@@ -66,7 +72,11 @@
6672
#include "src/core/lib/load_balancing/lb_policy_factory.h"
6773
#include "src/core/lib/load_balancing/lb_policy_registry.h"
6874
#include "src/core/lib/load_balancing/subchannel_interface.h"
75+
#include "src/core/lib/matchers/matchers.h"
6976
#include "src/core/lib/resolver/endpoint_addresses.h"
77+
#include "src/core/lib/security/credentials/credentials.h"
78+
#include "src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h"
79+
#include "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h"
7080
#include "src/core/lib/security/credentials/xds/xds_credentials.h"
7181
#include "src/core/lib/transport/connectivity_state.h"
7282

@@ -469,8 +479,7 @@ void XdsClusterImplLb::ShutdownLocked() {
469479
// Clean up cert provider state.
470480
if (root_certificate_provider_ != nullptr) {
471481
grpc_pollset_set_del_pollset_set(
472-
interested_parties(),
473-
root_certificate_provider_->interested_parties());
482+
interested_parties(), root_certificate_provider_->interested_parties());
474483
root_certificate_provider_.reset();
475484
}
476485
if (identity_certificate_provider_ != nullptr) {
@@ -564,9 +573,8 @@ absl::StatusOr<const XdsClusterResource*> FindClusterConfig(
564573
if (it != xds_config.clusters.end()) {
565574
if (!it->second.ok()) {
566575
// Shouldn't happen.
567-
return absl::InternalError(
568-
absl::StrCat("xDS config does not contain entry for cluster ",
569-
cluster_name));
576+
return absl::InternalError(absl::StrCat(
577+
"xDS config does not contain entry for cluster ", cluster_name));
570578
}
571579
return it->second->front().cluster.get();
572580
}
@@ -580,9 +588,8 @@ absl::StatusOr<const XdsClusterResource*> FindClusterConfig(
580588
if (cluster.cluster_name == cluster_name) return cluster.cluster.get();
581589
}
582590
}
583-
return absl::InternalError(
584-
absl::StrCat("xDS config does not contain entry for cluster ",
585-
cluster_name));
591+
return absl::InternalError(absl::StrCat(
592+
"xDS config does not contain entry for cluster ", cluster_name));
586593
}
587594

588595
absl::Status XdsClusterImplLb::MaybeConfigureCertificateProviderLocked(
@@ -599,10 +606,12 @@ absl::Status XdsClusterImplLb::MaybeConfigureCertificateProviderLocked(
599606
if (!cluster_resource.ok()) return cluster_resource.status();
600607
// Configure root cert.
601608
absl::string_view root_provider_instance_name =
602-
(*cluster_resource)->common_tls_context.certificate_validation_context
609+
(*cluster_resource)
610+
->common_tls_context.certificate_validation_context
603611
.ca_certificate_provider_instance.instance_name;
604612
absl::string_view root_provider_cert_name =
605-
(*cluster_resource)->common_tls_context.certificate_validation_context
613+
(*cluster_resource)
614+
->common_tls_context.certificate_validation_context
606615
.ca_certificate_provider_instance.certificate_name;
607616
RefCountedPtr<XdsCertificateProvider> new_root_provider;
608617
if (!root_provider_instance_name.empty()) {
@@ -636,10 +645,11 @@ absl::Status XdsClusterImplLb::MaybeConfigureCertificateProviderLocked(
636645
: root_certificate_provider_->distributor());
637646
// Configure identity cert.
638647
absl::string_view identity_provider_instance_name =
639-
(*cluster_resource)->common_tls_context.tls_certificate_provider_instance
640-
.instance_name;
648+
(*cluster_resource)
649+
->common_tls_context.tls_certificate_provider_instance.instance_name;
641650
absl::string_view identity_provider_cert_name =
642-
(*cluster_resource)->common_tls_context.tls_certificate_provider_instance
651+
(*cluster_resource)
652+
->common_tls_context.tls_certificate_provider_instance
643653
.certificate_name;
644654
RefCountedPtr<XdsCertificateProvider> new_identity_provider;
645655
if (!identity_provider_instance_name.empty()) {
@@ -673,7 +683,8 @@ absl::Status XdsClusterImplLb::MaybeConfigureCertificateProviderLocked(
673683
: identity_certificate_provider_->distributor());
674684
// Configure SAN matchers.
675685
const std::vector<StringMatcher>& match_subject_alt_names =
676-
(*cluster_resource)->common_tls_context.certificate_validation_context
686+
(*cluster_resource)
687+
->common_tls_context.certificate_validation_context
677688
.match_subject_alt_names;
678689
xds_certificate_provider_->UpdateSubjectAlternativeNameMatchers(
679690
config_->cluster_name(), match_subject_alt_names);

0 commit comments

Comments
 (0)