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

Make subctl verify output more useful #1099

Merged
merged 2 commits into from
Apr 23, 2024

Conversation

tpantelis
Copy link
Contributor

It's useful to see the names of test specs that were run. In order to do this, we need to set the Verbose flag in the ginkgo ReporterConfig but this also outputs the steps produced via the ginkgo.By function. We can use the --verbose CLI flag to suppress the ginkgo.By output by using the override provided by the shipyard framework. We can also eliminate the output for SynchronizedBeforeSuite/SynchronizedAfterSuite by calling framework.BeforeSuite/framework.RunCleanupActions directly.

See individual commits for details.

Here's the condensed output without the --verbose flag:

Performing the following verifications: basic-connectivity
  Running Suite: Submariner E2E suite - /go/src/github.com/submariner-io/subctl
  =============================================================================
  Random Seed: 1
  
  Will run 4 of 47 specs
  SSSSSS
  ------------------------------
  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 should have sent the expected data from the pod to the other pod [dataplane, basic]
  github.com/submariner-io/[email protected]/test/e2e/dataplane/tcp_pod_connectivity.go:38
  • [3.538 seconds]
  ------------------------------
  SS
  ------------------------------
  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 should have sent the expected data from the pod to the other pod [dataplane, basic]
  github.com/submariner-io/[email protected]/test/e2e/dataplane/tcp_pod_connectivity.go:38
  • [3.537 seconds]
  ------------------------------
  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 should have sent the expected data from the pod to the other pod [dataplane, basic]
  github.com/submariner-io/[email protected]/test/e2e/dataplane/tcp_pod_connectivity.go:38
  • [4.048 seconds]
  ------------------------------
  SS
  ------------------------------
  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 should have sent the expected data from the pod to the other pod [dataplane, basic]
  github.com/submariner-io/[email protected]/test/e2e/dataplane/tcp_pod_connectivity.go:38
  • [4.550 seconds]
  ------------------------------
  SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
  
  Ran 4 of 47 Specs in 15.676 seconds
  SUCCESS! -- 4 Passed | 0 Failed | 0 Pending | 43 Skipped

Here's the output with the --verbose flag (truncated to show only one test):

Performing the following verifications: basic-connectivity
  Apr  4 15:09:30.662: Creating kubernetes clients
  Apr  4 15:09:30.673: Creating submariner clients
  Apr  4 15:09:30.679: Creating lighthouse clients
  Running Suite: Submariner E2E suite - /go/src/github.com/submariner-io/subctl
  =============================================================================
  Random Seed: 1
  
  Will run 4 of 47 specs
  SSSSSS
  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 should have sent the expected data from the pod to the other pod [dataplane, basic]
  github.com/submariner-io/[email protected]/test/e2e/dataplane/tcp_pod_connectivity.go:38
  Apr  4 15:09:30.709: Creating namespace objects with basename "dataplane-conn-nd"
  Apr  4 15:09:30.712: Generated namespace "e2e-tests-dataplane-conn-nd-gqmfj" in cluster "cluster1" to execute the tests in
  Apr  4 15:09:30.712: Creating namespace "e2e-tests-dataplane-conn-nd-gqmfj" in cluster "cluster2"
  Apr  4 15:09:30.718: Creating a listener pod in cluster "cluster2", which will wait for a handshake over TCP
  Apr  4 15:09:31.727: Apr  4 15:09:31.727: INFO: Will send traffic to IP: 10.131.0.12
  
  Apr  4 15:09:31.727: Creating a connector pod in cluster "cluster1", which will attempt the specific UUID handshake over TCP
  Apr  4 15:09:31.733: Waiting for the connector pod "tcp-check-podw8qq7" to exit, returning what connector sent
  Apr  4 15:09:34.737: Apr  4 15:09:34.737: INFO: Pod "tcp-check-podw8qq7" on node "cluster1-control-plane" output:
  10.131.0.12 (10.131.0.12:1234) open
  [dataplane] listener says a3fe9f37-78e2-4881-81f8-2004c1f9f2d3
  
  
  Apr  4 15:09:34.737: Waiting for the listener pod "tcp-check-listenernjcvv" to exit, returning what listener sent
  Apr  4 15:09:34.739: Apr  4 15:09:34.739: INFO: Pod "tcp-check-listenernjcvv" on node "cluster2-control-plane" output:
  listening on 0.0.0.0:1234 ...
  connect to 10.131.0.12:1234 from 10.130.0.16:45981 (10.130.0.16:45981)
  [dataplane] connector says c0908c2b-ff48-4138-ad45-9f44ee9d1c65
  
  
  Apr  4 15:09:34.739: Apr  4 15:09:34.739: INFO: Connector pod has IP: 
  
  Apr  4 15:09:34.739: Verifying that the listener got the connector's data and the connector got the listener's data
  Apr  4 15:09:34.739: Verifying the output of listener pod which must contain the source IP
  Apr  4 15:09:34.739: Deleting namespace "e2e-tests-dataplane-conn-nd-gqmfj" on cluster "cluster1"
  Apr  4 15:09:34.743: Deleting namespace "e2e-tests-dataplane-conn-nd-gqmfj" on cluster "cluster2"
  • [4.037 seconds]
  ------------------------------
  <snip>
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
  
  Ran 4 of 47 Specs in 16.195 seconds
  SUCCESS! -- 4 Passed | 0 Failed | 0 Pending | 43 Skipped

Fixes #131

@submariner-bot
Copy link
Contributor

🤖 Created branch: z_pr1099/tpantelis/verify_output
🚀 Full E2E won't run until the "ready-to-test" label is applied. I will add it automatically once the PR has 2 approvals, or you can add it manually.

@tpantelis tpantelis self-assigned this Apr 4, 2024
@tpantelis tpantelis added the release-note-needed Should be mentioned in the release notes label Apr 11, 2024
@submariner-bot submariner-bot added the ready-to-test When a PR is ready for full E2E testing label Apr 23, 2024
@tpantelis tpantelis enabled auto-merge (rebase) April 23, 2024 17:47
@tpantelis tpantelis merged commit 3d8377b into submariner-io:devel Apr 23, 2024
30 checks passed
@submariner-bot
Copy link
Contributor

🤖 Closed branches: [z_pr1099/tpantelis/verify_output]

tpantelis added a commit to tpantelis/submariner-website that referenced this pull request Apr 24, 2024
tpantelis added a commit to tpantelis/submariner-website that referenced this pull request Apr 29, 2024
tpantelis added a commit to tpantelis/submariner-website that referenced this pull request Apr 29, 2024
tpantelis added a commit to submariner-io/submariner-website that referenced this pull request Apr 29, 2024
@tpantelis tpantelis deleted the verify_output branch June 3, 2024 18:37
tpantelis added a commit to tpantelis/submariner-website that referenced this pull request Jul 8, 2024
tpantelis added a commit to submariner-io/submariner-website that referenced this pull request Jul 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-test When a PR is ready for full E2E testing release-note-handled release-note-needed Should be mentioned in the release notes
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Make subctl verify output more useful
5 participants