-
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
Improve TaskRun Execution via Supervisor / Conductor Container #2391
Comments
Would it be possible to inject the supervisor container only in case of debug, and have Tekton working with entrypoints alone for now? |
I think I'd actually prefer the opposite: if we think a supervisor will be easier/better, explore and experiment with it without adding debug mode, eventually replace the file-based signalling we do today, and then and only then, start to support pausing/unpausing steps. That separates the infrastructure upgrade work from the feature work, and lets us bail early if the infra change turns out to be not worth doing. |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
Stale issues rot after 30d of inactivity. /lifecycle rotten Send feedback to tektoncd/plumbing. |
Rotten issues close after 30d of inactivity. /close Send feedback to tektoncd/plumbing. |
@tekton-robot: Closing this issue. 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. |
/remove-lifecycle rotten |
@vdemeester: Reopened this issue. 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. |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
Stale issues rot after 30d of inactivity. /lifecycle rotten Send feedback to tektoncd/plumbing. |
Expected Behavior
Currently TaskRuns have no central execution manager / "runtime" which takes care of the execution of the Steps in the Task (which need to be in a certain order, or a manipulated order in case of debug). This is an issue as the logic necessary to execute the steps lie within the Steps themselves through the Entrypoint Image whereas there should be an external supervisor / conductor which would do the "orchestration".
Steps in a TaskRun execute based on the instructions given by the controller directly, instead of instructions given by the TaskRun Runtime itself (does not exist yet). This runtime can be provided by the Supervisor Container. Setting order of execution should be delegated to the Runtime and not be done by the controller itself in this case.
It should also be possible to expose a debug port from the Supervisor Container when in Debug Mode so that User Interfaces can attach to it and users can debug the Steps based on their own discretion, in the same way they would debug something like a C Program with GDB.
Debug Mode for TaskRuns being tracked in #2069.
Actual Behavior
Order of execution of the steps is set by the controller through wait-files in a shared volume. A Step will execute if the wait-file it was waiting on comes into existence. This is completelty autonomous behaviour and there it is not possible to manipulate/halt the order of execution during runtime.
Checkpoints
The text was updated successfully, but these errors were encountered: