-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Closed
Labels
Description
xdsresource.ClusterUpdate is the internal representation of a Cluster resource received from the xDS management server.
- It is defined here:
type ClusterUpdate struct { - It currently has a field for the LRS server config which is an enum that represents whether LRS is ON or OFF, and in the case where it is to be ON, the load reports are sent to the same server from which the resource was received.
- A47 mentions a few changes to be made here:
- LRS Server Representation
- XdsClient CDS Watcher
- As part of complying with A47, we need to instead store a bootstrap.ServerConfig in this field.
- A71 (xDS client fallback) adds supports for multiple server configs per xDS authority. This means that the actual server config corresponding to the server from which the
Clusterresource was received needs to be communicated from the xDS transport layer to the xDS data model layer.- Every resource type in the data model layer implements a
Decodemethod defined here:Decode(*DecodeOptions, *anypb.Any) (*DecodeResult, error) - A new field needs to be added to DecodeOptions to store the server config of the server from which this resource was received.
- The
Clusterresource implementation in the data model layer will use this field to populate the LRS server config. - The code in the
cdsLB policy to populate the LRS server config needs to be removed.
- Every resource type in the data model layer implements a