-
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
[TEP0100] Default to minimal embedded-status #5934
[TEP0100] Default to minimal embedded-status #5934
Conversation
@JeromeJu: The specified target(s) for
The following commands are available to trigger optional jobs:
Use 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. |
/hold cancel |
@JeromeJu the defaults will also need to be changed in https://github.com/tektoncd/pipeline/blob/main/pkg/apis/config/feature_flags.go |
Agreed with @lbernick that you will need to update pipeline/pkg/apis/config/feature_flags.go Line 82 in c39fd32
I assume there could be some unit tests failures because of the default value switch. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for taking this on @JeromeJu!
You may also need to update feature_flags.go
https://github.com/tektoncd/pipeline/blob/main/pkg/apis/config/feature_flags.go#L79-L80
This PR has not been updated because of the debugging at #5989 which blocks this PR. Thanks to @XinruZhang for helping out! And thank you for the reviews @lbernick @jerop , will update this PR once #5989 is merged. |
189a3b0
to
3472e7f
Compare
docs/pipelineruns.md
Outdated
- `both` - Populate `status.childReferences` as well as `status.taskRuns` and `status.runs`. | ||
- `full` - Populating `status.taskRuns` and `status.runs`, without populating `status.childReferences`. | ||
|
||
*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), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NIT: PipelineRunStatus -> PipelineRunStatus
The link points to the whole TEP, perhaps it could point to a specific section? It's not clear to me what is meant by "PipelineRunStatus migration". I think the other values of the flag will be deprecated and eventually removed.
Now that the default is set to "minimal", shouldn't we deprecate the other values? They should be added to https://github.com/tektoncd/pipeline/blob/main/docs/deprecations.md and we could link to that document instead
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @afrittoli , done with the release note and NIT suggestion!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now that the default is set to "minimal", shouldn't we deprecate the other values? They should be added to https://github.com/tektoncd/pipeline/blob/main/docs/deprecations.md and we could link to that document instead
Thanks @afrittoli , I was under the impression that status.taskruns
and status.runs
were added to https://github.com/tektoncd/pipeline/blob/main/docs/deprecations.md as in TEP100 to indiciate the removal process. I am willing to add this into the deprecation.md
in this same PR and link to it if preferred. But from the api_compatibility_policy I might not fully getting the picture but it seems that feature-flags values are not subject to the deprecation.md
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, indeed status.taskruns
and status.runs
are in the deprecation list, which should be or else we could not remove them in the next release :)
About feature flags, in the TEP we said that we cannot remove flags associated to changes in behaviour - see https://github.com/tektoncd/community/blob/main/teps/0033-tekton-feature-gates.md#changes-in-behavior - but this change of behaviour is reflected into the API, so it doesn't make sense to keep the flag around once the API field it controls is deprecated and removed.
That said, we still should give notice to our users about upcoming changes, so we should include in the release notes and ideally in https://github.com/tektoncd/pipeline/blob/main/docs/deprecations.md too that this flag is deprecated, before we remove it in the next release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @afrittoli ! That makes sense, updated and linked in deprecation.md and the release note as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this! It looks great, just a couple of comments.
The main question I have is that I think we should start the deprecation counter on the other flag values right away.
Looking at #4954, I think we should clearly state that the flag along with the |
7501be5
to
ac5b60c
Compare
/retest |
326af0c
to
ee97223
Compare
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.
ee97223
to
b81b2bf
Compare
/retest |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: abayer The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
/lgtm
Changes
This commit changes the default of embedded-status to minimal status.
Prior to this PR, the
DefaultEmbeddedStatus
isfull
, the pipelineRun reconcilerwill populate both
taskruns
andruns
forpipelineRunStatus
. With the changeto
minimal
, the reconciler populateschildReferences
instead.fixes: #5833
part of: #4954
Submitter Checklist
As the author of this PR, please check off the items in this checklist:
functionality, content, code)
/kind <type>
. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tepRelease Notes