From e0026ecaff98187805482ac05a71de7657ad9f7a Mon Sep 17 00:00:00 2001 From: shikugawa Date: Mon, 20 Apr 2020 08:38:23 +0000 Subject: [PATCH 1/4] add Signed-off-by: shikugawa --- source/common/config/BUILD | 7 ----- source/common/config/resource_name.h | 4 +-- source/common/config/resources.h | 29 ----------------- source/common/router/BUILD | 1 + source/common/router/scoped_rds.cc | 12 +++---- source/common/upstream/cds_api_impl.cc | 9 +++--- .../common/upstream/cluster_manager_impl.cc | 17 +++++----- source/server/BUILD | 1 + source/server/lds_api.cc | 10 +++--- source/server/server.cc | 7 +++-- test/common/config/BUILD | 7 ++--- test/common/config/grpc_mux_impl_test.cc | 2 +- .../config/grpc_subscription_test_harness.h | 2 +- test/common/config/new_grpc_mux_impl_test.cc | 2 +- test/config/BUILD | 2 +- .../server_xds.cds.with_unknown_field.yaml | 2 +- test/config/integration/server_xds.cds.yaml | 2 +- test/config/utility.cc | 2 +- test/extensions/clusters/aggregate/BUILD | 2 +- .../aggregate/cluster_integration_test.cc | 2 +- test/integration/BUILD | 18 +++++------ test/integration/ads_integration.cc | 2 +- test/integration/ads_integration_test.cc | 2 +- test/integration/cds_integration_test.cc | 9 +++--- test/integration/hds_integration_test.cc | 2 +- test/integration/header_integration_test.cc | 2 +- test/integration/integration.h | 6 ++-- .../listener_lds_integration_test.cc | 2 +- .../load_stats_integration_test.cc | 3 +- .../scoped_rds_integration_test.cc | 2 +- .../sds_dynamic_integration_test.cc | 2 +- test/integration/vhds_integration_test.cc | 2 +- test/mocks/config/BUILD | 2 +- test/mocks/config/mocks.h | 2 +- test/test_common/BUILD | 8 ++++- test/test_common/resources.h | 31 +++++++++++++++++++ test/test_common/utility.cc | 2 +- tools/testdata/check_format/header_order.cc | 2 +- .../check_format/header_order.cc.gold | 2 +- 39 files changed, 115 insertions(+), 108 deletions(-) delete mode 100644 source/common/config/resources.h create mode 100644 test/test_common/resources.h diff --git a/source/common/config/BUILD b/source/common/config/BUILD index aa386f3c5d66..611a8cd791cc 100644 --- a/source/common/config/BUILD +++ b/source/common/config/BUILD @@ -261,12 +261,6 @@ envoy_cc_library( ], ) -envoy_cc_library( - name = "resources_lib", - hdrs = ["resources.h"], - deps = ["//source/common/singleton:const_singleton"], -) - envoy_cc_library( name = "runtime_utility_lib", srcs = ["runtime_utility.cc"], @@ -317,7 +311,6 @@ envoy_cc_library( hdrs = ["utility.h"], deps = [ ":api_type_oracle_lib", - ":resources_lib", ":version_converter_lib", "//include/envoy/config:grpc_mux_interface", "//include/envoy/config:subscription_interface", diff --git a/source/common/config/resource_name.h b/source/common/config/resource_name.h index b21a7d47d710..8fe6fc89ae01 100644 --- a/source/common/config/resource_name.h +++ b/source/common/config/resource_name.h @@ -18,11 +18,11 @@ template std::string getResourceName(envoy::config::core::v3::ApiVersion resource_api_version) { switch (resource_api_version) { case envoy::config::core::v3::ApiVersion::AUTO: + case envoy::config::core::v3::ApiVersion::V3: + return Current().GetDescriptor()->full_name(); case envoy::config::core::v3::ApiVersion::V2: return ApiTypeOracle::getEarlierVersionMessageTypeName(Current().GetDescriptor()->full_name()) .value(); - case envoy::config::core::v3::ApiVersion::V3: - return Current().GetDescriptor()->full_name(); default: NOT_REACHED_GCOVR_EXCL_LINE; } diff --git a/source/common/config/resources.h b/source/common/config/resources.h deleted file mode 100644 index 7af6a74e4f85..000000000000 --- a/source/common/config/resources.h +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include - -#include "common/singleton/const_singleton.h" - -namespace Envoy { -namespace Config { - -/** - * Constant Type URLs. - */ -class TypeUrlValues { -public: - const std::string Listener{"type.googleapis.com/envoy.api.v2.Listener"}; - const std::string Cluster{"type.googleapis.com/envoy.api.v2.Cluster"}; - const std::string ClusterLoadAssignment{"type.googleapis.com/envoy.api.v2.ClusterLoadAssignment"}; - const std::string Secret{"type.googleapis.com/envoy.api.v2.auth.Secret"}; - const std::string RouteConfiguration{"type.googleapis.com/envoy.api.v2.RouteConfiguration"}; - const std::string VirtualHost{"type.googleapis.com/envoy.api.v2.route.VirtualHost"}; - const std::string ScopedRouteConfiguration{ - "type.googleapis.com/envoy.api.v2.ScopedRouteConfiguration"}; - const std::string Runtime{"type.googleapis.com/envoy.service.discovery.v2.Runtime"}; -}; - -using TypeUrl = ConstSingleton; - -} // namespace Config -} // namespace Envoy diff --git a/source/common/router/BUILD b/source/common/router/BUILD index a3203e5651f4..2786beb3bccc 100644 --- a/source/common/router/BUILD +++ b/source/common/router/BUILD @@ -218,6 +218,7 @@ envoy_cc_library( "//source/common/common:minimal_logger_lib", "//source/common/config:api_version_lib", "//source/common/config:config_provider_lib", + "//source/common/config:resource_name_lib", "//source/common/config:subscription_base_interface", "//source/common/config:version_converter_lib", "//source/common/init:manager_lib", diff --git a/source/common/router/scoped_rds.cc b/source/common/router/scoped_rds.cc index 89ec116125eb..07c746cfcadd 100644 --- a/source/common/router/scoped_rds.cc +++ b/source/common/router/scoped_rds.cc @@ -15,7 +15,7 @@ #include "common/common/logger.h" #include "common/common/utility.h" #include "common/config/api_version.h" -#include "common/config/resources.h" +#include "common/config/resource_name.h" #include "common/config/version_converter.h" #include "common/init/manager_impl.h" #include "common/init/watcher_impl.h" @@ -236,16 +236,17 @@ void ScopedRdsConfigSubscription::onConfigUpdate( std::unique_ptr resume_rds; // if local init manager is initialized, the parent init manager may have gone away. if (localInitManager().state() == Init::Manager::State::Initialized) { + const auto type_url = Envoy::Config::getTypeUrl( + envoy::config::core::v3::ApiVersion::V3); noop_init_manager = std::make_unique(fmt::format("SRDS {}:{}", name_, version_info)); // Pause RDS to not send a burst of RDS requests until we start all the new subscriptions. // In the case if factory_context_.init_manager() is uninitialized, RDS is already paused // either by Server init or LDS init. if (factory_context_.clusterManager().adsMux()) { - factory_context_.clusterManager().adsMux()->pause( - Envoy::Config::TypeUrl::get().RouteConfiguration); + factory_context_.clusterManager().adsMux()->pause(type_url); } - resume_rds = std::make_unique([this, &noop_init_manager, version_info] { + resume_rds = std::make_unique([this, &noop_init_manager, version_info, type_url] { // For new RDS subscriptions created after listener warming up, we don't wait for them to // warm up. Init::WatcherImpl noop_watcher( @@ -257,8 +258,7 @@ void ScopedRdsConfigSubscription::onConfigUpdate( // Note in the case of partial acceptance, accepted RDS subscriptions should be started // despite of any error. if (factory_context_.clusterManager().adsMux()) { - factory_context_.clusterManager().adsMux()->resume( - Envoy::Config::TypeUrl::get().RouteConfiguration); + factory_context_.clusterManager().adsMux()->resume(type_url); } }); } diff --git a/source/common/upstream/cds_api_impl.cc b/source/common/upstream/cds_api_impl.cc index 2e83937b9877..22ddc75c5542 100644 --- a/source/common/upstream/cds_api_impl.cc +++ b/source/common/upstream/cds_api_impl.cc @@ -13,7 +13,6 @@ #include "common/common/cleanup.h" #include "common/common/utility.h" #include "common/config/api_version.h" -#include "common/config/resources.h" #include "common/config/utility.h" #include "common/protobuf/utility.h" @@ -68,9 +67,11 @@ void CdsApiImpl::onConfigUpdate( const std::string& system_version_info) { std::unique_ptr maybe_eds_resume; if (cm_.adsMux()) { - cm_.adsMux()->pause(Config::TypeUrl::get().ClusterLoadAssignment); - maybe_eds_resume = std::make_unique( - [this] { cm_.adsMux()->resume(Config::TypeUrl::get().ClusterLoadAssignment); }); + const auto type_url = Config::getTypeUrl( + envoy::config::core::v3::ApiVersion::V3); + cm_.adsMux()->pause(type_url); + maybe_eds_resume = + std::make_unique([this, type_url] { cm_.adsMux()->resume(type_url); }); } ENVOY_LOG(info, "cds: add {} cluster(s), remove {} cluster(s)", added_resources.size(), diff --git a/source/common/upstream/cluster_manager_impl.cc b/source/common/upstream/cluster_manager_impl.cc index b9eafd801c34..29ad37905003 100644 --- a/source/common/upstream/cluster_manager_impl.cc +++ b/source/common/upstream/cluster_manager_impl.cc @@ -22,7 +22,6 @@ #include "common/common/fmt.h" #include "common/common/utility.h" #include "common/config/new_grpc_mux_impl.h" -#include "common/config/resources.h" #include "common/config/utility.h" #include "common/config/version_converter.h" #include "common/grpc/async_client_manager_impl.h" @@ -142,17 +141,17 @@ void ClusterManagerInitHelper::maybeFinishInitialize() { secondary_init_clusters_.empty()); if (!secondary_init_clusters_.empty()) { if (!started_secondary_initialize_) { + const auto type_url = Config::getTypeUrl( + envoy::config::core::v3::ApiVersion::V3); ENVOY_LOG(info, "cm init: initializing secondary clusters"); // If the first CDS response doesn't have any primary cluster, ClusterLoadAssignment // should be already paused by CdsApiImpl::onConfigUpdate(). Need to check that to // avoid double pause ClusterLoadAssignment. - if (cm_.adsMux() == nullptr || - cm_.adsMux()->paused(Config::TypeUrl::get().ClusterLoadAssignment)) { + if (cm_.adsMux() == nullptr || cm_.adsMux()->paused(type_url)) { initializeSecondaryClusters(); } else { - cm_.adsMux()->pause(Config::TypeUrl::get().ClusterLoadAssignment); - Cleanup eds_resume( - [this] { cm_.adsMux()->resume(Config::TypeUrl::get().ClusterLoadAssignment); }); + cm_.adsMux()->pause(type_url); + Cleanup eds_resume([this, type_url] { cm_.adsMux()->resume(type_url); }); initializeSecondaryClusters(); } } @@ -752,11 +751,13 @@ void ClusterManagerImpl::updateClusterCounts() { // signal to ADS to proceed with RDS updates. // If we're in the middle of shutting down (ads_mux_ already gone) then this is irrelevant. if (ads_mux_) { + const auto type_url = Config::getTypeUrl( + envoy::config::core::v3::ApiVersion::V3); const uint64_t previous_warming = cm_stats_.warming_clusters_.value(); if (previous_warming == 0 && !warming_clusters_.empty()) { - ads_mux_->pause(Config::TypeUrl::get().Cluster); + ads_mux_->pause(type_url); } else if (previous_warming > 0 && warming_clusters_.empty()) { - ads_mux_->resume(Config::TypeUrl::get().Cluster); + ads_mux_->resume(type_url); } } cm_stats_.active_clusters_.set(active_clusters_.size()); diff --git a/source/server/BUILD b/source/server/BUILD index 6dacea5f0f39..1a4eeb771ad8 100644 --- a/source/server/BUILD +++ b/source/server/BUILD @@ -270,6 +270,7 @@ envoy_cc_library( "@envoy_api//envoy/api/v2:pkg_cc_proto", "@envoy_api//envoy/config/core/v3:pkg_cc_proto", "@envoy_api//envoy/config/listener/v3:pkg_cc_proto", + "@envoy_api//envoy/config/route/v3:pkg_cc_proto", "@envoy_api//envoy/service/discovery/v3:pkg_cc_proto", ], ) diff --git a/source/server/lds_api.cc b/source/server/lds_api.cc index 5f4cecafc6ce..44129d33cb0a 100644 --- a/source/server/lds_api.cc +++ b/source/server/lds_api.cc @@ -7,13 +7,13 @@ #include "envoy/config/core/v3/config_source.pb.h" #include "envoy/config/listener/v3/listener.pb.h" #include "envoy/config/listener/v3/listener.pb.validate.h" +#include "envoy/config/route/v3/route.pb.h" #include "envoy/service/discovery/v3/discovery.pb.h" #include "envoy/stats/scope.h" #include "common/common/assert.h" #include "common/common/cleanup.h" #include "common/config/api_version.h" -#include "common/config/resources.h" #include "common/config/utility.h" #include "common/protobuf/utility.h" @@ -43,9 +43,11 @@ void LdsApiImpl::onConfigUpdate( const std::string& system_version_info) { std::unique_ptr maybe_eds_resume; if (cm_.adsMux()) { - cm_.adsMux()->pause(Config::TypeUrl::get().RouteConfiguration); - maybe_eds_resume = std::make_unique( - [this] { cm_.adsMux()->resume(Config::TypeUrl::get().RouteConfiguration); }); + const auto type_url = Config::getTypeUrl( + envoy::config::core::v3::ApiVersion::V3); + cm_.adsMux()->pause(type_url); + maybe_eds_resume = + std::make_unique([this, type_url] { cm_.adsMux()->resume(type_url); }); } bool any_applied = false; diff --git a/source/server/server.cc b/source/server/server.cc index f084ae262136..efef7714bd58 100644 --- a/source/server/server.cc +++ b/source/server/server.cc @@ -24,7 +24,6 @@ #include "common/common/mutex_tracer_impl.h" #include "common/common/utility.h" #include "common/common/version.h" -#include "common/config/resources.h" #include "common/config/utility.h" #include "common/http/codes.h" #include "common/local_info/local_info_impl.h" @@ -523,11 +522,13 @@ RunHelper::RunHelper(Instance& instance, const Options& options, Event::Dispatch return; } + const auto type_url = Config::getTypeUrl( + envoy::config::core::v3::ApiVersion::V3); // Pause RDS to ensure that we don't send any requests until we've // subscribed to all the RDS resources. The subscriptions happen in the init callbacks, // so we pause RDS until we've completed all the callbacks. if (cm.adsMux()) { - cm.adsMux()->pause(Config::TypeUrl::get().RouteConfiguration); + cm.adsMux()->pause(type_url); } ENVOY_LOG(info, "all clusters initialized. initializing init manager"); @@ -536,7 +537,7 @@ RunHelper::RunHelper(Instance& instance, const Options& options, Event::Dispatch // Now that we're execute all the init callbacks we can resume RDS // as we've subscribed to all the statically defined RDS resources. if (cm.adsMux()) { - cm.adsMux()->resume(Config::TypeUrl::get().RouteConfiguration); + cm.adsMux()->resume(type_url); } }); } diff --git a/test/common/config/BUILD b/test/common/config/BUILD index fba7f12b4eb4..7b76d8d3aa57 100644 --- a/test/common/config/BUILD +++ b/test/common/config/BUILD @@ -106,7 +106,6 @@ envoy_cc_test( "//source/common/config:api_version_lib", "//source/common/config:grpc_mux_lib", "//source/common/config:protobuf_link_hacks", - "//source/common/config:resources_lib", "//source/common/config:version_converter_lib", "//source/common/protobuf", "//source/common/stats:isolated_store_lib", @@ -118,7 +117,7 @@ envoy_cc_test( "//test/mocks/local_info:local_info_mocks", "//test/mocks/runtime:runtime_mocks", "//test/test_common:logging_lib", - "//test/test_common:simulated_time_system_lib", + "//test/test_common:resources_lib//test/test_common:simulated_time_system_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/api/v2:pkg_cc_proto", "@envoy_api//envoy/config/endpoint/v3:pkg_cc_proto", @@ -132,7 +131,6 @@ envoy_cc_test( deps = [ "//source/common/config:new_grpc_mux_lib", "//source/common/config:protobuf_link_hacks", - "//source/common/config:resources_lib", "//source/common/config:version_converter_lib", "//source/common/protobuf", "//test/common/stats:stat_test_utility_lib", @@ -143,6 +141,7 @@ envoy_cc_test( "//test/mocks/local_info:local_info_mocks", "//test/mocks/runtime:runtime_mocks", "//test/test_common:logging_lib", + "//test/test_common:resources_lib", "//test/test_common:simulated_time_system_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/config/endpoint/v3:pkg_cc_proto", @@ -182,13 +181,13 @@ envoy_cc_test_library( "//source/common/config:api_version_lib", "//source/common/config:grpc_mux_lib", "//source/common/config:grpc_subscription_lib", - "//source/common/config:resources_lib", "//source/common/config:version_converter_lib", "//test/mocks/config:config_mocks", "//test/mocks/event:event_mocks", "//test/mocks/grpc:grpc_mocks", "//test/mocks/local_info:local_info_mocks", "//test/mocks/upstream:upstream_mocks", + "//test/test_common:resources_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/api/v2:pkg_cc_proto", "@envoy_api//envoy/config/core/v3:pkg_cc_proto", diff --git a/test/common/config/grpc_mux_impl_test.cc b/test/common/config/grpc_mux_impl_test.cc index 536836e53445..4f6abbc893c2 100644 --- a/test/common/config/grpc_mux_impl_test.cc +++ b/test/common/config/grpc_mux_impl_test.cc @@ -8,7 +8,6 @@ #include "common/config/api_version.h" #include "common/config/grpc_mux_impl.h" #include "common/config/protobuf_link_hacks.h" -#include "common/config/resources.h" #include "common/config/utility.h" #include "common/config/version_converter.h" #include "common/protobuf/protobuf.h" @@ -22,6 +21,7 @@ #include "test/mocks/local_info/mocks.h" #include "test/mocks/runtime/mocks.h" #include "test/test_common/logging.h" +#include "test/test_common/resources.h" #include "test/test_common/simulated_time_system.h" #include "test/test_common/test_time.h" #include "test/test_common/utility.h" diff --git a/test/common/config/grpc_subscription_test_harness.h b/test/common/config/grpc_subscription_test_harness.h index c7e892737f23..643009df1b95 100644 --- a/test/common/config/grpc_subscription_test_harness.h +++ b/test/common/config/grpc_subscription_test_harness.h @@ -11,7 +11,6 @@ #include "common/config/api_version.h" #include "common/config/grpc_mux_impl.h" #include "common/config/grpc_subscription_impl.h" -#include "common/config/resources.h" #include "common/config/version_converter.h" #include "test/common/config/subscription_test_harness.h" @@ -20,6 +19,7 @@ #include "test/mocks/grpc/mocks.h" #include "test/mocks/local_info/mocks.h" #include "test/mocks/upstream/mocks.h" +#include "test/test_common/resources.h" #include "test/test_common/utility.h" #include "gmock/gmock.h" diff --git a/test/common/config/new_grpc_mux_impl_test.cc b/test/common/config/new_grpc_mux_impl_test.cc index 7353ed85da6f..81ecf627bc7d 100644 --- a/test/common/config/new_grpc_mux_impl_test.cc +++ b/test/common/config/new_grpc_mux_impl_test.cc @@ -6,7 +6,6 @@ #include "common/common/empty_string.h" #include "common/config/new_grpc_mux_impl.h" #include "common/config/protobuf_link_hacks.h" -#include "common/config/resources.h" #include "common/config/utility.h" #include "common/config/version_converter.h" #include "common/protobuf/protobuf.h" @@ -19,6 +18,7 @@ #include "test/mocks/local_info/mocks.h" #include "test/mocks/runtime/mocks.h" #include "test/test_common/logging.h" +#include "test/test_common/resources.h" #include "test/test_common/simulated_time_system.h" #include "test/test_common/test_time.h" #include "test/test_common/utility.h" diff --git a/test/config/BUILD b/test/config/BUILD index 5b54ddaf13b1..baf14f36e68f 100644 --- a/test/config/BUILD +++ b/test/config/BUILD @@ -17,7 +17,6 @@ envoy_cc_test_library( "utility.h", ], deps = [ - "//source/common/config:resources_lib", "//source/common/http:utility_lib", "//source/common/network:address_lib", "//source/common/protobuf", @@ -26,6 +25,7 @@ envoy_cc_test_library( "//test/integration:server_stats_interface", "//test/test_common:environment_lib", "//test/test_common:network_utility_lib", + "//test/test_common:resources_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/config/bootstrap/v3:pkg_cc_proto", "@envoy_api//envoy/config/cluster/v3:pkg_cc_proto", diff --git a/test/config/integration/server_xds.cds.with_unknown_field.yaml b/test/config/integration/server_xds.cds.with_unknown_field.yaml index 0b07a4597e1f..24eac4cd715e 100644 --- a/test/config/integration/server_xds.cds.with_unknown_field.yaml +++ b/test/config/integration/server_xds.cds.with_unknown_field.yaml @@ -1,6 +1,6 @@ version_info: "0" resources: -- "@type": type.googleapis.com/envoy.api.v2.Cluster +- "@type": type.googleapis.com/envoy.config.cluster.v3.Cluster name: cluster_1 connect_timeout: { seconds: 5 } type: EDS diff --git a/test/config/integration/server_xds.cds.yaml b/test/config/integration/server_xds.cds.yaml index 144818c11c83..22e9df42b1be 100644 --- a/test/config/integration/server_xds.cds.yaml +++ b/test/config/integration/server_xds.cds.yaml @@ -1,6 +1,6 @@ version_info: "0" resources: -- "@type": type.googleapis.com/envoy.api.v2.Cluster +- "@type": type.googleapis.com/envoy.config.cluster.v3.Cluster name: cluster_1 connect_timeout: { seconds: 5 } type: EDS diff --git a/test/config/utility.cc b/test/config/utility.cc index 8ad579e62c1c..9f80e901662b 100644 --- a/test/config/utility.cc +++ b/test/config/utility.cc @@ -15,7 +15,6 @@ #include "envoy/service/discovery/v3/discovery.pb.h" #include "common/common/assert.h" -#include "common/config/resources.h" #include "common/http/utility.h" #include "common/protobuf/utility.h" @@ -23,6 +22,7 @@ #include "test/config/integration/certs/clientcert_hash.h" #include "test/test_common/environment.h" #include "test/test_common/network_utility.h" +#include "test/test_common/resources.h" #include "test/test_common/utility.h" #include "absl/strings/str_replace.h" diff --git a/test/extensions/clusters/aggregate/BUILD b/test/extensions/clusters/aggregate/BUILD index ffebbe750074..f5885980ab36 100644 --- a/test/extensions/clusters/aggregate/BUILD +++ b/test/extensions/clusters/aggregate/BUILD @@ -55,7 +55,6 @@ envoy_extension_cc_test( extension_name = "envoy.clusters.aggregate", deps = [ "//source/common/config:protobuf_link_hacks", - "//source/common/config:resources_lib", "//source/common/protobuf:utility_lib", "//source/extensions/clusters/aggregate:cluster", "//source/extensions/filters/network/tcp_proxy:config", @@ -65,6 +64,7 @@ envoy_extension_cc_test( "//test/mocks/runtime:runtime_mocks", "//test/mocks/server:server_mocks", "//test/test_common:network_utility_lib", + "//test/test_common:resources_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/config/cluster/v3:pkg_cc_proto", ], diff --git a/test/extensions/clusters/aggregate/cluster_integration_test.cc b/test/extensions/clusters/aggregate/cluster_integration_test.cc index c92884eab433..4f6f8b6edb3d 100644 --- a/test/extensions/clusters/aggregate/cluster_integration_test.cc +++ b/test/extensions/clusters/aggregate/cluster_integration_test.cc @@ -3,7 +3,6 @@ #include "envoy/stats/scope.h" #include "common/config/protobuf_link_hacks.h" -#include "common/config/resources.h" #include "common/protobuf/protobuf.h" #include "common/protobuf/utility.h" @@ -12,6 +11,7 @@ #include "test/integration/utility.h" #include "test/mocks/server/mocks.h" #include "test/test_common/network_utility.h" +#include "test/test_common/resources.h" #include "test/test_common/simulated_time_system.h" #include "test/test_common/utility.h" diff --git a/test/integration/BUILD b/test/integration/BUILD index 24fbc6f4b806..fe75d2f2bbfd 100644 --- a/test/integration/BUILD +++ b/test/integration/BUILD @@ -29,12 +29,12 @@ envoy_cc_test_library( ":http_integration_lib", "//source/common/common:version_lib", "//source/common/config:protobuf_link_hacks", - "//source/common/config:resources_lib", "//source/common/config:version_converter_lib", "//source/common/protobuf:utility_lib", "//source/extensions/filters/network/redis_proxy:config", "//test/common/grpc:grpc_client_integration_lib", "//test/test_common:network_utility_lib", + "//test/test_common:resources_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/admin/v3:pkg_cc_proto", "@envoy_api//envoy/config/bootstrap/v3:pkg_cc_proto", @@ -53,10 +53,10 @@ envoy_cc_test( ":ads_integration_lib", ":http_integration_lib", "//source/common/config:protobuf_link_hacks", - "//source/common/config:resources_lib", "//source/common/protobuf:utility_lib", "//test/common/grpc:grpc_client_integration_lib", "//test/test_common:network_utility_lib", + "//test/test_common:resources_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/config/bootstrap/v3:pkg_cc_proto", "@envoy_api//envoy/config/cluster/v3:pkg_cc_proto", @@ -112,12 +112,12 @@ envoy_cc_test( deps = [ ":http_integration_lib", "//source/common/config:protobuf_link_hacks", - "//source/common/config:resources_lib", "//source/common/protobuf:utility_lib", "//test/common/grpc:grpc_client_integration_lib", "//test/mocks/runtime:runtime_mocks", "//test/mocks/server:server_mocks", "//test/test_common:network_utility_lib", + "//test/test_common:resources_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/config/cluster/v3:pkg_cc_proto", "@envoy_api//envoy/service/discovery/v3:pkg_cc_proto", @@ -204,12 +204,12 @@ envoy_cc_test( deps = [ ":http_integration_lib", "//source/common/config:protobuf_link_hacks", - "//source/common/config:resources_lib", "//source/common/protobuf:utility_lib", "//test/common/grpc:grpc_client_integration_lib", "//test/mocks/runtime:runtime_mocks", "//test/mocks/server:server_mocks", "//test/test_common:network_utility_lib", + "//test/test_common:resources_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/config/route/v3:pkg_cc_proto", ], @@ -667,9 +667,9 @@ envoy_cc_test( srcs = ["load_stats_integration_test.cc"], deps = [ ":http_integration_lib", - "//source/common/config:resources_lib", "//test/config:utility_lib", "//test/test_common:network_utility_lib", + "//test/test_common:resources_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/config/bootstrap/v3:pkg_cc_proto", "@envoy_api//envoy/config/cluster/v3:pkg_cc_proto", @@ -687,7 +687,6 @@ envoy_cc_test( ":integration_lib", "//include/envoy/upstream:upstream_interface", "//source/common/config:metadata_lib", - "//source/common/config:resources_lib", "//source/common/json:json_loader_lib", "//source/common/network:utility_lib", "//source/common/upstream:health_checker_lib", @@ -695,6 +694,7 @@ envoy_cc_test( "//test/common/upstream:utility_lib", "//test/config:utility_lib", "//test/test_common:network_utility_lib", + "//test/test_common:resources_lib", "@envoy_api//envoy/config/bootstrap/v3:pkg_cc_proto", "@envoy_api//envoy/config/core/v3:pkg_cc_proto", "@envoy_api//envoy/service/health/v3:pkg_cc_proto", @@ -809,7 +809,6 @@ envoy_cc_test( ":http_integration_lib", "//source/common/config:api_version_lib", "//source/common/config:protobuf_link_hacks", - "//source/common/config:resources_lib", "//source/common/event:dispatcher_includes", "//source/common/event:dispatcher_lib", "//source/common/network:connection_lib", @@ -820,6 +819,7 @@ envoy_cc_test( "//test/common/grpc:grpc_client_integration_lib", "//test/mocks/runtime:runtime_mocks", "//test/mocks/secret:secret_mocks", + "//test/test_common:resources_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/api/v2:pkg_cc_proto", "@envoy_api//envoy/config/bootstrap/v3:pkg_cc_proto", @@ -1061,12 +1061,12 @@ envoy_cc_test( deps = [ ":http_integration_lib", "//source/common/config:api_version_lib", - "//source/common/config:resources_lib", "//source/common/event:dispatcher_includes", "//source/common/event:dispatcher_lib", "//source/common/network:connection_lib", "//source/common/network:utility_lib", "//test/common/grpc:grpc_client_integration_lib", + "//test/test_common:resources_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/api/v2:pkg_cc_proto", "@envoy_api//envoy/config/bootstrap/v3:pkg_cc_proto", @@ -1084,12 +1084,12 @@ envoy_cc_test( deps = [ ":http_integration_lib", "//source/common/config:api_version_lib", - "//source/common/config:resources_lib", "//source/common/event:dispatcher_includes", "//source/common/event:dispatcher_lib", "//source/common/network:connection_lib", "//source/common/network:utility_lib", "//test/common/grpc:grpc_client_integration_lib", + "//test/test_common:resources_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/api/v2:pkg_cc_proto", "@envoy_api//envoy/config/bootstrap/v3:pkg_cc_proto", diff --git a/test/integration/ads_integration.cc b/test/integration/ads_integration.cc index 31c7b7e820aa..6c91a4df608c 100644 --- a/test/integration/ads_integration.cc +++ b/test/integration/ads_integration.cc @@ -9,11 +9,11 @@ #include "envoy/extensions/transport_sockets/tls/v3/cert.pb.h" #include "common/config/protobuf_link_hacks.h" -#include "common/config/resources.h" #include "common/protobuf/protobuf.h" #include "common/protobuf/utility.h" #include "test/test_common/network_utility.h" +#include "test/test_common/resources.h" #include "test/test_common/utility.h" using testing::AssertionResult; diff --git a/test/integration/ads_integration_test.cc b/test/integration/ads_integration_test.cc index 4ac27586322a..42de78c81fae 100644 --- a/test/integration/ads_integration_test.cc +++ b/test/integration/ads_integration_test.cc @@ -7,7 +7,6 @@ #include "common/common/version.h" #include "common/config/protobuf_link_hacks.h" -#include "common/config/resources.h" #include "common/config/version_converter.h" #include "common/protobuf/protobuf.h" #include "common/protobuf/utility.h" @@ -17,6 +16,7 @@ #include "test/integration/http_integration.h" #include "test/integration/utility.h" #include "test/test_common/network_utility.h" +#include "test/test_common/resources.h" #include "test/test_common/utility.h" #include "gtest/gtest.h" diff --git a/test/integration/cds_integration_test.cc b/test/integration/cds_integration_test.cc index b7779c5ae8be..a97bb0743bf0 100644 --- a/test/integration/cds_integration_test.cc +++ b/test/integration/cds_integration_test.cc @@ -4,7 +4,6 @@ #include "envoy/stats/scope.h" #include "common/config/protobuf_link_hacks.h" -#include "common/config/resources.h" #include "common/protobuf/protobuf.h" #include "common/protobuf/utility.h" @@ -13,6 +12,7 @@ #include "test/integration/utility.h" #include "test/mocks/server/mocks.h" #include "test/test_common/network_utility.h" +#include "test/test_common/resources.h" #include "test/test_common/simulated_time_system.h" #include "test/test_common/utility.h" @@ -111,9 +111,10 @@ class CdsIntegrationTest : public Grpc::DeltaSotwIntegrationParamTest, public Ht void verifyGrpcServiceMethod() { EXPECT_TRUE(xds_stream_->waitForHeadersComplete()); Envoy::Http::LowerCaseString path_string(":path"); - std::string expected_method(sotwOrDelta() == Grpc::SotwOrDelta::Sotw - ? "/envoy.api.v2.ClusterDiscoveryService/StreamClusters" - : "/envoy.api.v2.ClusterDiscoveryService/DeltaClusters"); + std::string expected_method( + sotwOrDelta() == Grpc::SotwOrDelta::Sotw + ? "/envoy.service.cluster.v3.ClusterDiscoveryService/StreamClusters" + : "/envoy.service.cluster.v3.ClusterDiscoveryService/DeltaClusters"); EXPECT_EQ(xds_stream_->headers().get(path_string)->value(), expected_method); } diff --git a/test/integration/hds_integration_test.cc b/test/integration/hds_integration_test.cc index 00b405b411d3..dfdc804beaee 100644 --- a/test/integration/hds_integration_test.cc +++ b/test/integration/hds_integration_test.cc @@ -7,7 +7,6 @@ #include "envoy/upstream/upstream.h" #include "common/config/metadata.h" -#include "common/config/resources.h" #include "common/network/utility.h" #include "common/protobuf/utility.h" #include "common/upstream/health_checker_impl.h" @@ -17,6 +16,7 @@ #include "test/config/utility.h" #include "test/integration/http_integration.h" #include "test/test_common/network_utility.h" +#include "test/test_common/resources.h" #include "test/test_common/simulated_time_system.h" #include "gmock/gmock.h" diff --git a/test/integration/header_integration_test.cc b/test/integration/header_integration_test.cc index e7a2db59057e..08ebe7b2a806 100644 --- a/test/integration/header_integration_test.cc +++ b/test/integration/header_integration_test.cc @@ -8,12 +8,12 @@ #include "common/config/api_version.h" #include "common/config/metadata.h" -#include "common/config/resources.h" #include "common/http/exception.h" #include "common/protobuf/protobuf.h" #include "test/integration/http_integration.h" #include "test/test_common/network_utility.h" +#include "test/test_common/resources.h" #include "test/test_common/utility.h" #include "gtest/gtest.h" diff --git a/test/integration/integration.h b/test/integration/integration.h index 8c388b46314f..78066bc822de 100644 --- a/test/integration/integration.h +++ b/test/integration/integration.h @@ -289,7 +289,7 @@ class BaseIntegrationTest : protected Logger::Loggable { discovery_response.set_version_info(version); discovery_response.set_type_url(type_url); for (const auto& message : messages) { - discovery_response.add_resources()->PackFrom(API_DOWNGRADE(message)); + discovery_response.add_resources()->PackFrom(message); } static int next_nonce_counter = 0; discovery_response.set_nonce(absl::StrCat("nonce", next_nonce_counter++)); @@ -324,10 +324,10 @@ class BaseIntegrationTest : protected Logger::Loggable { for (const auto& message : added_or_updated) { auto* resource = response.add_resources(); ProtobufWkt::Any temp_any; - temp_any.PackFrom(API_DOWNGRADE(message)); + temp_any.PackFrom(message); resource->set_name(TestUtility::xdsResourceName(temp_any)); resource->set_version(version); - resource->mutable_resource()->PackFrom(API_DOWNGRADE(message)); + resource->mutable_resource()->PackFrom(message); for (const auto& alias : aliases) { resource->add_aliases(alias); } diff --git a/test/integration/listener_lds_integration_test.cc b/test/integration/listener_lds_integration_test.cc index ce6c4fdff55f..bba29eaa20fb 100644 --- a/test/integration/listener_lds_integration_test.cc +++ b/test/integration/listener_lds_integration_test.cc @@ -7,12 +7,12 @@ #include "envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.pb.h" #include "common/config/api_version.h" -#include "common/config/resources.h" #include "common/config/version_converter.h" #include "test/common/grpc/grpc_client_integration.h" #include "test/integration/http_integration.h" #include "test/test_common/printers.h" +#include "test/test_common/resources.h" #include "gmock/gmock.h" #include "gtest/gtest.h" diff --git a/test/integration/load_stats_integration_test.cc b/test/integration/load_stats_integration_test.cc index a9cf8753080e..d917259e4a9a 100644 --- a/test/integration/load_stats_integration_test.cc +++ b/test/integration/load_stats_integration_test.cc @@ -6,11 +6,10 @@ #include "envoy/config/endpoint/v3/load_report.pb.h" #include "envoy/service/load_stats/v3/lrs.pb.h" -#include "common/config/resources.h" - #include "test/config/utility.h" #include "test/integration/http_integration.h" #include "test/test_common/network_utility.h" +#include "test/test_common/resources.h" #include "test/test_common/utility.h" #include "gtest/gtest.h" diff --git a/test/integration/scoped_rds_integration_test.cc b/test/integration/scoped_rds_integration_test.cc index 8955cc0fb6bf..20688daf5ac6 100644 --- a/test/integration/scoped_rds_integration_test.cc +++ b/test/integration/scoped_rds_integration_test.cc @@ -7,12 +7,12 @@ #include "envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.pb.h" #include "common/config/api_version.h" -#include "common/config/resources.h" #include "common/config/version_converter.h" #include "test/common/grpc/grpc_client_integration.h" #include "test/integration/http_integration.h" #include "test/test_common/printers.h" +#include "test/test_common/resources.h" #include "gmock/gmock.h" #include "gtest/gtest.h" diff --git a/test/integration/sds_dynamic_integration_test.cc b/test/integration/sds_dynamic_integration_test.cc index 13242efd4a9c..9a384a6e98ec 100644 --- a/test/integration/sds_dynamic_integration_test.cc +++ b/test/integration/sds_dynamic_integration_test.cc @@ -8,7 +8,6 @@ #include "envoy/service/secret/v3/sds.pb.h" #include "common/config/api_version.h" -#include "common/config/resources.h" #include "common/event/dispatcher_impl.h" #include "common/network/connection_impl.h" #include "common/network/utility.h" @@ -25,6 +24,7 @@ #include "test/mocks/secret/mocks.h" #include "test/mocks/server/mocks.h" #include "test/test_common/network_utility.h" +#include "test/test_common/resources.h" #include "test/test_common/test_time_system.h" #include "test/test_common/utility.h" diff --git a/test/integration/vhds_integration_test.cc b/test/integration/vhds_integration_test.cc index f7f100deed1c..dc8dd64244f5 100644 --- a/test/integration/vhds_integration_test.cc +++ b/test/integration/vhds_integration_test.cc @@ -4,7 +4,6 @@ #include "envoy/stats/scope.h" #include "common/config/protobuf_link_hacks.h" -#include "common/config/resources.h" #include "common/protobuf/protobuf.h" #include "common/protobuf/utility.h" @@ -13,6 +12,7 @@ #include "test/integration/utility.h" #include "test/mocks/server/mocks.h" #include "test/test_common/network_utility.h" +#include "test/test_common/resources.h" #include "test/test_common/simulated_time_system.h" #include "test/test_common/utility.h" diff --git a/test/mocks/config/BUILD b/test/mocks/config/BUILD index 50e78db8052d..c9756f13893a 100644 --- a/test/mocks/config/BUILD +++ b/test/mocks/config/BUILD @@ -17,8 +17,8 @@ envoy_cc_mock( "//include/envoy/config:grpc_mux_interface", "//include/envoy/config:subscription_interface", "//source/common/config:config_provider_lib", - "//source/common/config:resources_lib", "//source/common/protobuf:utility_lib", + "//test/test_common:resources_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/config/core/v3:pkg_cc_proto", "@envoy_api//envoy/config/endpoint/v3:pkg_cc_proto", diff --git a/test/mocks/config/mocks.h b/test/mocks/config/mocks.h index 1df17c1ea903..4ac54dbc2010 100644 --- a/test/mocks/config/mocks.h +++ b/test/mocks/config/mocks.h @@ -9,9 +9,9 @@ #include "envoy/service/discovery/v3/discovery.pb.h" #include "common/config/config_provider_impl.h" -#include "common/config/resources.h" #include "common/protobuf/utility.h" +#include "test/test_common/resources.h" #include "test/test_common/utility.h" #include "gmock/gmock.h" diff --git a/test/test_common/BUILD b/test/test_common/BUILD index f4ee907aea7f..b735d286130b 100644 --- a/test/test_common/BUILD +++ b/test/test_common/BUILD @@ -87,6 +87,12 @@ envoy_cc_test_library( ], ) +envoy_cc_test_library( + name = "resources_lib", + hdrs = ["resources.h"], + deps = ["//source/common/singleton:const_singleton"], +) + envoy_cc_test_library( name = "utility_lib", srcs = ["utility.cc"], @@ -96,6 +102,7 @@ envoy_cc_test_library( ], deps = [ ":file_system_for_test_lib", + ":resources_lib", ":test_time_lib", ":thread_factory_for_test_lib", "//include/envoy/buffer:buffer_interface", @@ -105,7 +112,6 @@ envoy_cc_test_library( "//source/common/common:empty_string", "//source/common/common:thread_lib", "//source/common/common:utility_lib", - "//source/common/config:resources_lib", "//source/common/config:version_converter_lib", "//source/common/filesystem:directory_lib", "//source/common/filesystem:filesystem_lib", diff --git a/test/test_common/resources.h b/test/test_common/resources.h new file mode 100644 index 000000000000..867aa5e7624d --- /dev/null +++ b/test/test_common/resources.h @@ -0,0 +1,31 @@ +#pragma once + +#include + +#include "common/singleton/const_singleton.h" + +namespace Envoy { +namespace Config { + +/** + * Constant Type URLs. + */ +class TypeUrlValues { +public: + const std::string Listener{"type.googleapis.com/envoy.config.listener.v3.Listener"}; + const std::string Cluster{"type.googleapis.com/envoy.config.cluster.v3.Cluster"}; + const std::string ClusterLoadAssignment{ + "type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment"}; + const std::string Secret{"type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret"}; + const std::string RouteConfiguration{ + "type.googleapis.com/envoy.config.route.v3.RouteConfiguration"}; + const std::string VirtualHost{"type.googleapis.com/envoy.api.v3.route.VirtualHost"}; + const std::string ScopedRouteConfiguration{ + "type.googleapis.com/envoy.config.route.v3.ScopedRouteConfiguration"}; + const std::string Runtime{"type.googleapis.com/envoy.service.runtime.v3.Runtime"}; +}; + +using TypeUrl = ConstSingleton; + +} // namespace Config +} // namespace Envoy diff --git a/test/test_common/utility.cc b/test/test_common/utility.cc index 09e7ee1aff56..9d2678d2fe6b 100644 --- a/test/test_common/utility.cc +++ b/test/test_common/utility.cc @@ -25,7 +25,6 @@ #include "common/common/lock_guard.h" #include "common/common/thread_impl.h" #include "common/common/utility.h" -#include "common/config/resources.h" #include "common/filesystem/directory.h" #include "common/filesystem/filesystem_impl.h" #include "common/json/json_loader.h" @@ -34,6 +33,7 @@ #include "test/mocks/stats/mocks.h" #include "test/test_common/printers.h" +#include "test/test_common/resources.h" #include "test/test_common/test_time.h" #include "absl/container/fixed_array.h" diff --git a/tools/testdata/check_format/header_order.cc b/tools/testdata/check_format/header_order.cc index da6b58d7c807..c29b5c79d57f 100644 --- a/tools/testdata/check_format/header_order.cc +++ b/tools/testdata/check_format/header_order.cc @@ -3,7 +3,7 @@ #include "common/api/os_sys_calls_impl.h" #include "common/common/utility.h" #include "common/common/version.h" -#include "common/config/resources.h" +#include "test/test_common/resources.h" #include "common/config/utility.h" #include "common/local_info/local_info_impl.h" #include "common/memory/stats.h" diff --git a/tools/testdata/check_format/header_order.cc.gold b/tools/testdata/check_format/header_order.cc.gold index 5bb3823b5be0..1112a0e837ee 100644 --- a/tools/testdata/check_format/header_order.cc.gold +++ b/tools/testdata/check_format/header_order.cc.gold @@ -19,7 +19,7 @@ #include "common/api/os_sys_calls_impl.h" #include "common/common/utility.h" #include "common/common/version.h" -#include "common/config/resources.h" +#include "test/test_common/resources.h" #include "common/config/utility.h" #include "common/local_info/local_info_impl.h" #include "common/memory/stats.h" From 8165eb78d5eb7c14b9678a479b395203e073fc59 Mon Sep 17 00:00:00 2001 From: shikugawa Date: Mon, 20 Apr 2020 09:50:06 +0000 Subject: [PATCH 2/4] remove hardcoded type url part.2 Signed-off-by: shikugawa --- source/common/config/resource_name.h | 4 ++-- source/common/router/scoped_rds.cc | 2 +- source/common/upstream/cds_api_impl.cc | 2 +- .../common/upstream/cluster_manager_impl.cc | 4 ++-- source/server/lds_api.cc | 2 +- source/server/server.cc | 2 +- test/common/config/BUILD | 3 ++- .../server_xds.cds.with_unknown_field.yaml | 2 +- test/config/integration/server_xds.cds.yaml | 2 +- test/integration/cds_integration_test.cc | 7 +++---- test/integration/integration.h | 6 +++--- test/test_common/resources.h | 20 +++++++++---------- 12 files changed, 27 insertions(+), 29 deletions(-) diff --git a/source/common/config/resource_name.h b/source/common/config/resource_name.h index 8fe6fc89ae01..b21a7d47d710 100644 --- a/source/common/config/resource_name.h +++ b/source/common/config/resource_name.h @@ -18,11 +18,11 @@ template std::string getResourceName(envoy::config::core::v3::ApiVersion resource_api_version) { switch (resource_api_version) { case envoy::config::core::v3::ApiVersion::AUTO: - case envoy::config::core::v3::ApiVersion::V3: - return Current().GetDescriptor()->full_name(); case envoy::config::core::v3::ApiVersion::V2: return ApiTypeOracle::getEarlierVersionMessageTypeName(Current().GetDescriptor()->full_name()) .value(); + case envoy::config::core::v3::ApiVersion::V3: + return Current().GetDescriptor()->full_name(); default: NOT_REACHED_GCOVR_EXCL_LINE; } diff --git a/source/common/router/scoped_rds.cc b/source/common/router/scoped_rds.cc index 07c746cfcadd..c900d0ead013 100644 --- a/source/common/router/scoped_rds.cc +++ b/source/common/router/scoped_rds.cc @@ -237,7 +237,7 @@ void ScopedRdsConfigSubscription::onConfigUpdate( // if local init manager is initialized, the parent init manager may have gone away. if (localInitManager().state() == Init::Manager::State::Initialized) { const auto type_url = Envoy::Config::getTypeUrl( - envoy::config::core::v3::ApiVersion::V3); + envoy::config::core::v3::ApiVersion::V2); noop_init_manager = std::make_unique(fmt::format("SRDS {}:{}", name_, version_info)); // Pause RDS to not send a burst of RDS requests until we start all the new subscriptions. diff --git a/source/common/upstream/cds_api_impl.cc b/source/common/upstream/cds_api_impl.cc index 22ddc75c5542..389f4f5f265d 100644 --- a/source/common/upstream/cds_api_impl.cc +++ b/source/common/upstream/cds_api_impl.cc @@ -68,7 +68,7 @@ void CdsApiImpl::onConfigUpdate( std::unique_ptr maybe_eds_resume; if (cm_.adsMux()) { const auto type_url = Config::getTypeUrl( - envoy::config::core::v3::ApiVersion::V3); + envoy::config::core::v3::ApiVersion::V2); cm_.adsMux()->pause(type_url); maybe_eds_resume = std::make_unique([this, type_url] { cm_.adsMux()->resume(type_url); }); diff --git a/source/common/upstream/cluster_manager_impl.cc b/source/common/upstream/cluster_manager_impl.cc index 29ad37905003..8e4d6f9975c3 100644 --- a/source/common/upstream/cluster_manager_impl.cc +++ b/source/common/upstream/cluster_manager_impl.cc @@ -142,7 +142,7 @@ void ClusterManagerInitHelper::maybeFinishInitialize() { if (!secondary_init_clusters_.empty()) { if (!started_secondary_initialize_) { const auto type_url = Config::getTypeUrl( - envoy::config::core::v3::ApiVersion::V3); + envoy::config::core::v3::ApiVersion::V2); ENVOY_LOG(info, "cm init: initializing secondary clusters"); // If the first CDS response doesn't have any primary cluster, ClusterLoadAssignment // should be already paused by CdsApiImpl::onConfigUpdate(). Need to check that to @@ -752,7 +752,7 @@ void ClusterManagerImpl::updateClusterCounts() { // If we're in the middle of shutting down (ads_mux_ already gone) then this is irrelevant. if (ads_mux_) { const auto type_url = Config::getTypeUrl( - envoy::config::core::v3::ApiVersion::V3); + envoy::config::core::v3::ApiVersion::V2); const uint64_t previous_warming = cm_stats_.warming_clusters_.value(); if (previous_warming == 0 && !warming_clusters_.empty()) { ads_mux_->pause(type_url); diff --git a/source/server/lds_api.cc b/source/server/lds_api.cc index 44129d33cb0a..373956339a96 100644 --- a/source/server/lds_api.cc +++ b/source/server/lds_api.cc @@ -44,7 +44,7 @@ void LdsApiImpl::onConfigUpdate( std::unique_ptr maybe_eds_resume; if (cm_.adsMux()) { const auto type_url = Config::getTypeUrl( - envoy::config::core::v3::ApiVersion::V3); + envoy::config::core::v3::ApiVersion::V2); cm_.adsMux()->pause(type_url); maybe_eds_resume = std::make_unique([this, type_url] { cm_.adsMux()->resume(type_url); }); diff --git a/source/server/server.cc b/source/server/server.cc index efef7714bd58..434c6d619495 100644 --- a/source/server/server.cc +++ b/source/server/server.cc @@ -523,7 +523,7 @@ RunHelper::RunHelper(Instance& instance, const Options& options, Event::Dispatch } const auto type_url = Config::getTypeUrl( - envoy::config::core::v3::ApiVersion::V3); + envoy::config::core::v3::ApiVersion::V2); // Pause RDS to ensure that we don't send any requests until we've // subscribed to all the RDS resources. The subscriptions happen in the init callbacks, // so we pause RDS until we've completed all the callbacks. diff --git a/test/common/config/BUILD b/test/common/config/BUILD index 7b76d8d3aa57..390374dad542 100644 --- a/test/common/config/BUILD +++ b/test/common/config/BUILD @@ -117,7 +117,8 @@ envoy_cc_test( "//test/mocks/local_info:local_info_mocks", "//test/mocks/runtime:runtime_mocks", "//test/test_common:logging_lib", - "//test/test_common:resources_lib//test/test_common:simulated_time_system_lib", + "//test/test_common:resources_lib", + "//test/test_common:simulated_time_system_lib", "//test/test_common:utility_lib", "@envoy_api//envoy/api/v2:pkg_cc_proto", "@envoy_api//envoy/config/endpoint/v3:pkg_cc_proto", diff --git a/test/config/integration/server_xds.cds.with_unknown_field.yaml b/test/config/integration/server_xds.cds.with_unknown_field.yaml index 24eac4cd715e..0b07a4597e1f 100644 --- a/test/config/integration/server_xds.cds.with_unknown_field.yaml +++ b/test/config/integration/server_xds.cds.with_unknown_field.yaml @@ -1,6 +1,6 @@ version_info: "0" resources: -- "@type": type.googleapis.com/envoy.config.cluster.v3.Cluster +- "@type": type.googleapis.com/envoy.api.v2.Cluster name: cluster_1 connect_timeout: { seconds: 5 } type: EDS diff --git a/test/config/integration/server_xds.cds.yaml b/test/config/integration/server_xds.cds.yaml index 22e9df42b1be..144818c11c83 100644 --- a/test/config/integration/server_xds.cds.yaml +++ b/test/config/integration/server_xds.cds.yaml @@ -1,6 +1,6 @@ version_info: "0" resources: -- "@type": type.googleapis.com/envoy.config.cluster.v3.Cluster +- "@type": type.googleapis.com/envoy.api.v2.Cluster name: cluster_1 connect_timeout: { seconds: 5 } type: EDS diff --git a/test/integration/cds_integration_test.cc b/test/integration/cds_integration_test.cc index a97bb0743bf0..851a6ed9f3a3 100644 --- a/test/integration/cds_integration_test.cc +++ b/test/integration/cds_integration_test.cc @@ -111,10 +111,9 @@ class CdsIntegrationTest : public Grpc::DeltaSotwIntegrationParamTest, public Ht void verifyGrpcServiceMethod() { EXPECT_TRUE(xds_stream_->waitForHeadersComplete()); Envoy::Http::LowerCaseString path_string(":path"); - std::string expected_method( - sotwOrDelta() == Grpc::SotwOrDelta::Sotw - ? "/envoy.service.cluster.v3.ClusterDiscoveryService/StreamClusters" - : "/envoy.service.cluster.v3.ClusterDiscoveryService/DeltaClusters"); + std::string expected_method(sotwOrDelta() == Grpc::SotwOrDelta::Sotw + ? "/envoy.api.v2.ClusterDiscoveryService/StreamClusters" + : "/envoy.api.v2.ClusterDiscoveryService/DeltaClusters"); EXPECT_EQ(xds_stream_->headers().get(path_string)->value(), expected_method); } diff --git a/test/integration/integration.h b/test/integration/integration.h index 78066bc822de..8c388b46314f 100644 --- a/test/integration/integration.h +++ b/test/integration/integration.h @@ -289,7 +289,7 @@ class BaseIntegrationTest : protected Logger::Loggable { discovery_response.set_version_info(version); discovery_response.set_type_url(type_url); for (const auto& message : messages) { - discovery_response.add_resources()->PackFrom(message); + discovery_response.add_resources()->PackFrom(API_DOWNGRADE(message)); } static int next_nonce_counter = 0; discovery_response.set_nonce(absl::StrCat("nonce", next_nonce_counter++)); @@ -324,10 +324,10 @@ class BaseIntegrationTest : protected Logger::Loggable { for (const auto& message : added_or_updated) { auto* resource = response.add_resources(); ProtobufWkt::Any temp_any; - temp_any.PackFrom(message); + temp_any.PackFrom(API_DOWNGRADE(message)); resource->set_name(TestUtility::xdsResourceName(temp_any)); resource->set_version(version); - resource->mutable_resource()->PackFrom(message); + resource->mutable_resource()->PackFrom(API_DOWNGRADE(message)); for (const auto& alias : aliases) { resource->add_aliases(alias); } diff --git a/test/test_common/resources.h b/test/test_common/resources.h index 867aa5e7624d..1f0d762b68e8 100644 --- a/test/test_common/resources.h +++ b/test/test_common/resources.h @@ -12,20 +12,18 @@ namespace Config { */ class TypeUrlValues { public: - const std::string Listener{"type.googleapis.com/envoy.config.listener.v3.Listener"}; - const std::string Cluster{"type.googleapis.com/envoy.config.cluster.v3.Cluster"}; - const std::string ClusterLoadAssignment{ - "type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment"}; - const std::string Secret{"type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret"}; - const std::string RouteConfiguration{ - "type.googleapis.com/envoy.config.route.v3.RouteConfiguration"}; - const std::string VirtualHost{"type.googleapis.com/envoy.api.v3.route.VirtualHost"}; + const std::string Listener{"type.googleapis.com/envoy.api.v2.Listener"}; + const std::string Cluster{"type.googleapis.com/envoy.api.v2.Cluster"}; + const std::string ClusterLoadAssignment{"type.googleapis.com/envoy.api.v2.ClusterLoadAssignment"}; + const std::string Secret{"type.googleapis.com/envoy.api.v2.auth.Secret"}; + const std::string RouteConfiguration{"type.googleapis.com/envoy.api.v2.RouteConfiguration"}; + const std::string VirtualHost{"type.googleapis.com/envoy.api.v2.route.VirtualHost"}; const std::string ScopedRouteConfiguration{ - "type.googleapis.com/envoy.config.route.v3.ScopedRouteConfiguration"}; - const std::string Runtime{"type.googleapis.com/envoy.service.runtime.v3.Runtime"}; + "type.googleapis.com/envoy.api.v2.ScopedRouteConfiguration"}; + const std::string Runtime{"type.googleapis.com/envoy.service.discovery.v2.Runtime"}; }; using TypeUrl = ConstSingleton; } // namespace Config -} // namespace Envoy +} // namespace Envoy \ No newline at end of file From 6d01c44916655c6c68bbe31ad45d151f1159487e Mon Sep 17 00:00:00 2001 From: shikugawa Date: Tue, 21 Apr 2020 04:37:34 +0000 Subject: [PATCH 3/4] revert Signed-off-by: shikugawa --- tools/testdata/check_format/header_order.cc | 2 +- tools/testdata/check_format/header_order.cc.gold | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/testdata/check_format/header_order.cc b/tools/testdata/check_format/header_order.cc index c29b5c79d57f..24c11e266697 100644 --- a/tools/testdata/check_format/header_order.cc +++ b/tools/testdata/check_format/header_order.cc @@ -3,7 +3,7 @@ #include "common/api/os_sys_calls_impl.h" #include "common/common/utility.h" #include "common/common/version.h" -#include "test/test_common/resources.h" +#include "common/common/resources.h" #include "common/config/utility.h" #include "common/local_info/local_info_impl.h" #include "common/memory/stats.h" diff --git a/tools/testdata/check_format/header_order.cc.gold b/tools/testdata/check_format/header_order.cc.gold index 1112a0e837ee..ff515ddd97db 100644 --- a/tools/testdata/check_format/header_order.cc.gold +++ b/tools/testdata/check_format/header_order.cc.gold @@ -19,7 +19,7 @@ #include "common/api/os_sys_calls_impl.h" #include "common/common/utility.h" #include "common/common/version.h" -#include "test/test_common/resources.h" +#include "common/common/resources.h" #include "common/config/utility.h" #include "common/local_info/local_info_impl.h" #include "common/memory/stats.h" From 26bb997ecc4dc19b255bca244f4986e8983797d6 Mon Sep 17 00:00:00 2001 From: shikugawa Date: Tue, 21 Apr 2020 09:25:42 +0000 Subject: [PATCH 4/4] format Signed-off-by: shikugawa --- tools/testdata/check_format/header_order.cc | 4 ++-- tools/testdata/check_format/header_order.cc.gold | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/testdata/check_format/header_order.cc b/tools/testdata/check_format/header_order.cc index 24c11e266697..76cc4fb07fb0 100644 --- a/tools/testdata/check_format/header_order.cc +++ b/tools/testdata/check_format/header_order.cc @@ -3,7 +3,7 @@ #include "common/api/os_sys_calls_impl.h" #include "common/common/utility.h" #include "common/common/version.h" -#include "common/common/resources.h" +#include "common/config/resources.h" #include "common/config/utility.h" #include "common/local_info/local_info_impl.h" #include "common/memory/stats.h" @@ -37,4 +37,4 @@ namespace Envoy { // Something awesome goes here. -} // namespace Envoy +} // namespace Envoy \ No newline at end of file diff --git a/tools/testdata/check_format/header_order.cc.gold b/tools/testdata/check_format/header_order.cc.gold index ff515ddd97db..bb098bb0ac98 100644 --- a/tools/testdata/check_format/header_order.cc.gold +++ b/tools/testdata/check_format/header_order.cc.gold @@ -19,7 +19,7 @@ #include "common/api/os_sys_calls_impl.h" #include "common/common/utility.h" #include "common/common/version.h" -#include "common/common/resources.h" +#include "common/config/resources.h" #include "common/config/utility.h" #include "common/local_info/local_info_impl.h" #include "common/memory/stats.h" @@ -42,4 +42,4 @@ namespace Envoy { // Something awesome goes here. -} // namespace Envoy +} // namespace Envoy \ No newline at end of file