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

Conformance Validation #1096

Open
grampelberg opened this issue Jun 8, 2018 · 6 comments
Open

Conformance Validation #1096

grampelberg opened this issue Jun 8, 2018 · 6 comments

Comments

@grampelberg
Copy link
Contributor

grampelberg commented Jun 8, 2018

What problem are you trying to solve?

check does a great job of validating the health of the control plane and making sure that an install happened. Unfortunately, check is limited to only reading from the cluster and not running any actual workloads. This makes it challenging to know whether interactions between the control plane and data plane are working successfully.

How should the problem be solved?

Create a new tool that adds sample workloads to the cluster and runs something similar to integration tests against the installation. This will test things such as injection, policies and load limits for the cluster itself.

An example of conformance validation for kubernetes is: Sonobuoy.

Any alternatives you've considered?

It is possible to simply run through getting started today. This ends up exercising many of the same use cases. However, walking through getting started leaves much of the debugging and actual testing up to new users who might not know what they should be exercising. As an example, getting started does not currently test ingress, route based metrics or distributed tracing. All of these features could be exercised with a conformance testing suite.

How would users interact with this feature?

There should be a new set of CLI commands that can start, monitor and report on conformance testing.

@grampelberg
Copy link
Contributor Author

This is somewhat related to #2079 .

@Tom-Fitzpatrick
Copy link

Hi, would love to work on this issue as part of GSoC. I was wondering where in the codebase you envisage this being implemented? I've been familiarizing myself with it over the last few days and just want to try get some more context how I might tackle this.

@grampelberg
Copy link
Contributor Author

The tests would be drawn from the integration test suite. The way you'd kick it off would probably be via a CLI command, such as linkerd conformance.

@Tom-Fitzpatrick
Copy link

Perfect, thanks for the quick response, I'll focus on understanding the testutils and the current tests for now so.
Just in terms of testing the operation of the control plane, say for an operator who just installed linkerd. What aspects of operation would I look at testing first?

@grampelberg
Copy link
Contributor Author

check is probably good enough for the operator who just installed linkerd. This is more about workloads, stressing the system and verifying that the environment is 100% sane. That's where the integration tests come in.

@Tom-Fitzpatrick
Copy link

Ok, that makes sense, thanks. Definitely something I'd be interested on working on more. I've started a proposal for GSoC, planning on getting the draft in tomorrow and continuing to wrap my head around linkerd and this issue until the final submission. Either way, looking forward to getting a better understanding of it all!

@grampelberg grampelberg reopened this Feb 4, 2020
@grampelberg grampelberg added the rfc label Feb 4, 2020
@grampelberg grampelberg changed the title rfc: conformance validation Conformance V0alidation Feb 4, 2020
@grampelberg grampelberg changed the title Conformance V0alidation Conformance Validation Feb 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants