-
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
PipelineRun reconciler shouldn't care about how the Timeout
field is implemented in Custom Task Run.
#5653
Comments
TestWaitCustomTask_PipelineRun/Wait_Task_Retries_on_Timeout has been flaky for a while. see tektoncd#5653 for more details. This commit stops the PipelineRun reconciler from cancelling Run when it detects the Run times out.
TestWaitCustomTask_PipelineRun/Wait_Task_Retries_on_Timeout has been flaky for a while. see tektoncd#5653 for more details. This commit stops the PipelineRun reconciler from cancelling Run when it detects the Run times out.
Took another look at the timeout section of TEP-0002:
Therefore this is actually aligned with what's designed, but this exact implementation causes the flaky test results. The statement "timeout is updated to the run with same policy as it is for task runs" in the design is NOT true in the current implementation. For TaskRun, the PipelineRun reconciler doesn't care about how the TaskRunSpec.TimeOut -- TaskRun reconciler handles that. |
@XinruZhang: The label(s) In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/kind flake |
Do we want to remove pipeline/pkg/reconciler/pipelinerun/pipelinerun.go Lines 657 to 659 in 2b54123
At least we need to update TEP-0002 to reflect that PipelineRun reconciler doesn't cancel TaskRun when its run time bigger than TaskRunSpec.Timeout. It is worth mentiong here: prior to #5134, pipelinerun reconciler handles the timeout for taskrun. |
/assign |
TestWaitCustomTask_PipelineRun/Wait_Task_Retries_on_Timeout has been flaky for a while. see tektoncd#5653 for more details. This commit stops the PipelineRun reconciler from cancelling Run when it detects the Run times out.
@ScrapCodes, wondering if you have any thoughts 😀 |
Hi @XinruZhang , I want to respond to this and the other PR as well, currently I am working in a limited capacity and enjoying vacations upto Tuesday. Thanks! |
PipelineRun reconciler shouldn't care about how the Timeout field is implemented in Custom Task Run.
Currently in PipelineRun reconciler, it cancells the Run when it detects that Run is TimeOut:
pipeline/pkg/reconciler/pipelinerun/pipelinerun.go
Lines 657 to 659 in 2b54123
by calling
pipeline/pkg/apis/pipeline/v1alpha1/run_types.go
Lines 230 to 241 in 2b54123
This behavior leads to flaky unit test results now and then. See the test result of
TestWaitCustomTask_PipelineRun/Wait_Task_Retries_on_Timeout
inSay we have defined the following PipelineRun
Expected Behavior
custom-task-pipelinerun-run-wait
pipeline/pkg/reconciler/pipelinerun/pipelinerun.go
Lines 790 to 801 in 8399472
TimedOut
after1s
, example:pipeline/test/custom-task-ctrls/wait-task/pkg/reconciler/reconciler.go
Lines 126 to 139 in 8399472
TimedOut
, update itsChildReferences
orRunsStatus
:pipeline/pkg/reconciler/pipelinerun/pipelinerun.go
Lines 684 to 691 in 8399472
Actual Behavior
custom-task-pipelinerun-run-wait
pipeline/pkg/reconciler/pipelinerun/pipelinerun.go
Lines 790 to 801 in 8399472
processRunTimeouts
pipeline/pkg/reconciler/pipelinerun/pipelinerun.go
Lines 657 to 659 in 2b54123
pipeline/pkg/reconciler/pipelinerun/pipelinerun.go
Lines 718 to 725 in 2b54123
The text was updated successfully, but these errors were encountered: