Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xds/federation: update xdsclient to support multi authority #5042

Merged

Commits on Dec 8, 2021

  1. [xds_client_federation_multi_controller] fed

    - added an authority struct
      - consists of controller (the xds stream) and an pubsub (cache for resources received from this authority)
    
    - an authority is created when the first watch is called on this authority, and deleted when the last watch is canceled
      - authorities are ref-counted
      - authorities are kept in a `map[server-config]authority`, note that key is the config, not authority name, so that two authoritie with different names but same config will share the xds stream and pubsub
      - authority is kept in a cache after deletion, and only actually deleted after a timeout, so it can be revived if a new watch is started
    
    - watch functions find (or build) the authority first, then call watch on this authority
      - they also handle ref/unref of the authority
    
    - dump (for CSDS) is updated to dump resources from all the authorities
    
    - resource handling (when unmarshalling receive xds resources) parses the resource name first, and then turns it back to a string, to canonicalize (especially the context parameters)
    
    - tests
      - update handler is only available after the watch is started, so many tests need updating
      - make many LDS/RDS/CDS/EDS tests share code, and also added a federation version
    menghanl committed Dec 8, 2021
    Copy the full SHA
    026827e View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2021

  1. Copy the full SHA
    b44e3fa View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    5f05c88 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2021

  1. Copy the full SHA
    db27ee3 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2021

  1. Copy the full SHA
    bf01036 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2021

  1. Copy the full SHA
    ef2f9c0 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    ddcc931 View commit details
    Browse the repository at this point in the history