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

There is no way to override default TaskRun timeout with "don't timeout at all" #978

Closed
abayer opened this issue Jun 12, 2019 · 6 comments · Fixed by #1040
Closed

There is no way to override default TaskRun timeout with "don't timeout at all" #978

abayer opened this issue Jun 12, 2019 · 6 comments · Fixed by #1040
Assignees
Labels
good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature.

Comments

@abayer
Copy link
Contributor

abayer commented Jun 12, 2019

Expected Behavior

There should be a way to say "don't ever timeout this TaskRun".

Actual Behavior

There isn't. If no timeout is specified on the PipelineRun, the TaskRun.Spec.Timeout is set to nil, and if that's nil, then the default timeout of 10 minutes kicks in instead.

Steps to Reproduce the Problem

  1. Create a PipelineRun with a Task that runs indefinitely.
  2. Don't specify a timeout on the PipelineRun.
  3. Watch it timeout after 10 minutes anyway.

Additional Info

Putting aside whether 10 minutes is actually an appropriate default timeout length (I'd lean strongly that it should be higher, but am creating a separate issue for that), the fact is that there is no way currently to create a PipelineRun that can, deliberately, run forever. That's a problem.

@vdemeester vdemeester added help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature. labels Jun 12, 2019
abayer added a commit to abayer/jx that referenced this issue Jun 12, 2019
Starting in Tekton Pipelines v0.4.0, the default timeout for
`TaskRun`s of 10 minutes when no timeout is specified is actually
enforced. The only way to specify a timeout for a `TaskRun` is by
setting a timeout on the `PipelineRun`, so until
tektoncd/pipeline#978 and/or
tektoncd/pipeline#979 are addressed, we
should just set a ridiculously high timeout on all `PipelineRun`s.

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
abayer added a commit to abayer/jx that referenced this issue Jun 12, 2019
Starting in Tekton Pipelines v0.4.0, the default timeout for
`TaskRun`s of 10 minutes when no timeout is specified is actually
enforced. The only way to specify a timeout for a `TaskRun` is by
setting a timeout on the `PipelineRun`, so until
tektoncd/pipeline#978 and/or
tektoncd/pipeline#979 are addressed, we
should just set a ridiculously high timeout on all `PipelineRun`s.

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
@bobcatfish
Copy link
Collaborator

Maybe a timeout setting of 0 to indicate no timeout?

@abayer
Copy link
Contributor Author

abayer commented Jun 12, 2019

That sounds perfect to me, yeah.

@bobcatfish bobcatfish added the good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. label Jun 12, 2019
@houshengbo
Copy link

houshengbo commented Jun 12, 2019

/assign @houshengbo
Let me play with the timeout.

jenkins-x-bot pushed a commit to jenkins-x/jx that referenced this issue Jun 13, 2019
…neRun to 240 hours (#4251)

* fix(tekton): Set a default PipelineRun timeout of 10 days

Starting in Tekton Pipelines v0.4.0, the default timeout for
`TaskRun`s of 10 minutes when no timeout is specified is actually
enforced. The only way to specify a timeout for a `TaskRun` is by
setting a timeout on the `PipelineRun`, so until
tektoncd/pipeline#978 and/or
tektoncd/pipeline#979 are addressed, we
should just set a ridiculously high timeout on all `PipelineRun`s.

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>

* fix(tekton): Allow configuring Pipeline timeout

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
@houshengbo
Copy link

@bobcatfish
It will be feasible that we set the timeout to 0, after we merge the PR: #996.

@houshengbo
Copy link

We are able to set the timeout to the value 0, and we can also set the timeout to nil.
If the timeout value is 0, we can take it as no timeout.
If it is still nil, we fall back to use the default 60 mins.
@abayer @bobcatfish Does it sound a plan?

@abayer
Copy link
Contributor Author

abayer commented Jul 3, 2019

Perfect!

daveconde pushed a commit to daveconde/jx that referenced this issue Apr 7, 2020
…neRun to 240 hours (jenkins-x#4251)

* fix(tekton): Set a default PipelineRun timeout of 10 days

Starting in Tekton Pipelines v0.4.0, the default timeout for
`TaskRun`s of 10 minutes when no timeout is specified is actually
enforced. The only way to specify a timeout for a `TaskRun` is by
setting a timeout on the `PipelineRun`, so until
tektoncd/pipeline#978 and/or
tektoncd/pipeline#979 are addressed, we
should just set a ridiculously high timeout on all `PipelineRun`s.

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>

* fix(tekton): Allow configuring Pipeline timeout

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants