-
Notifications
You must be signed in to change notification settings - Fork 23
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
Enhance subctl to run a limited set of connectivity tests on selected nodes #697
Comments
I think it's of great use case to ensure high level connectivity b/w the managed clusters in just a few seconds/minutes of time. Particularly to Regional Disaster Recovery solution of ODF, it would be of great help I believe. |
Here what we do in the ramen project as a quick self test to ensure that submariner is working in our minikube testing environment: Basically we follow the usage guide:
The entire test run in 14 seconds after the initial DNS delay, and this is fast enough Our first issue is to wait until submariner is ready on both clusters we use The second issue we have is long delay - up to 60 seconds right after submariner is installed on a new minikube cluster, before the exported/imported service is available on the other cluster. See how we wait for DNS name here: We do this test in both directions - from cluster 1 to cluster 2 and from cluster 2 to cluster 1, by installing the same service with different namespaces, and by interleaving the deploments/waits so we can test both direction at once. This probably can be simplified using threads. It would be nice if subctl would provide a similar test, saving all this effort for every user that want this kind of quick connectivity test. |
For non-Globalnet connectivity, it runs 12 test specs:
@sridhargaddam For a basic verify, I assume we would drop 1, 2 and 10-12? 2-5 are Pod to Pod connectivity tests and 6-9 are Pod to Service connectivity tests, each with varying combinations of gateway and non-gateway nodes. Should we reduce it to just one combination each? eg non-gateway to gateway? For Globalnet it runs 12 test specs:
|
Thanks @tpantelis for summarizing the tests. I think we can run the following tests for basic verify. non-Globalnet deployments:[dataplane] Basic TCP connectivity tests across clusters without discovery when a pod connects via TCP to a remote pod when the pod is not on a gateway and the remote pod is not on a gateway ... [dataplane] Basic TCP connectivity tests across clusters without discovery when a pod connects via TCP to a remote pod when the pod is on a gateway and the remote pod is on a gateway ... [dataplane] Basic TCP connectivity tests across clusters without discovery when a pod connects via TCP to a remote service when the pod is not on a gateway and the remote service is not on a gateway ... [dataplane] Basic TCP connectivity tests across clusters without discovery when a pod connects via TCP to a remote service when the pod is on a gateway and the remote service is on a gateway ... Globalnet deployments:[dataplane-globalnet] Basic TCP connectivity tests across overlapping clusters without discovery when a pod connects via TCP to the globalIP of a remote service when the pod is not on a gateway and the remote service is not on a gateway ... [dataplane-globalnet] Basic TCP connectivity tests across overlapping clusters without discovery when a pod connects via TCP to the globalIP of a remote service when the pod is on a gateway and the remote service is on a gateway ... |
Related to submariner-io/subctl#697 Signed-off-by: Tom Pantelis <[email protected]>
...for reuse in other projects. Related to submariner-io/subctl#697 Signed-off-by: Tom Pantelis <[email protected]>
...to explicitly categorize them rather than prepending a string to the the spec description. Related to submariner-io/subctl#697 Signed-off-by: Tom Pantelis <[email protected]>
...to explicitly categorize them rather than prepending a string to the the spec description. Related to submariner-io/subctl#697 Signed-off-by: Tom Pantelis <[email protected]>
...for reuse in other projects. Related to submariner-io/subctl#697 Signed-off-by: Tom Pantelis <[email protected]>
...to explicitly categorize them rather than prepending a string to the the spec description. Also, label certain tests as "basic" as outlined in submariner-io/subctl#697 Signed-off-by: Tom Pantelis <[email protected]>
...to explicitly categorize them rather than prepending a string to the the spec description. Also, label certain tests as "basic" as outlined in submariner-io/subctl#697 Signed-off-by: Tom Pantelis <[email protected]>
Select the tests to run based on Ginkgo labels instead of test description patterns. The basic tests are specified via a new label defined in shipyard. Fixes submariner-io#697 Signed-off-by: Tom Pantelis <[email protected]>
Select the tests to run based on Ginkgo labels instead of test description patterns. The basic tests are specified via a new label defined in shipyard. Fixes submariner-io#697 Signed-off-by: Tom Pantelis <[email protected]>
Select the tests to run based on Ginkgo labels instead of test description patterns. The basic tests are specified via a new label defined in shipyard. Fixes submariner-io#697 Signed-off-by: Tom Pantelis <[email protected]>
Select the tests to run based on Ginkgo labels instead of test description patterns. The basic tests are specified via a new label defined in shipyard. Fixes submariner-io#697 Signed-off-by: Tom Pantelis <[email protected]>
Select the tests to run based on Ginkgo labels instead of test description patterns. The basic tests are specified via a new label defined in shipyard. From the CLI, the basic tests are invoked via '--only basic-connectivity'. Fixes submariner-io#697 Signed-off-by: Tom Pantelis <[email protected]>
Select the tests to run based on Ginkgo labels instead of test description patterns. The basic tests are specified via a new label defined in shipyard. From the CLI, the basic tests are invoked via '--only basic-connectivity'. Fixes submariner-io#697 Signed-off-by: Tom Pantelis <[email protected]>
Select the tests to run based on Ginkgo labels instead of test description patterns. The basic tests are specified via a new label defined in shipyard. From the CLI, the basic tests are invoked via '--only basic-connectivity'. Fixes #697 Signed-off-by: Tom Pantelis <[email protected]>
...to explicitly categorize them rather than prepending a string to the the spec description. Also, label certain tests as "basic" as outlined in submariner-io/subctl#697 Signed-off-by: Tom Pantelis <[email protected]>
Currently,
subctl verify --only connectivity ...
tests validate various use-cases and it usually takes sometime for the tests to complete. While troubleshooting issues, sometimes it would be helpful to have a sub-command which executes a limited number of datapath tests on selected nodes and returns the results. The idea is not to replace the existing e2e tests but to support validating a small sub-set of tests as a quick sanity check when time is a constraint.The following tests can be validated on the specified nodes:
Vanilla Submariner (i.e., nonGlobalnet) Deployments:
Globalnet Deployments:
The text was updated successfully, but these errors were encountered: