Skip to content

Commit a40894d

Browse files
committed
[TEP-0044]: Refocus on Execution Options
This commit renames TEP-0044 to "More Execution Options for Pipelines" and re-focuses it on giving users more control over how their Pipelines are executed. There are two reasons for this change: - The problems identified with how Tasks are executed (pod overhead and difficulty passing data between Tasks) are relevant only when executing multiple Tasks together, not when a single Task is executed in a TaskRun. - The title "Decoupling Scheduling from Execution" implies that we must choose a runtime-based configuration for Pipeline execution. This commit clarifies that while execution options must be configurable at runtime, we may choose to also make them configurable at authoring time in the future.
1 parent 7348062 commit a40894d

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

teps/0044-decouple-task-composition-from-scheduling.md teps/0044-more-execution-options-for-pipelines.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
status: proposed
3-
title: Decouple Task Composition from Scheduling
3+
title: More Execution Options for Pipelines
44
creation-date: '2021-01-22'
5-
last-updated: '2021-12-07'
5+
last-updated: '2022-01-26'
66
authors:
77
- '@bobcatfish'
88
- '@lbernick'
99
---
1010

11-
# TEP-0044: Decouple Task Composition from Scheduling
11+
# TEP-0044: More Execution Options for Pipelines
1212

1313
<!-- toc -->
1414
- [Summary](#summary)
@@ -26,14 +26,12 @@ authors:
2626
## Summary
2727

2828
As stated in Tekton's [reusability design principles](https://github.com/tektoncd/community/blob/main/design-principles.md#reusability),
29-
Pipelines and Tasks are meant to capture authoring-time concerns, and to be reusable in a variety of execution contexts.
30-
PipelineRuns and TaskRuns should be able to control execution without the need to modify the corresponding Pipeline or Task.
31-
29+
Pipelines and Tasks should be reusable in a variety of execution contexts.
3230
However, because each TaskRun is executed in a separate pod, Task and Pipeline authors indirectly control the number of pods used in execution.
3331
This introduces both the overhead of extra pods and friction associated with moving data between Tasks.
3432

3533
This TEP lists the pain points associated with running each TaskRun in its own pod and describes the current features that mitigate these pain points.
36-
It explores several options for decoupling Task composition and TaskRun scheduling but does not yet propose a preferred solution.
34+
It explores several additional execution options for Pipelines but does not yet propose a preferred solution.
3735

3836
## Motivation
3937

@@ -57,8 +55,8 @@ This could be storage within a cluster, like a PVC, configmap, or secret, or rem
5755

5856
Workspaces make it easier to "shuttle" data through a Pipeline by abstracting details of data storage out of Pipelines and Tasks.
5957
They currently support only forms of storage within a cluster (PVCs, configmaps, secrets, and emptydir).
60-
They're an important puzzle piece in decoupling Task composition and scheduling, but they don't address the underlying problem
61-
that some form of external data storage is needed to pass artifacts between TaskRuns.
58+
Abstracting data storage out of Pipeline and Task definitions helps make them more reusable, but doesn't address
59+
the underlying problem that some form of external data storage is needed to pass artifacts between TaskRuns.
6260

6361
The need for data storage locations external to pods introduces friction in a few different ways.
6462
First, moving data between storage locations can incur monetary cost and latency.
@@ -157,6 +155,8 @@ See [TEP-0074](./0074-deprecate-pipelineresources.md) for the deprecation plan f
157155
- This requirement is being included because we could choose a solution that doesn't
158156
address the above use case; for example in PipelineResources, you can have a
159157
storage "output" but if the steps fail, the "output" pipelineresource will not run
158+
- Any configuration for the execution of a Pipeline must be modifiable at runtime.
159+
- We may explore adding authoring time configuration in the future after gathering feedback on runtime configuration.
160160

161161
## Design details
162162

teps/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ This is the complete list of Tekton teps:
196196
|[TEP-0040](0040-ignore-step-errors.md) | Ignore Step Errors | implemented | 2021-08-11 |
197197
|[TEP-0041](0041-tekton-component-versioning.md) | Tekton Component Versioning | implementable | 2021-04-26 |
198198
|[TEP-0042](0042-taskrun-breakpoint-on-failure.md) | taskrun-breakpoint-on-failure | implemented | 2021-12-10 |
199-
|[TEP-0044](0044-decouple-task-composition-from-scheduling.md) | Decouple Task Composition from Scheduling | proposed | 2021-12-07 |
199+
|[TEP-0044](0044-more-execution-options-for-pipelines.md) | More Execution Options for Pipelines | proposed | 2022-01-26 |
200200
|[TEP-0045](0045-whenexpressions-in-finally-tasks.md) | WhenExpressions in Finally Tasks | implemented | 2021-06-03 |
201201
|[TEP-0046](0046-finallytask-execution-post-timeout.md) | Finally tasks execution post pipelinerun timeout | implemented | 2021-12-14 |
202202
|[TEP-0047](0047-pipeline-task-display-name.md) | Pipeline Task Display Name | proposed | 2021-02-10 |

0 commit comments

Comments
 (0)