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 task results in final tasks #2557

Closed
pritidesai opened this issue May 6, 2020 · 17 comments · Fixed by #3242
Closed

Design and implement task results in final tasks #2557

pritidesai opened this issue May 6, 2020 · 17 comments · Fixed by #3242
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@pritidesai
Copy link
Member

pritidesai commented May 6, 2020

finally at the pipeline level is on its way:

design doc
PR - which will be split into multiple PRs

First iteration of final tasks are implemented without task results and from clause for Pipeline Resources. In next iteration, please finalize the design for adding support for task results.

Reference:

@vdemeester
Copy link
Member

/kind feature

@tekton-robot tekton-robot added the kind/feature Categorizes issue or PR as related to a new feature. label May 7, 2020
bobcatfish added a commit to bobcatfish/catalog that referenced this issue Jul 10, 2020
Boskos is a tool that allows one to create a pool of cloud projects
(definitely GCP, I think it supports other providers as well), and
manages acquiring, releasing, and cleaning them between leases.

We use it for Tekton test infrastructure for our end to end tests and
we'd like to use it for our catalog Tasks as well.

This commit adds boskos acquire and release Tasks.

The acquire Task also creates a pod in the running cluster to perform
heartbeating so that boskos knows that the resource is still in use.

The intention of the release Task is that it would be run in a
Pipeline's `finally` clause, however today that would be difficult
because finally Tasks can't yet use the results of other Tasks, but this
functionality is on the way: tektoncd/pipeline#2557

This is part of the work in tektoncd#373 to create a Pipeline for the catalog.
bobcatfish added a commit to bobcatfish/catalog that referenced this issue Jul 10, 2020
Boskos is a tool that allows one to create a pool of cloud projects
(definitely GCP, I think it supports other providers as well), and
manages acquiring, releasing, and cleaning them between leases.

We use it for Tekton test infrastructure for our end to end tests and
we'd like to use it for our catalog Tasks as well.

This commit adds boskos acquire and release Tasks.

The acquire Task also creates a pod in the running cluster to perform
heartbeating so that boskos knows that the resource is still in use.

The intention of the release Task is that it would be run in a
Pipeline's `finally` clause, however today that would be difficult
because finally Tasks can't yet use the results of other Tasks, but this
functionality is on the way: tektoncd/pipeline#2557

This is part of the work in tektoncd#373 to create a Pipeline for the catalog.
bobcatfish added a commit to bobcatfish/catalog that referenced this issue Jul 10, 2020
Boskos is a tool that allows one to create a pool of cloud projects
(definitely GCP, I think it supports other providers as well), and
manages acquiring, releasing, and cleaning them between leases.

We use it for Tekton test infrastructure for our end to end tests and
we'd like to use it for our catalog Tasks as well.

This commit adds boskos acquire and release Tasks.

The acquire Task also creates a pod in the running cluster to perform
heartbeating so that boskos knows that the resource is still in use.

The intention of the release Task is that it would be run in a
Pipeline's `finally` clause, however today that would be difficult
because finally Tasks can't yet use the results of other Tasks, but this
functionality is on the way: tektoncd/pipeline#2557

This is part of the work in tektoncd#373 to create a Pipeline for the catalog.
bobcatfish added a commit to bobcatfish/catalog that referenced this issue Jul 10, 2020
Boskos is a tool that allows one to create a pool of cloud projects
(definitely GCP, I think it supports other providers as well), and
manages acquiring, releasing, and cleaning them between leases.

We use it for Tekton test infrastructure for our end to end tests and
we'd like to use it for our catalog Tasks as well.

This commit adds boskos acquire and release Tasks.

The acquire Task also creates a pod in the running cluster to perform
heartbeating so that boskos knows that the resource is still in use.

The intention of the release Task is that it would be run in a
Pipeline's `finally` clause, however today that would be difficult
because finally Tasks can't yet use the results of other Tasks, but this
functionality is on the way: tektoncd/pipeline#2557

This is part of the work in tektoncd#373 to create a Pipeline for the catalog.
bobcatfish added a commit to bobcatfish/catalog that referenced this issue Jul 14, 2020
Boskos is a tool that allows one to create a pool of cloud projects
(definitely GCP, I think it supports other providers as well), and
manages acquiring, releasing, and cleaning them between leases.

We use it for Tekton test infrastructure for our end to end tests and
we'd like to use it for our catalog Tasks as well.

This commit adds boskos acquire and release Tasks.

The acquire Task also creates a pod in the running cluster to perform
heartbeating so that boskos knows that the resource is still in use.

The intention of the release Task is that it would be run in a
Pipeline's `finally` clause, however today that would be difficult
because finally Tasks can't yet use the results of other Tasks, but this
functionality is on the way: tektoncd/pipeline#2557

This is part of the work in tektoncd#373 to create a Pipeline for the catalog.
@pritidesai
Copy link
Member Author

/assign

bobcatfish added a commit to bobcatfish/catalog that referenced this issue Jul 20, 2020
Boskos is a tool that allows one to create a pool of cloud projects
(definitely GCP, I think it supports other providers as well), and
manages acquiring, releasing, and cleaning them between leases.

We use it for Tekton test infrastructure for our end to end tests and
we'd like to use it for our catalog Tasks as well.

This commit adds boskos acquire and release Tasks.

The acquire Task also creates a pod in the running cluster to perform
heartbeating so that boskos knows that the resource is still in use.

The intention of the release Task is that it would be run in a
Pipeline's `finally` clause, however today that would be difficult
because finally Tasks can't yet use the results of other Tasks, but this
functionality is on the way: tektoncd/pipeline#2557

This is part of the work in tektoncd#373 to create a Pipeline for the catalog.
bobcatfish added a commit to bobcatfish/catalog that referenced this issue Jul 23, 2020
Boskos is a tool that allows one to create a pool of cloud projects
(definitely GCP, I think it supports other providers as well), and
manages acquiring, releasing, and cleaning them between leases.

We use it for Tekton test infrastructure for our end to end tests and
we'd like to use it for our catalog Tasks as well.

This commit adds boskos acquire and release Tasks.

The acquire Task also creates a pod in the running cluster to perform
heartbeating so that boskos knows that the resource is still in use.

The intention of the release Task is that it would be run in a
Pipeline's `finally` clause, however today that would be difficult
because finally Tasks can't yet use the results of other Tasks, but this
functionality is on the way: tektoncd/pipeline#2557

This is part of the work in tektoncd#373 to create a Pipeline for the catalog.
bobcatfish added a commit to bobcatfish/catalog that referenced this issue Jul 23, 2020
Boskos is a tool that allows one to create a pool of cloud projects
(definitely GCP, I think it supports other providers as well), and
manages acquiring, releasing, and cleaning them between leases.

We use it for Tekton test infrastructure for our end to end tests and
we'd like to use it for our catalog Tasks as well.

This commit adds boskos acquire and release Tasks.

The acquire Task also creates a pod in the running cluster to perform
heartbeating so that boskos knows that the resource is still in use.

The intention of the release Task is that it would be run in a
Pipeline's `finally` clause, however today that would be difficult
because finally Tasks can't yet use the results of other Tasks, but this
functionality is on the way: tektoncd/pipeline#2557

This is part of the work in tektoncd#373 to create a Pipeline for the catalog.
tekton-robot pushed a commit to tektoncd/catalog that referenced this issue Jul 24, 2020
Boskos is a tool that allows one to create a pool of cloud projects
(definitely GCP, I think it supports other providers as well), and
manages acquiring, releasing, and cleaning them between leases.

We use it for Tekton test infrastructure for our end to end tests and
we'd like to use it for our catalog Tasks as well.

This commit adds boskos acquire and release Tasks.

The acquire Task also creates a pod in the running cluster to perform
heartbeating so that boskos knows that the resource is still in use.

The intention of the release Task is that it would be run in a
Pipeline's `finally` clause, however today that would be difficult
because finally Tasks can't yet use the results of other Tasks, but this
functionality is on the way: tektoncd/pipeline#2557

This is part of the work in #373 to create a Pipeline for the catalog.
@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
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

@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/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Aug 15, 2020
@vdemeester
Copy link
Member

/remove-lifecycle rotten
/remove-lifecycle stale
/reopen

@tekton-robot tekton-robot reopened this Aug 17, 2020
@tekton-robot
Copy link
Collaborator

@vdemeester: Reopened this issue.

In response to this:

/remove-lifecycle rotten
/remove-lifecycle stale
/reopen

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 removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Aug 17, 2020
@spikeburton
Copy link
Member

We have a use case for this functionality with the MacStadium Orka Tasks. We have a Task that will perform some initialization (token fetch and configuration generation) which should then be cleaned up by another Task in a pipeline with finally. The clean up Task needs to then revoke the token and purge the configuration. I was planning to pass the name of the configuration to the clean up Task through results.

I have a temporary workaround, but I think passing the results of the init Task as params would be ideal.

What is the timeline looking like for this functionality to be available?

@pritidesai
Copy link
Member Author

@spikeburton please look out for PR this week 🙏

@spikeburton
Copy link
Member

@pritidesai great, thanks for the quick response 🙂

@mbwhite
Copy link

mbwhite commented Oct 6, 2020

@spikeburton would you mind sharing the workaround please? My use case I want to send a message to slack saying if the build worked or not... and was hoping to pass that in a result.

@spikeburton
Copy link
Member

@mbwhite sure, for our use case I am using a config map as a workaround to make data available between tasks. However, this requires setting up a service account which is able to create / delete config maps using kubectl.

@pritidesai
Copy link
Member Author

@spikeburton would you mind sharing the workaround please? My use case I want to send a message to slack saying if the build worked or not... and was hoping to pass that in a result.

@mbwhite can you please explain your use case in terms of what exactly being passed as a task result? is build failure causing task failure in your pipeline?

For communicating build success/failure, @mbwhite I have another feature being implemented accessing execution status of a task, would that be helpful?

@mbwhite
Copy link

mbwhite commented Oct 22, 2020

@pritidesai Hello.. here's the use case.

The pipeline is primarily aimed at testing: there are a few build tasks, then a number of test tasks. These run against cloud resources (provisioned at the start of pipeline).

The finally is there is clean up the cloud resources - and ideally I'd like to be able to report the success or failure of the various tasks. Failure being more important as that means we've got a problem.

Your 'accessing execution status' does sound like it could be useful here.

Thanks

@tekton-robot
Copy link
Collaborator

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale with a justification.
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 with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/lifecycle stale

Send feedback to tektoncd/plumbing.

@tekton-robot tekton-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 20, 2021
@pritidesai
Copy link
Member Author

/remove-lifecycle stale

Users are waiting for this feature. Implemented with #3242 which is still open.

@tekton-robot tekton-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 20, 2021
@mbwhite
Copy link

mbwhite commented Jan 21, 2021

@pritidesai Hello.. I've come back to the task where I need to solve this problem I see the PR is merged.. looking forward to trying this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

5 participants