-
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
TEP-0135: Introduce coschedule feature flags #6790
TEP-0135: Introduce coschedule feature flags #6790
Conversation
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
config/config-feature-flags.yaml
Outdated
# Setting this flag will determine how PipelineRun Pods are scheduled with Affinity Assistant. | ||
# Acceptable values are "disabled" (default), "coschedule-workspaces", "coschedule-pipelineruns", or "isolate-pipelineruns". | ||
# | ||
# See more in the "Configuration" section of tep-0135: coscheduling-pipelinerun-pods for more info about the options: |
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.
Rather than linking to the TEP, I think it would be good to write a section of docs explaining the configuration options for the feature. the TEP audience is developers, while our docs audience is cluster operators.
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.
SGTM, I have added a section for explaination.
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.
Can you please also add some markdown docs explaining in more detail what this feature is and why someone would want to use it, in addition to the feature flags chart?
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.
I think you mean adding these details in a doc instead of as a comment in the code here right?
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. we already have some docs here on the affinity assistant but I think it's worth writing a docs section for the affinity assistant specifically https://github.com/tektoncd/pipeline/blob/main/docs/workspaces.md#specifying-workspace-order-in-a-pipeline-and-affinity-assistants
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.
I see, I'm planning to put the documentation to the followup PR where I add end-to-end support for the new settings of AA, and I have put a TODO
in the code comment. Can we defer the doc to the later PR 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.
TBH I think the docs make the most sense in this PR, as this PR is where the user facing configuration options have been introduced. However I'd also be fine with deferring it.
45371d4
to
75d62cb
Compare
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
/test pull-tekton-pipeline-build-tests |
/test pull-tekton-pipeline-unit-tests |
@QuanZhang-William: 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. |
/test tekton-pipeline-unit-tests |
75d62cb
to
7983a34
Compare
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
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.
@pritidesai did you want to weigh in on naming of this feature flag?
I think "coscheduling" is more accurate than "coexisting", since this feature affects scheduling behavior, but we can definitely play around with options that are more concise!
config/config-feature-flags.yaml
Outdated
# Setting this flag will determine how PipelineRun Pods are scheduled with Affinity Assistant. | ||
# Acceptable values are "disabled" (default), "coschedule-workspaces", "coschedule-pipelineruns", or "isolate-pipelineruns". | ||
# | ||
# See more in the "Configuration" section of tep-0135: coscheduling-pipelinerun-pods for more info about the options: |
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.
Can you please also add some markdown docs explaining in more detail what this feature is and why someone would want to use it, in addition to the feature flags chart?
7983a34
to
40dc263
Compare
The following is the coverage report on the affected files.
|
40dc263
to
a516bc3
Compare
The following is the coverage report on the affected files.
|
a516bc3
to
f8bca17
Compare
The following is the coverage report on the affected files.
|
tektoncd/community#1031 is merged. /hold cancel |
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
0ac3f79
to
7488677
Compare
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
7488677
to
f5fb801
Compare
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
f5fb801
to
246a651
Compare
Part of [tektoncd#6740][tektoncd#6740]. [TEP-0135][tep-0135] introduces a feature that allows a cluster operator to ensure that all of a PipelineRun's pods are scheduled to the same node. This commit introduces a new feature flag `coschedule` which works together with the `disable-affinity-assistant` feature flag to determine the Affinity Assistant behavior. The usage of the new feature flag will be added in the follow-up PRs. The details of the `coschedule` feature flag can be found in the [Configuration][configuration] section of TEP-0135. The details of the `disable-affinity-assistant` feature flag can be found in the [Upgrade and Migration Strategy][strategy] section of TEP-0135. NOTE: this feature is WIP, please do not use on this feature. /kind feature [tektoncd#6740]: tektoncd#6740 [tep-0135]: https://github.com/tektoncd/community/blob/main/teps/0135-coscheduling-pipelinerun-pods.md [configuration]: https://github.com/tektoncd/community/blob/main/teps/0135-coscheduling-pipelinerun-pods.md#configuration [strategy]: https://github.com/tektoncd/community/blob/main/teps/0135-coscheduling-pipelinerun-pods.md#configuration
246a651
to
27595f6
Compare
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
@QuanZhang-William please add one more test case to cover the uncovered error 🙏🏾 |
Hi @jerop! This line is actually not reachable because I cannot pass in an invalid feature flag combination to this function which we have validation in Please see the discussion here: #6790 (comment) |
/lgtm |
Part of #6740. TEP-0135 introduces a feature that allows a cluster operator to ensure that all of a PipelineRun's pods are scheduled to the same node.
This commit introduces a new feature flag
coschedule
which works together with thedisable-affinity-assistant
feature flag to determine the Affinity Assistant behavior. The usage of the new feature flag will be added in the follow-up PRs.The details of the
coschedule
feature flag can be found in the Configuration section of TEP-0135. The details of thedisable-affinity-assistant
feature flag can be found in the Upgrade and Migration Strategy section of TEP-0135.NOTE: this feature is WIP, please do not use on this feature.
/kind feature
Changes
Submitter Checklist
As the author of this PR, please check off the items in this checklist:
/kind <type>
. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tepRelease Notes