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

Design and implement paused Task execution until condition is met #233

Closed
abayer opened this issue Nov 9, 2018 · 16 comments
Closed

Design and implement paused Task execution until condition is met #233

abayer opened this issue Nov 9, 2018 · 16 comments
Labels
area/roadmap Issues that are part of the project (or organization) roadmap (usually an epic) design This task is about creating and discussing a design help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. meaty-juicy-coding-work This task is mostly about implementation!!! And docs and tests of course but that's a given

Comments

@abayer
Copy link
Contributor

abayer commented Nov 9, 2018

Expected Behavior

A Task can be configured to not commence execution until a condition, such as a particular value being present in the TaskRun's metadata, is true.

  • This should be generic enough that the reason for commencing execution can be anything, e.g. it could be triggered by a user pushing a button in a UI, it could be a slack command
  • It must be possible to ensure that the mechanism that is commencing execution is authorized to do so (e.g. via a token)

Actual Behavior

Tasks always run to completion or failure

Additional Info

This would enable building features like manual approval or automated quality gates in higher-level applications utilizing Build Pipeline, rather than requiring that any specific "wait until X is true before executing this Task" functionality be built directly into the CRDs.

...this is my first attempt at creating an issue here, so feel free to rewrite as needed. =)

@bobcatfish
Copy link
Collaborator

Thanks for writing this up @abayer !

Would you see yourself expressing this at the level of the Pipeline or the Task itself? (I'm thinking Pipeline?)

@abayer
Copy link
Contributor Author

abayer commented Nov 10, 2018

Hmm. Good question. As part of the Pipeline reference to the Task does feel logical when I think about it. The Task could be used in multiple Pipelines that may not always all want the constraint. Good catch, thanks!

@bobcatfish
Copy link
Collaborator

@abayer do you see this as being a subtask of #27 or do you think this issue addresses separate concerns?

@abayer
Copy link
Contributor Author

abayer commented Nov 20, 2018

@bobcatfish Feels different to me - #27 is "should this Task execute at all" while this is "when should this Task execute". But I could be wrong.

@bobcatfish bobcatfish added help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. design This task is about creating and discussing a design meaty-juicy-coding-work This task is mostly about implementation!!! And docs and tests of course but that's a given labels Feb 27, 2019
@bobcatfish
Copy link
Collaborator

bobcatfish commented Feb 27, 2019

@bobcatfish Feels different to me - #27 is "should this Task execute at all" while this is "when should this Task execute". But I could be wrong.

Makes sense @abayer ! I also updated the description here with some requirements that @demobox shared with me, i.e. that pausing and resuming is really about async execution in general

@demobox
Copy link

demobox commented Feb 28, 2019

I also updated the description here with some requirements that @demobox shared with me

Thanks, @bobcatfish! Happy to elaborate on those if useful

@bobcatfish
Copy link
Collaborator

Happy to elaborate on those if useful

Always @demobox :D :D :D

@hrishin
Copy link
Member

hrishin commented Apr 5, 2019

hey @abayer @bobcatfish @demobox

Would you see yourself expressing this at the level of the Pipeline or the Task itself? (I'm thinking Pipeline?)

Considering this would it be fine to declare "wait until condition" at pipeline task (just like RunAfter) level rather task definition?

Could you please shed some light on this?

@naiduasn
Copy link

Hey, just want to check if we would see this getting implemented anytime soon.

@acim
Copy link

acim commented Apr 22, 2020

Is this going to allow a user interaction like in Jenkins Input Step?

For example, I would like to run "helmfile diff" task and then manually approve the continuation of the pipeline. The next task would probably be "helmfile sync", but it would be nice to manually review the diffs before approving it.

@tekton-robot
Copy link
Collaborator

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.

/lifecycle rotten

Send feedback to tektoncd/plumbing.

@tekton-robot
Copy link
Collaborator

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.

/lifecycle stale

Send feedback to tektoncd/plumbing.

@tekton-robot
Copy link
Collaborator

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

/close

Send feedback to tektoncd/plumbing.

@tekton-robot tekton-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. labels Aug 14, 2020
@tekton-robot
Copy link
Collaborator

@tekton-robot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

/close

Send feedback to tektoncd/plumbing.

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.

@tekton-robot tekton-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 14, 2020
@bobcatfish bobcatfish reopened this Aug 14, 2020
@bobcatfish
Copy link
Collaborator

This is in our roadmap

/lifecycle frozen

@tekton-robot tekton-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Aug 14, 2020
@bobcatfish
Copy link
Collaborator

I believe that #215 will solve this so I'm inclined to close it in favor of #215

@bobcatfish bobcatfish added the area/roadmap Issues that are part of the project (or organization) roadmap (usually an epic) label Aug 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/roadmap Issues that are part of the project (or organization) roadmap (usually an epic) design This task is about creating and discussing a design help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. meaty-juicy-coding-work This task is mostly about implementation!!! And docs and tests of course but that's a given
Projects
None yet
Development

No branches or pull requests

7 participants