grpc-go icon indicating copy to clipboard operation
grpc-go copied to clipboard

xdsclient: add an e2e style test for fallback involving more than 2 servers

Open easwars opened this issue 1 year ago • 3 comments

At a high level, we want the test to do the following:

  • Configure three management servers: primary, secondary1 and secondary2
  • Create a bootstrap configuration with an authority that contains server configurations for all the above three servers
  • Create a grpc channel with the xds scheme, that results in the creation of an xds client that uses the above bootstrap configuration
  • Primary should not return all requested xds resources and there should be a stream failure
  • This should trigger fallback to secondary1, which should also not return all requested xds resources, and again there should be a stream failure
  • This should trigger fallback to secondary2, which should return all requested xds resources
  • Ensure that RPCs succeed using the configuration from secondary2
  • Bring secondary1 back up and ensure that it serves the full configuration
  • Ensure that RPCs succeed, now using the configuration from secondary1
  • Bring primary back up and ensure that it serves the full configuration
  • Ensure that RPCs succeed, now using the configuration form the primary

easwars avatar Nov 06 '24 20:11 easwars

@easwars can this be assigned to @pranjali-2501 if you're not working on this?

arjan-bal avatar Apr 02 '25 05:04 arjan-bal

Sure.

easwars avatar Apr 02 '25 13:04 easwars

Decided NOT to assign this issue to Pranjali.

arjan-bal avatar Apr 03 '25 05:04 arjan-bal

Existing fallback tests for reference: https://github.com/grpc/grpc-go/blob/master/xds/internal/xdsclient/tests/fallback_test.go

arjan-bal avatar Jun 18 '25 05:06 arjan-bal

@arjan-bal Please assign the issue to me.

vinothkumarr227 avatar Jun 23 '25 05:06 vinothkumarr227