Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions api/envoy/api/v2/route/route_components.proto
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ option (udpa.annotations.file_migrate).move_to_package = "envoy.config.route.v3"
// host header. This allows a single listener to service multiple top level domain path trees. Once
// a virtual host is selected based on the domain, the routes are processed in order to see which
// upstream cluster to route to or whether to perform a redirect.
// [#next-free-field: 19]
// [#next-free-field: 20]
message VirtualHost {
enum TlsRequirementType {
// No TLS requirement for the virtual host.
Expand Down Expand Up @@ -150,6 +150,13 @@ message VirtualHost {
// independently (e.g.: values are not inherited).
RetryPolicy retry_policy = 16;

// [#not-implemented-hide:]
// Specifies the configuration for retry policy extension. Note that setting a route level entry
// will take precedence over this config and it'll be treated independently (e.g.: values are not
// inherited). :ref:`Retry policy <envoy_api_field_route.VirtualHost.retry_policy>` should not be
// set if this field is used.
google.protobuf.Any retry_policy_typed_config = 19;

// Indicates the hedge policy for all routes in this virtual host. Note that setting a
// route level entry will take precedence over this config and it'll be treated
// independently (e.g.: values are not inherited).
Expand Down Expand Up @@ -535,7 +542,7 @@ message CorsPolicy {
core.RuntimeFractionalPercent shadow_enabled = 10;
}

// [#next-free-field: 33]
// [#next-free-field: 34]
message RouteAction {
enum ClusterNotFoundResponseCode {
// HTTP status code - 503 Service Unavailable.
Expand Down Expand Up @@ -878,6 +885,13 @@ message RouteAction {
// (e.g.: policies are not merged, most internal one becomes the enforced policy).
RetryPolicy retry_policy = 9;

// [#not-implemented-hide:]
// Specifies the configuration for retry policy extension. Note that if this is set, it'll take
// precedence over the virtual host level retry policy entirely (e.g.: policies are not merged,
// most internal one becomes the enforced policy). :ref:`Retry policy <envoy_api_field_route.VirtualHost.retry_policy>`
// should not be set if this field is used.
google.protobuf.Any retry_policy_typed_config = 33;

// Indicates that the route has a request mirroring policy.
//
// .. attention::
Expand Down
18 changes: 16 additions & 2 deletions api/envoy/config/route/v3/route_components.proto
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ option java_multiple_files = true;
// host header. This allows a single listener to service multiple top level domain path trees. Once
// a virtual host is selected based on the domain, the routes are processed in order to see which
// upstream cluster to route to or whether to perform a redirect.
// [#next-free-field: 19]
// [#next-free-field: 20]
message VirtualHost {
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.route.VirtualHost";

Expand Down Expand Up @@ -147,6 +147,13 @@ message VirtualHost {
// independently (e.g.: values are not inherited).
RetryPolicy retry_policy = 16;

// [#not-implemented-hide:]
// Specifies the configuration for retry policy extension. Note that setting a route level entry
// will take precedence over this config and it'll be treated independently (e.g.: values are not
// inherited). :ref:`Retry policy <envoy_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
// set if this field is used.
google.protobuf.Any retry_policy_typed_config = 19;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. The API no makes sense. I would also explain in the retry_policy docs that the converse holds. Also, we should add an example retry exension with typed config to the docs. It's OK to take that as an AI for our next PR.

Copy link
Member Author

@yxue yxue Mar 16, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would also explain in the retry_policy docs that the converse holds.

I'd like to add the exclusion comment in the retry_policy field but this field is marked as hidden and I cannot refer the field in the doc. Maybe I should just put the field there without reference?

I planned to add the retry policy extension example in the following PRs.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, this is fine for now.


// Indicates the hedge policy for all routes in this virtual host. Note that setting a
// route level entry will take precedence over this config and it'll be treated
// independently (e.g.: values are not inherited).
Expand Down Expand Up @@ -496,7 +503,7 @@ message CorsPolicy {
core.v3.RuntimeFractionalPercent shadow_enabled = 10;
}

// [#next-free-field: 33]
// [#next-free-field: 34]
message RouteAction {
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.route.RouteAction";

Expand Down Expand Up @@ -853,6 +860,13 @@ message RouteAction {
// (e.g.: policies are not merged, most internal one becomes the enforced policy).
RetryPolicy retry_policy = 9;

// [#not-implemented-hide:]
// Specifies the configuration for retry policy extension. Note that if this is set, it'll take
// precedence over the virtual host level retry policy entirely (e.g.: policies are not merged,
// most internal one becomes the enforced policy). :ref:`Retry policy <envoy_api_field_config.route.v3.VirtualHost.retry_policy>`
// should not be set if this field is used.
google.protobuf.Any retry_policy_typed_config = 33;

// Indicates that the route has request mirroring policies.
repeated RequestMirrorPolicy request_mirror_policies = 30;

Expand Down
18 changes: 16 additions & 2 deletions generated_api_shadow/envoy/api/v2/route/route_components.proto

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 16 additions & 2 deletions generated_api_shadow/envoy/config/route/v3/route_components.proto

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.