Skip to content

Commit

Permalink
xDS: add fields specified in xRFC TP3 (#37818)
Browse files Browse the repository at this point in the history
Signed-off-by: Mark D. Roth <[email protected]>
  • Loading branch information
markdroth authored Jan 2, 2025
1 parent 7ee3674 commit 47231ff
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 2 deletions.
29 changes: 27 additions & 2 deletions api/envoy/service/discovery/v3/discovery.proto
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,17 @@ message ResourceName {
DynamicParameterConstraints dynamic_parameter_constraints = 2;
}

// [#not-implemented-hide:]
// An error associated with a specific resource name, returned to the
// client by the server.
message ResourceError {
// The name of the resource.
ResourceName resource_name = 1;

// The error reported for the resource.
google.rpc.Status error_detail = 2;
}

// A DiscoveryRequest requests a set of versioned resources of the same type for
// a given Envoy node on some API.
// [#next-free-field: 8]
Expand Down Expand Up @@ -96,7 +107,7 @@ message DiscoveryRequest {
google.rpc.Status error_detail = 6;
}

// [#next-free-field: 7]
// [#next-free-field: 8]
message DiscoveryResponse {
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.DiscoveryResponse";

Expand Down Expand Up @@ -138,6 +149,13 @@ message DiscoveryResponse {

// The control plane instance that sent the response.
config.core.v3.ControlPlane control_plane = 6;

// [#not-implemented-hide:]
// Errors associated with specific resources. Clients are expected to
// remember the most recent error for a given resource across responses;
// the error condition is not considered to be cleared until a response is
// received that contains the resource in the 'resources' field.
repeated ResourceError resource_errors = 7;
}

// DeltaDiscoveryRequest and DeltaDiscoveryResponse are used in a new gRPC
Expand Down Expand Up @@ -247,7 +265,7 @@ message DeltaDiscoveryRequest {
google.rpc.Status error_detail = 7;
}

// [#next-free-field: 9]
// [#next-free-field: 10]
message DeltaDiscoveryResponse {
option (udpa.annotations.versioning).previous_message_type =
"envoy.api.v2.DeltaDiscoveryResponse";
Expand Down Expand Up @@ -281,6 +299,13 @@ message DeltaDiscoveryResponse {
// [#not-implemented-hide:]
// The control plane instance that sent the response.
config.core.v3.ControlPlane control_plane = 7;

// [#not-implemented-hide:]
// Errors associated with specific resources. Note that a resource in
// this field with a status of NOT_FOUND should be treated the same as
// a resource listed in the 'removed_resources' or 'removed_resource_names'
// fields.
repeated ResourceError resource_errors = 9;
}

// A set of dynamic parameter constraints associated with a variant of an individual xDS resource.
Expand Down
5 changes: 5 additions & 0 deletions api/envoy/service/status/v3/csds.proto
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@ enum ClientConfigStatus {
// config dump is not the NACKed version, but the most recent accepted one. If
// no config is accepted yet, the attached config dump will be empty.
CLIENT_NACKED = 3;

// Client received an error from the control plane. The attached config
// dump is the most recent accepted one. If no config is accepted yet,
// the attached config dump will be empty.
CLIENT_RECEIVED_ERROR = 4;
}

// Request for client status of clients identified by a list of NodeMatchers.
Expand Down

0 comments on commit 47231ff

Please sign in to comment.