Skip to content

xdsclient: store server config for LRS server in xdsresource.ClusterUpdate #6896

Closed
@easwars

Description

@easwars

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:
  • 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 Cluster resource 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 Decode method 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 Cluster resource implementation in the data model layer will use this field to populate the LRS server config.
    • The code in the cds LB policy to populate the LRS server config needs to be removed.

Metadata

Metadata

Assignees

Labels

P2Type: FeatureNew features or improvements in behavior

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions