Skip to content

Commit 7501be5

Browse files
committed
Switch to minimal embedded-status
This commit changes the default of embedded-status to minimal status. Prior to this PR, the `DefaultEmbeddedStatus` is `full`, the pipelineRun reconciler will populate both `taskruns` and `runs` for `pipelineRunStatus`. With the change to `minimal`, the reconciler populates `childReferences` instead.
1 parent 30b5e96 commit 7501be5

File tree

7 files changed

+168
-117
lines changed

7 files changed

+168
-117
lines changed

config/config-feature-flags.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ data:
8989
# `PipelineRun` status. Set it to "minimal" to populate the `ChildReferences` field in the
9090
# `PipelineRun` status with name, kind, and API version information for each `TaskRun` and
9191
# `Run` in the `PipelineRun` instead. Set it to "both" to do both.
92-
embedded-status: "full"
92+
embedded-status: "minimal"
9393
# Setting this flag will determine the version for custom tasks created by PipelineRuns.
9494
# Acceptable values are "v1beta1" and "v1alpha1".
9595
# The default is "v1beta1".

docs/pipelineruns.md

+6-5
Original file line numberDiff line numberDiff line change
@@ -1392,17 +1392,18 @@ Your `PipelineRun`'s `status` field can contain the following fields:
13921392

13931393
### Configuring usage of `TaskRun` and `Run` embedded statuses
13941394

1395-
Currently, the default behavior is for the statuses of `TaskRun`s and `Run`s within this `PipelineRun`
1396-
to be embedded in the `status.taskRuns` and `status.runs` fields. This will change in the future to
1397-
instead default to `status.childReferences` being populated with references to the `TaskRun`s and
1395+
Currently, the default behavior is default to `status.childReferences` being populated with references to the `TaskRun`s and
13981396
`Run`s, which can be used to look up their statuses.
13991397

14001398
This behavior can be controlled by changing the `embedded-status` feature flag in the `feature-flags`
14011399
config map. See [`install.md`](./install.md#customizing-the-pipelines-controller-behavior) for more
14021400
information on feature flags. The possible values for `embedded-status` are:
1403-
- `full` - The current default behavior of populating `status.taskRuns` and `status.runs`, without populating `status.childReferences`.
1404-
- `minimal` - Just populate `status.childReferences`, not `status.taskRuns` or `status.runs`.
1401+
- `minimal` - The current default behavior, populate `status.childReferences`, not `status.taskRuns` or `status.runs`.
14051402
- `both` - Populate `status.childReferences` as well as `status.taskRuns` and `status.runs`.
1403+
- `full` - Populating `status.taskRuns` and `status.runs`, without populating `status.childReferences`.
1404+
1405+
*Note that after the PipelineRunStatus migration as planned in [TEP-100](https://github.com/tektoncd/community/blob/main/teps/0100-embedded-taskruns-and-runs-status-in-pipelineruns.md),
1406+
the `full` and `both` `embedded-status` options will be removed.
14061407

14071408
### Monitoring execution status
14081409

pkg/apis/config/feature_flags.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ const (
7777
// DefaultSendCloudEventsForRuns is the default value for "send-cloudevents-for-runs".
7878
DefaultSendCloudEventsForRuns = false
7979
// DefaultEmbeddedStatus is the default value for "embedded-status".
80-
DefaultEmbeddedStatus = FullEmbeddedStatus
80+
DefaultEmbeddedStatus = MinimalEmbeddedStatus
8181
// DefaultEnableSpire is the default value for "enable-spire".
8282
DefaultEnableSpire = false
8383
// DefaultResourceVerificationMode is the default value for "resource-verification-mode".

pkg/apis/config/feature_flags_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ func TestNewFeatureFlagsFromConfigMap(t *testing.T) {
138138
{
139139
expectedConfig: &config.FeatureFlags{
140140
EnableAPIFields: "stable",
141-
EmbeddedStatus: "full",
141+
EmbeddedStatus: config.DefaultEmbeddedStatus,
142142
EnableSpire: true,
143143
ResourceVerificationMode: config.DefaultResourceVerificationMode,
144144
RunningInEnvWithInjectedSidecars: config.DefaultRunningInEnvWithInjectedSidecars,
@@ -152,7 +152,7 @@ func TestNewFeatureFlagsFromConfigMap(t *testing.T) {
152152
{
153153
expectedConfig: &config.FeatureFlags{
154154
EnableAPIFields: "stable",
155-
EmbeddedStatus: "full",
155+
EmbeddedStatus: config.DefaultEmbeddedStatus,
156156
ResourceVerificationMode: config.DefaultResourceVerificationMode,
157157
RunningInEnvWithInjectedSidecars: config.DefaultRunningInEnvWithInjectedSidecars,
158158
AwaitSidecarReadiness: config.DefaultAwaitSidecarReadiness,

pkg/reconciler/pipelinerun/cancel_test.go

+23-23
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,17 @@ func TestCancelPipelineRun(t *testing.T) {
4646
customRuns []*v1beta1.CustomRun
4747
wantErr bool
4848
}{{
49-
name: "no-resolved-taskrun",
50-
embeddedStatus: config.DefaultEmbeddedStatus,
49+
name: "no-resolved-taskrun-with-full",
50+
embeddedStatus: config.FullEmbeddedStatus,
5151
pipelineRun: &v1beta1.PipelineRun{
5252
ObjectMeta: metav1.ObjectMeta{Name: "test-pipeline-run-cancelled"},
5353
Spec: v1beta1.PipelineRunSpec{
5454
Status: v1beta1.PipelineRunSpecStatusCancelled,
5555
},
5656
},
5757
}, {
58-
name: "one-taskrun",
59-
embeddedStatus: config.DefaultEmbeddedStatus,
58+
name: "one-taskrun-with-full",
59+
embeddedStatus: config.FullEmbeddedStatus,
6060
pipelineRun: &v1beta1.PipelineRun{
6161
ObjectMeta: metav1.ObjectMeta{Name: "test-pipeline-run-cancelled"},
6262
Spec: v1beta1.PipelineRunSpec{
@@ -72,8 +72,8 @@ func TestCancelPipelineRun(t *testing.T) {
7272
{ObjectMeta: metav1.ObjectMeta{Name: "t1"}},
7373
},
7474
}, {
75-
name: "multiple-taskruns-one-missing",
76-
embeddedStatus: config.DefaultEmbeddedStatus,
75+
name: "multiple-taskruns-one-missing-with-full",
76+
embeddedStatus: config.FullEmbeddedStatus,
7777
pipelineRun: &v1beta1.PipelineRun{
7878
ObjectMeta: metav1.ObjectMeta{Name: "test-pipeline-run-cancelled"},
7979
Spec: v1beta1.PipelineRunSpec{
@@ -90,8 +90,8 @@ func TestCancelPipelineRun(t *testing.T) {
9090
{ObjectMeta: metav1.ObjectMeta{Name: "t2"}},
9191
},
9292
}, {
93-
name: "multiple-taskruns",
94-
embeddedStatus: config.DefaultEmbeddedStatus,
93+
name: "multiple-taskruns-with-full",
94+
embeddedStatus: config.FullEmbeddedStatus,
9595
pipelineRun: &v1beta1.PipelineRun{
9696
ObjectMeta: metav1.ObjectMeta{Name: "test-pipeline-run-cancelled"},
9797
Spec: v1beta1.PipelineRunSpec{
@@ -109,8 +109,8 @@ func TestCancelPipelineRun(t *testing.T) {
109109
{ObjectMeta: metav1.ObjectMeta{Name: "t2"}},
110110
},
111111
}, {
112-
name: "multiple-runs",
113-
embeddedStatus: config.DefaultEmbeddedStatus,
112+
name: "multiple-runs-with-full",
113+
embeddedStatus: config.FullEmbeddedStatus,
114114
pipelineRun: &v1beta1.PipelineRun{
115115
ObjectMeta: metav1.ObjectMeta{Name: "test-pipeline-run-cancelled"},
116116
Spec: v1beta1.PipelineRunSpec{
@@ -128,8 +128,8 @@ func TestCancelPipelineRun(t *testing.T) {
128128
{ObjectMeta: metav1.ObjectMeta{Name: "t2"}},
129129
},
130130
}, {
131-
name: "multiple-runs-one-missing",
132-
embeddedStatus: config.DefaultEmbeddedStatus,
131+
name: "multiple-runs-one-missing-with-full",
132+
embeddedStatus: config.FullEmbeddedStatus,
133133
pipelineRun: &v1beta1.PipelineRun{
134134
ObjectMeta: metav1.ObjectMeta{Name: "test-pipeline-run-cancelled"},
135135
Spec: v1beta1.PipelineRunSpec{
@@ -227,7 +227,7 @@ func TestCancelPipelineRun(t *testing.T) {
227227
},
228228
}, {
229229
name: "child-references-with-minimal",
230-
embeddedStatus: config.MinimalEmbeddedStatus,
230+
embeddedStatus: config.DefaultEmbeddedStatus,
231231
pipelineRun: &v1beta1.PipelineRun{
232232
ObjectMeta: metav1.ObjectMeta{Name: "test-pipeline-run-cancelled"},
233233
Spec: v1beta1.PipelineRunSpec{
@@ -268,7 +268,7 @@ func TestCancelPipelineRun(t *testing.T) {
268268
},
269269
}, {
270270
name: "child-references-with-minimal-some-missing",
271-
embeddedStatus: config.MinimalEmbeddedStatus,
271+
embeddedStatus: config.DefaultEmbeddedStatus,
272272
pipelineRun: &v1beta1.PipelineRun{
273273
ObjectMeta: metav1.ObjectMeta{Name: "test-pipeline-run-cancelled"},
274274
Spec: v1beta1.PipelineRunSpec{
@@ -458,8 +458,8 @@ func TestGetChildObjectsFromPRStatusForTaskNames(t *testing.T) {
458458
hasError bool
459459
}{
460460
{
461-
name: "single taskrun, default embedded",
462-
embeddedStatus: config.DefaultEmbeddedStatus,
461+
name: "single taskrun, full embedded",
462+
embeddedStatus: config.FullEmbeddedStatus,
463463
prStatus: v1beta1.PipelineRunStatus{PipelineRunStatusFields: v1beta1.PipelineRunStatusFields{
464464
TaskRuns: map[string]*v1beta1.PipelineRunTaskRunStatus{
465465
"t1": {PipelineTaskName: "task-1"},
@@ -470,8 +470,8 @@ func TestGetChildObjectsFromPRStatusForTaskNames(t *testing.T) {
470470
expectedCustomRunNames: nil,
471471
hasError: false,
472472
}, {
473-
name: "single run, default embedded",
474-
embeddedStatus: config.DefaultEmbeddedStatus,
473+
name: "single run, full embedded",
474+
embeddedStatus: config.FullEmbeddedStatus,
475475
prStatus: v1beta1.PipelineRunStatus{PipelineRunStatusFields: v1beta1.PipelineRunStatusFields{
476476
Runs: map[string]*v1beta1.PipelineRunRunStatus{
477477
"r1": {PipelineTaskName: "run-1"},
@@ -481,8 +481,8 @@ func TestGetChildObjectsFromPRStatusForTaskNames(t *testing.T) {
481481
expectedCustomRunNames: []string{"r1"},
482482
hasError: false,
483483
}, {
484-
name: "taskrun and run, default embedded",
485-
embeddedStatus: config.DefaultEmbeddedStatus,
484+
name: "taskrun and run, full embedded",
485+
embeddedStatus: config.FullEmbeddedStatus,
486486
prStatus: v1beta1.PipelineRunStatus{PipelineRunStatusFields: v1beta1.PipelineRunStatusFields{
487487
TaskRuns: map[string]*v1beta1.PipelineRunTaskRunStatus{
488488
"t1": {PipelineTaskName: "task-1"},
@@ -495,8 +495,8 @@ func TestGetChildObjectsFromPRStatusForTaskNames(t *testing.T) {
495495
expectedCustomRunNames: []string{"r1"},
496496
hasError: false,
497497
}, {
498-
name: "taskrun and run, default embedded, just want taskrun",
499-
embeddedStatus: config.DefaultEmbeddedStatus,
498+
name: "taskrun and run, full embedded, just want taskrun",
499+
embeddedStatus: config.FullEmbeddedStatus,
500500
prStatus: v1beta1.PipelineRunStatus{PipelineRunStatusFields: v1beta1.PipelineRunStatusFields{
501501
TaskRuns: map[string]*v1beta1.PipelineRunTaskRunStatus{
502502
"t1": {PipelineTaskName: "task-1"},
@@ -548,7 +548,7 @@ func TestGetChildObjectsFromPRStatusForTaskNames(t *testing.T) {
548548
expectedRunNames: []string{"r1"},
549549
hasError: false,
550550
}, {
551-
name: "minimal embedded",
551+
name: "default minimal embedded",
552552
embeddedStatus: config.MinimalEmbeddedStatus,
553553
prStatus: v1beta1.PipelineRunStatus{PipelineRunStatusFields: v1beta1.PipelineRunStatusFields{
554554
TaskRuns: map[string]*v1beta1.PipelineRunTaskRunStatus{

0 commit comments

Comments
 (0)