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

Default to using the golang-based conformance runner #916

Merged
merged 1 commit into from
Sep 29, 2019
Merged

Default to using the golang-based conformance runner #916

merged 1 commit into from
Sep 29, 2019

Conversation

johnSchnake
Copy link
Contributor

What this PR does / why we need it:
In Kubernetes 1.16.0 a problem in the bash runner of the conformance
tests caused the plugin to fail to report results whenever a test
failure occured.

This problem does not impact the golang-based runner which was
introduced also in Kubernetes 1.16.0. By default we would like to use
this feature as a result. It is a new feature but has been shown
so far to be functional and an improvement over the bash-based
runner (e.g. like this issue in general).

Users of Sonobuoy v0.16.0 should update to a version which utilizes
this env var by default, but they can also specify
--plugin-env e2e.E2E_USE_GO_RUNNER=true to workaround the issue.

If users of new versions of Sonobuoy wish to NOT use the go runner
they can also set --plugin-env e2e.E2E_USE_GO_RUNNER to unset the value.

Which issue(s) this PR fixes
Fixes #910

Special notes for your reviewer:
You can test this on older clusters but just use --kube-conformance-image-version=v1.16.0

If you want to repro, use current Sonobuoy master with this command:

sonobuoy gen --e2e-focus "SCHNAKE" --kube-conformance-image-version=v1.16.0 -n issue910 |sed 's/SCHNAKE/"\*"/' | kubectl apply -f -

That command will provide a bad regexp to the tests and they will immediately fail. On master, the container fails and 5 min later Sonobuoy will acknowledge that the container failed and stop waiting for the results to come in.

If you try the same command with this branch or by adding --plugin-env e2e.E2E_USE_GO_RUNNER=true you will see that the plugin completes but has unknown results since it submitted results but does not provide any xml since it never even got to test invocation.

Release note:

The default for running the E2E conformance tests will include setting E2E_USE_GO_RUNNER=true. There shouldn't be a large functional difference for most users but it should provide better error handling, better logging, and the ability for advanced users to provide additional flags to the test suite.

In Kubernetes 1.16.0 a problem in the bash runner of the conformance
tests caused the plugin to fail to report results whenever a test
failure occured.

This problem does not impact the golang-based runner which was
introduced also in Kubernetes 1.16.0. By default we would like to use
this feature as a result. It is a new feature but has been shown
so far to be functional and an improvement over the bash-based
runner (e.g. like this issue in general).

Users of Sonobuoy v0.16.0 should update to a version which utilizes
this env var by default, but they can also specify
--plugin-env e2e.E2E_USE_GO_RUNNER=true to workaround the issue.

If users of new versions of Sonobuoy wish to NOT use the go runner
they can also set --plugin-env e2e.E2E_USE_GO_RUNNER to unset the value.

Fixes #910

Signed-off-by: John Schnake <[email protected]>
@johnSchnake johnSchnake requested a review from zubron September 28, 2019 17:35
@codecov-io
Copy link

Codecov Report

Merging #916 into master will increase coverage by 0.04%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #916      +/-   ##
==========================================
+ Coverage   47.42%   47.47%   +0.04%     
==========================================
  Files          76       76              
  Lines        5155     5156       +1     
==========================================
+ Hits         2445     2448       +3     
+ Misses       2560     2559       -1     
+ Partials      150      149       -1
Impacted Files Coverage Δ
pkg/client/gen.go 84.82% <100%> (+0.96%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bf2fa52...f8a05d7. Read the comment docs.

Copy link
Contributor

@zubron zubron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! I haven't had a chance to test this locally, but the changes look good. If you want me to I can do that later today.

@johnSchnake johnSchnake merged commit 0e16b5e into vmware-tanzu:master Sep 29, 2019
@johnSchnake johnSchnake deleted the defaultToGoRunner branch September 29, 2019 01:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Failed e2e tests don't appear to be stored
3 participants