-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Remove v1alpha1 Runs Client setup in init test #6571
Conversation
/test pull-tekton-pipeline-integration-tests |
@@ -291,15 +291,6 @@ func getCRDYaml(ctx context.Context, cs *clients, ns string) ([]byte, error) { | |||
printOrAdd(i) | |||
} | |||
|
|||
v1alpha1Runs, err := cs.V1alpha1RunClient.List(ctx, metav1.ListOptions{}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I may be missing some context here.
If this is panicking, shouldn't we try to fix the panic instead of removing this part of the test altogether? (my assumption is because the client isn't present?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Billy. I was mistaken thought that with the removal of clients setup at
Lines 101 to 112 in a7424c4
c.V1beta1PipelineClient = cs.TektonV1beta1().Pipelines(namespace) | |
c.V1beta1ClusterTaskClient = cs.TektonV1beta1().ClusterTasks() | |
c.V1beta1TaskClient = cs.TektonV1beta1().Tasks(namespace) | |
c.V1beta1TaskRunClient = cs.TektonV1beta1().TaskRuns(namespace) | |
c.V1beta1PipelineRunClient = cs.TektonV1beta1().PipelineRuns(namespace) | |
c.V1beta1CustomRunClient = cs.TektonV1beta1().CustomRuns(namespace) | |
c.V1alpha1ResolutionRequestclient = rrcs.ResolutionV1alpha1().ResolutionRequests(namespace) | |
c.V1alpha1VerificationPolicyClient = cs.TektonV1alpha1().VerificationPolicies(namespace) | |
c.V1PipelineClient = cs.TektonV1().Pipelines(namespace) | |
c.V1TaskClient = cs.TektonV1().Tasks(namespace) | |
c.V1TaskRunClient = cs.TektonV1().TaskRuns(namespace) | |
c.V1PipelineRunClient = cs.TektonV1().PipelineRuns(namespace) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
when running the following e2e test on local branch the following error occured.
Currently debugging through the reason why it failed but I think the removed line 294 in init_test could be the reason it failed
± |v1-storage → origin ↑1 ↓2 {51} U:2 ✗| → go test -v -tags=e2e -count=1 ./test -run ^TestLargerResultsSidecarLogs
=== RUN TestLargerResultsSidecarLogs
=== PAUSE TestLargerResultsSidecarLogs
=== CONT TestLargerResultsSidecarLogs
=== RUN TestLargerResultsSidecarLogs/larger_results_via_sidecar_logs
=== PAUSE TestLargerResultsSidecarLogs/larger_results_via_sidecar_logs
=== CONT TestLargerResultsSidecarLogs/larger_results_via_sidecar_logs
larger_results_sidecar_logs_test.go:69: Create namespace arendelle-qtjd7 to deploy to
larger_results_sidecar_logs_test.go:69: Verify SA "default" is created in namespace "arendelle-qtjd7"
larger_results_sidecar_logs_test.go:74: Setting up test resources for "larger results via sidecar logs" test in namespace arendelle-qtjd7
larger_results_sidecar_logs_test.go:82: Waiting for PipelineRun larger-results-sidecar-logs in namespace arendelle-qtjd7 to complete
larger_results_sidecar_logs_test.go:84: Error waiting for PipelineRun larger-results-sidecar-logs to finish: "larger-results-sidecar-logs" failed
panic.go:522: ############################################
panic.go:522: ### Dumping objects from arendelle-qtjd7 ###
panic.go:522: ############################################
--- FAIL: TestLargerResultsSidecarLogs (14.11s)
--- FAIL: TestLargerResultsSidecarLogs/larger_results_via_sidecar_logs (14.11s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x38 pc=0x103dfed20]
goroutine 12 [running]:
testing.tRunner.func1.2({0x1044ec4a0, 0x105cf9360})
/usr/local/go/src/testing/testing.go:1526 +0x1c8
testing.tRunner.func1()
/usr/local/go/src/testing/testing.go:1529 +0x384
panic({0x1044ec4a0, 0x105cf9360})
/usr/local/go/src/runtime/panic.go:884 +0x204
github.com/tektoncd/pipeline/test.getCRDYaml({0x104924b98, 0x1400036fd10}, 0x14000328b60, {0x14000304d30, 0xf})
/Users/jeromeju/go/src/github.com/tektoncd/pipeline/test/init_test.go:294 +0xab0
github.com/tektoncd/pipeline/test.tearDown({0x104924b98, 0x1400036fd10}, 0x14000573520, 0x14000328b60, {0x14000304d30, 0xf})
/Users/jeromeju/go/src/github.com/tektoncd/pipeline/test/init_test.go:98 +0xc0
runtime.Goexit()
/usr/local/go/src/runtime/panic.go:522 +0x180
testing.(*common).FailNow(0x14000573520)
/usr/local/go/src/testing/testing.go:980 +0x44
testing.(*common).Fatalf(0x14000573520, {0x103e9a76d?, 0x14000328b60?}, {0x14000d1fef0?, 0x1b?, 0x0?})
/usr/local/go/src/testing/testing.go:1064 +0x60
github.com/tektoncd/pipeline/test.TestLargerResultsSidecarLogs.func1(0x14000573520)
/Users/jeromeju/go/src/github.com/tektoncd/pipeline/test/larger_results_sidecar_logs_test.go:84 +0x4b8
testing.tRunner(0x14000573520, 0x14000945290)
/usr/local/go/src/testing/testing.go:1576 +0x10c
created by testing.(*T).Run
/usr/local/go/src/testing/testing.go:1629 +0x368
FAIL github.com/tektoncd/pipeline/test 15.322s
FAIL
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm noticing this on other PRs too, for example https://storage.googleapis.com/tekton-prow/pr-logs/pull/tektoncd_pipeline/6516/pull-tekton-pipeline-alpha-integration-tests/1649485487607386112/build-log.txt
It seems like this was introduced by #6508, but I'm not sure why it is nondeterministic
Thanks Lee!
Might be wrong but I didn't remove this because I thought we might want to leave the clients struct that is available to fetch alpha1 Runs during the release version upgrading?
Updated the commit message. Currently I haven't been able to reproduce this on remote/main but in remote/v1-storage branch it persists when I run e2e against test ie. TestLargerResultsSidecarLogs. Currently working on it and I will file an issue once I am able to reproduce on main. |
v1alpha1 Run client is still available in pkg/client. The file I linked is used only in tekton pipelines tests, which don't test v1alpha1 Runs anymore.
Here's an example of the same failure on a documentation PR: https://storage.googleapis.com/tekton-prow/pr-logs/pull/tektoncd_pipeline/6567/pull-tekton-pipeline-alpha-integration-tests/1649045464097492992/build-log.txt |
This commit removes the alpha1 Runs client setup in init_test because the v1alpha1 Run support has been removed according to TEP-114. The error occurs during e2e tests that is introduced as a flake: ie. https://storage.googleapis.com/tekton-prow/pr-logs/pull/tektoncd_pipeline/6567/pull-tekton-pipeline-alpha-integration-tests/1649045464097492992/build-log.txt
Thank you. Updated (thought that an issue is required to help understand the flake but it seems sufficient with the log.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Jerome! I still need to think more about why this behavior is nondeterministic, not sure yet.
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: lbernick The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Alpha test failure for this PR: https://storage.googleapis.com/tekton-prow/pr-logs/pull/tektoncd_pipeline/6571/pull-tekton-pipeline-alpha-integration-tests/1650488907080404992/build-log.txt
this looks like an actual transient issue unrelated to the problem this PR fixes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Changes
This commit removes the alpha1 Runs client setup in init_test
because the v1alpha1 Run support has been removed according to
TEP-114. The error occurs during e2e tests that is introduced as
a flake:
ie. https://storage.googleapis.com/tekton-prow/pr-logs/pull/tektoncd_pipeline/6567/pull-tekton-pipeline-alpha-integration-tests/1649045464097492992/build-log.txt
/kind misc
Submitter Checklist
As the author of this PR, please check off the items in this checklist:
/kind <type>
. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tepRelease Notes