@@ -19,9 +19,9 @@ namespace Config {
19
19
SubscriptionFactoryImpl::SubscriptionFactoryImpl (
20
20
const LocalInfo::LocalInfo& local_info, Event::Dispatcher& dispatcher,
21
21
Upstream::ClusterManager& cm, ProtobufMessage::ValidationVisitor& validation_visitor,
22
- Api::Api& api, Runtime::Loader& runtime )
22
+ Api::Api& api)
23
23
: local_info_(local_info), dispatcher_(dispatcher), cm_(cm),
24
- validation_visitor_ (validation_visitor), api_(api), runtime_(runtime) {}
24
+ validation_visitor_ (validation_visitor), api_(api) {}
25
25
26
26
SubscriptionPtr SubscriptionFactoryImpl::subscriptionFromConfigSource (
27
27
const envoy::config::core::v3::ConfigSource& config, absl::string_view type_url,
@@ -41,24 +41,7 @@ SubscriptionPtr SubscriptionFactoryImpl::subscriptionFromConfigSource(
41
41
const envoy::config::core::v3::ApiConfigSource& api_config_source = config.api_config_source ();
42
42
Utility::checkApiConfigSourceSubscriptionBackingCluster (cm_.primaryClusters (),
43
43
api_config_source);
44
- const auto transport_api_version = api_config_source.transport_api_version ();
45
- if (transport_api_version == envoy::config::core::v3::ApiVersion::AUTO ||
46
- transport_api_version == envoy::config::core::v3::ApiVersion::V2) {
47
- runtime_.countDeprecatedFeatureUse ();
48
- const std::string& warning = fmt::format (
49
- " V2 (and AUTO) xDS transport protocol versions are deprecated in {}. "
50
- " The v2 xDS major version is deprecated and disabled by default. Support for v2 will be "
51
- " removed from Envoy at the start of Q1 2021. You may make use of v2 in Q4 2020 by "
52
- " following the advice in https://www.envoyproxy.io/docs/envoy/latest/faq/api/transition." ,
53
- config.DebugString ());
54
- ENVOY_LOG (warn, warning);
55
- auto & runtime_snapshot = runtime_.snapshot ();
56
- if (!runtime_snapshot.runtimeFeatureEnabled (
57
- " envoy.reloadable_features.enable_deprecated_v2_api" )) {
58
- throw DeprecatedMajorVersionException (warning);
59
- }
60
- }
61
-
44
+ const auto transport_api_version = Utility::getAndCheckTransportVersion (api_config_source);
62
45
switch (api_config_source.api_type ()) {
63
46
case envoy::config::core::v3::ApiConfigSource::hidden_envoy_deprecated_UNSUPPORTED_REST_LEGACY:
64
47
throw EnvoyException (
@@ -70,19 +53,18 @@ SubscriptionPtr SubscriptionFactoryImpl::subscriptionFromConfigSource(
70
53
local_info_, cm_, api_config_source.cluster_names ()[0 ], dispatcher_,
71
54
api_.randomGenerator (), Utility::apiConfigSourceRefreshDelay (api_config_source),
72
55
Utility::apiConfigSourceRequestTimeout (api_config_source),
73
- restMethod (type_url, api_config_source. transport_api_version ()) , type_url,
74
- api_config_source. transport_api_version (), callbacks, resource_decoder, stats,
75
- Utility::configSourceInitialFetchTimeout (config), validation_visitor_);
56
+ restMethod (type_url, transport_api_version) , type_url, transport_api_version, callbacks ,
57
+ resource_decoder, stats, Utility::configSourceInitialFetchTimeout (config) ,
58
+ validation_visitor_);
76
59
case envoy::config::core::v3::ApiConfigSource::GRPC:
77
60
return std::make_unique<GrpcSubscriptionImpl>(
78
61
std::make_shared<Config::GrpcMuxImpl>(
79
62
local_info_,
80
63
Utility::factoryForGrpcApiConfigSource (cm_.grpcAsyncClientManager (),
81
64
api_config_source, scope, true )
82
65
->create (),
83
- dispatcher_, sotwGrpcMethod (type_url, api_config_source.transport_api_version ()),
84
- api_config_source.transport_api_version (), api_.randomGenerator (), scope,
85
- Utility::parseRateLimitSettings (api_config_source),
66
+ dispatcher_, sotwGrpcMethod (type_url, transport_api_version), transport_api_version,
67
+ api_.randomGenerator (), scope, Utility::parseRateLimitSettings (api_config_source),
86
68
api_config_source.set_node_on_first_message_only ()),
87
69
callbacks, resource_decoder, stats, type_url, dispatcher_,
88
70
Utility::configSourceInitialFetchTimeout (config),
@@ -93,9 +75,9 @@ SubscriptionPtr SubscriptionFactoryImpl::subscriptionFromConfigSource(
93
75
Config::Utility::factoryForGrpcApiConfigSource (cm_.grpcAsyncClientManager (),
94
76
api_config_source, scope, true )
95
77
->create (),
96
- dispatcher_, deltaGrpcMethod (type_url, api_config_source. transport_api_version ()) ,
97
- api_config_source. transport_api_version (), api_.randomGenerator (), scope,
98
- Utility::parseRateLimitSettings (api_config_source), local_info_),
78
+ dispatcher_, deltaGrpcMethod (type_url, transport_api_version), transport_api_version ,
79
+ api_.randomGenerator (), scope, Utility::parseRateLimitSettings (api_config_source) ,
80
+ local_info_),
99
81
callbacks, resource_decoder, stats, type_url, dispatcher_,
100
82
Utility::configSourceInitialFetchTimeout (config), false );
101
83
}
0 commit comments