diff --git a/xds/third_party/xds/import.sh b/xds/third_party/xds/import.sh index d7054e3b47..1f80275bbe 100755 --- a/xds/third_party/xds/import.sh +++ b/xds/third_party/xds/import.sh @@ -18,7 +18,7 @@ set -e BRANCH=main # import VERSION from one of the google internal CLs -VERSION=d92e9ce0af512a73a3a126b32fa4920bee12e180 +VERSION=06c439db220b89134a8a49bad41994560d6537c6 GIT_REPO="https://github.com/cncf/xds.git" GIT_BASE_DIR=xds SOURCE_PROTO_BASE_DIR=xds diff --git a/xds/third_party/xds/src/main/proto/udpa/type/v1/typed_struct.proto b/xds/third_party/xds/src/main/proto/udpa/type/v1/typed_struct.proto index f96625d926..10eaef1a66 100644 --- a/xds/third_party/xds/src/main/proto/udpa/type/v1/typed_struct.proto +++ b/xds/third_party/xds/src/main/proto/udpa/type/v1/typed_struct.proto @@ -11,7 +11,6 @@ option java_multiple_files = true; option java_package = "com.github.udpa.udpa.type.v1"; option go_package = "github.com/cncf/xds/go/udpa/type/v1"; -import "validate/validate.proto"; import "google/protobuf/struct.proto"; // A TypedStruct contains an arbitrary JSON serialized protocol buffer message with a URL that diff --git a/xds/third_party/xds/src/main/proto/xds/core/v3/collection_entry.proto b/xds/third_party/xds/src/main/proto/xds/core/v3/collection_entry.proto index 043a9c421f..c844d614e4 100644 --- a/xds/third_party/xds/src/main/proto/xds/core/v3/collection_entry.proto +++ b/xds/third_party/xds/src/main/proto/xds/core/v3/collection_entry.proto @@ -20,15 +20,17 @@ option (xds.annotations.v3.file_status).work_in_progress = true; // appearing inside a list collection resource. List collection resources are // regular Resource messages of type: // -// message Collection { -// repeated CollectionEntry resources = 1; -// } +// .. code-block:: proto +// +// message Collection { +// repeated CollectionEntry resources = 1; +// } // message CollectionEntry { // Inlined resource entry. message InlineEntry { - // Optional name to describe the inlined resource. Resource names must - // [a-zA-Z0-9_-\./]+ (TODO(htuch): turn this into a PGV constraint once + // Optional name to describe the inlined resource. Resource names must match + // ``[a-zA-Z0-9_-\./]+`` (TODO(htuch): turn this into a PGV constraint once // finalized, probably should be a RFC3986 pchar). This name allows // reference via the #entry directive in ResourceLocator. string name = 1 [(validate.rules).string.pattern = "^[0-9a-zA-Z_\\-\\.~:]+$"]; diff --git a/xds/third_party/xds/src/main/proto/xds/core/v3/context_params.proto b/xds/third_party/xds/src/main/proto/xds/core/v3/context_params.proto index 2a0c079e5d..a42c7a8596 100644 --- a/xds/third_party/xds/src/main/proto/xds/core/v3/context_params.proto +++ b/xds/third_party/xds/src/main/proto/xds/core/v3/context_params.proto @@ -15,6 +15,7 @@ option (xds.annotations.v3.file_status).work_in_progress = true; // global context parameters, per-resource type client feature capabilities and per-resource // type functional attributes. All per-resource type attributes will be `xds.resource.` // prefixed and some of these are documented below: +// // `xds.resource.listening_address`: The value is "IP:port" (e.g. "10.1.1.3:8080") which is // the listening address of a Listener. Used in a Listener resource query. message ContextParams { diff --git a/xds/third_party/xds/src/main/proto/xds/data/orca/v3/orca_load_report.proto b/xds/third_party/xds/src/main/proto/xds/data/orca/v3/orca_load_report.proto index 9b8f03827d..5176c4faa0 100644 --- a/xds/third_party/xds/src/main/proto/xds/data/orca/v3/orca_load_report.proto +++ b/xds/third_party/xds/src/main/proto/xds/data/orca/v3/orca_load_report.proto @@ -23,7 +23,8 @@ message OrcaLoadReport { // Total RPS being served by an endpoint. This should cover all services that an endpoint is // responsible for. - uint64 rps = 3; + // Deprecated -- use ``rps_fractional`` field instead. + uint64 rps = 3 [deprecated = true]; // Application specific requests costs. Each value is an absolute cost (e.g. 3487 bytes of // storage) associated with the request. @@ -33,4 +34,8 @@ message OrcaLoadReport { // available, derived from the latest sample or measurement. map utilization = 5 [(validate.rules).map.values.double.gte = 0, (validate.rules).map.values.double.lte = 1]; + + // Total RPS being served by an endpoint. This should cover all services that an endpoint is + // responsible for. + double rps_fractional = 6 [(validate.rules).double.gte = 0]; } diff --git a/xds/third_party/xds/src/main/proto/xds/service/orca/v3/orca.proto b/xds/third_party/xds/src/main/proto/xds/service/orca/v3/orca.proto index addf62f1ce..03126cdcaa 100644 --- a/xds/third_party/xds/src/main/proto/xds/service/orca/v3/orca.proto +++ b/xds/third_party/xds/src/main/proto/xds/service/orca/v3/orca.proto @@ -11,8 +11,6 @@ import "xds/data/orca/v3/orca_load_report.proto"; import "google/protobuf/duration.proto"; -import "validate/validate.proto"; - // See section `Out-of-band (OOB) reporting` of the design document in // :ref:`https://github.com/envoyproxy/envoy/issues/6614`. diff --git a/xds/third_party/xds/src/main/proto/xds/type/v3/typed_struct.proto b/xds/third_party/xds/src/main/proto/xds/type/v3/typed_struct.proto index 5d7226c4bf..40d0a8dac8 100644 --- a/xds/third_party/xds/src/main/proto/xds/type/v3/typed_struct.proto +++ b/xds/third_party/xds/src/main/proto/xds/type/v3/typed_struct.proto @@ -7,7 +7,6 @@ option java_multiple_files = true; option java_package = "com.github.xds.type.v3"; option go_package = "github.com/cncf/xds/go/xds/type/v3"; -import "validate/validate.proto"; import "google/protobuf/struct.proto"; // A TypedStruct contains an arbitrary JSON serialized protocol buffer message with a URL that @@ -20,6 +19,7 @@ import "google/protobuf/struct.proto"; // When packing an opaque extension config, packing the expected type into Any is preferred // wherever possible for its efficiency. TypedStruct should be used only if a proto descriptor // is not available, for example if: +// // - A control plane sends opaque message that is originally from external source in human readable // format such as JSON or YAML. // - The control plane doesn't have the knowledge of the protocol buffer schema hence it cannot @@ -30,6 +30,7 @@ import "google/protobuf/struct.proto"; // When a DPLB receives a TypedStruct in Any, it should: // - Check if the type_url of the TypedStruct matches the type the extension expects. // - Convert value to the type described in type_url and perform validation. +// // TODO(lizan): Figure out how TypeStruct should be used with DPLB extensions that doesn't link // protobuf descriptor with DPLB itself, (e.g. gRPC LB Plugin, Envoy WASM extensions). message TypedStruct {