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 Server automated testing #177

Open
youngnick opened this issue Jul 28, 2022 · 6 comments
Open

xDS Server automated testing #177

youngnick opened this issue Jul 28, 2022 · 6 comments
Labels
area/ci CI and build related issues area/xds-server Issues related to the xDS Server used for managing Envoy configuration. help wanted Extra attention is needed priority/medium Label used to express the "medium" priority level
Milestone

Comments

@youngnick
Copy link
Contributor

Description:

#176 introduces an xdstest command, which instantiates an xDS server to perform manual testing against. This issue covers work to turn this into an automated test that can be run by CI or locally.

The largest part of this work is that it will require an xDS client test library that supports:

  • connecting to an xDS server
  • accepting updates
  • Comparing the updates to an expected outcome

Because this process is asynchronous and requires multiple goroutines working together to work, there's a bit of design work to ensure that the testing framework isn't its own source of bugs.

@youngnick youngnick added area/ci CI and build related issues area/xds-server Issues related to the xDS Server used for managing Envoy configuration. labels Jul 28, 2022
@danehans
Copy link
Contributor

xref: https://github.com/miekg/xds as xds client prior art.

@danehans danehans added this to the 0.2.0-rc1 milestone Aug 2, 2022
@youngnick youngnick self-assigned this Aug 2, 2022
@youngnick youngnick modified the milestones: 0.2.0-rc1, 0.2.0 Aug 2, 2022
@youngnick youngnick added the help wanted Extra attention is needed label Aug 2, 2022
@youngnick youngnick modified the milestones: 0.2.0, 0.2.0-rc2 Aug 4, 2022
@arkodg arkodg self-assigned this Aug 22, 2022
@arkodg arkodg removed the help wanted Extra attention is needed label Aug 22, 2022
@danehans
Copy link
Contributor

@youngnick pinging you on this since RC2 is 16 days away. It would be a big help to the project if you can still take this issue on. If not, can you document how you would resolve this issue, and maybe someone else can take on the issue?

@arkodg
Copy link
Contributor

arkodg commented Sep 12, 2022

hey @danehans I plan on working on this

@youngnick
Copy link
Contributor Author

Yeah, sorry, I thought I would have more bandwidth to work on this. But I doubt I will before RC2, so it's better that Arko does it.

@arkodg, my plan was to have a test xDS client that mimics being an Envoy, starts the xDS conversation, and then can pass what it gets to the testing framework for comparison. Contour has a command contour cli that does this in a reasonably general case, but aside from that I couldn't find anything in go-control-plane that did the same function.

@danehans danehans modified the milestones: 0.2.0-rc2, 0.2.0 Sep 20, 2022
@arkodg arkodg removed their assignment Oct 13, 2022
@arkodg arkodg added the help wanted Extra attention is needed label Oct 13, 2022
@arkodg
Copy link
Contributor

arkodg commented Oct 13, 2022

busy with other issues, unassigned myself for now, in case someone wants to pick this one up

@danehans danehans modified the milestones: 0.2.0, 0.3.0-rc.1 Oct 18, 2022
@arkodg
Copy link
Contributor

arkodg commented Oct 28, 2022

linking tetratelabs/func-e#433 here which should allow downstream projects like this one to programmatically run envoy which can be used for xds server end to end testing

@danehans danehans added the priority/medium Label used to express the "medium" priority level label Nov 8, 2022
@danehans danehans modified the milestones: 0.3.0-rc.1, 0.3.0 Jan 5, 2023
@danehans danehans removed this from the 0.3.0 milestone Feb 7, 2023
@danehans danehans added this to the 0.4.0-rc.1 milestone Feb 7, 2023
@arkodg arkodg modified the milestones: 0.4.0-rc.1, Backlog Mar 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ci CI and build related issues area/xds-server Issues related to the xDS Server used for managing Envoy configuration. help wanted Extra attention is needed priority/medium Label used to express the "medium" priority level
Projects
None yet
Development

No branches or pull requests

3 participants