Skip to content

Conversation

@kerthcet
Copy link
Member

@kerthcet kerthcet commented Sep 22, 2022

Signed-off-by: kerthcet [email protected]

  • One-line PR description: Graduate NodeInclusionPolicy to Beta
  • Other comments:

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Sep 22, 2022
@k8s-ci-robot k8s-ci-robot added kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Sep 22, 2022
@kerthcet kerthcet changed the title Graduate NodeInclusionPolicy to Beta KEP-3094: Graduate NodeInclusionPolicy to Beta Sep 22, 2022
@kerthcet kerthcet changed the title KEP-3094: Graduate NodeInclusionPolicy to Beta KEP-3094: Graduate NodeInclusionPolicy to Beta in v1.26 Sep 22, 2022
@wojtek-t wojtek-t self-assigned this Sep 26, 2022
Signed-off-by: kerthcet <[email protected]>
@alculquicondor
Copy link
Member

Still missing the kep.yaml update.

@kerthcet
Copy link
Member Author

Update the stage to beta.

###### What steps should be taken if SLOs are not being met to determine the problem?
N/A
Check the metrics to see whether it was caused by this feature, if so, disable the feature gate.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do we determine that this feature is the problem?

Copy link
Member Author

@kerthcet kerthcet Sep 27, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To some extent, we can observe this via the Metric plugin_execution_duration_seconds{plugin="PodTopologySpread"}, if we see obviously execution time latency when enabling the feature-gate, then we may have some problems in PodTopologySpread plugin.

Signed-off-by: kerthcet <[email protected]>
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Sep 27, 2022
Copy link
Member

@alculquicondor alculquicondor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm from sig-scheduling

```
6. Both pods will be scheduled successfully.
- Details: We can only observe the behaviors based on pod scheduling results.
We can follow the steps described at [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how is this related?
I would just remove this line

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In case someone want to know the details about how to reproduce this. I'll remove this.

Signed-off-by: kerthcet <[email protected]>
@alculquicondor
Copy link
Member

/approve
/hold for prr

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 27, 2022
@kerthcet
Copy link
Member Author

cc @wojtek-t for PRR.

Copy link
Member

@wojtek-t wojtek-t left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple small nits - other than that LGTM.

are missing a bunch of machinery and tooling and can't do that now.
-->

Not yet, but it will be tested manually prior to upgrade following below steps:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The scenario LGTM - please update the PRR once you run it (fine to do this after feature freeze, but please do that before graduating the feature to beta in k/k).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then let's merge this PR first for I may leave several days.. And I'll update this section after.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SG

@kerthcet
Copy link
Member Author

cc @wojtek-t for another round of review. Thanks.


###### Are there any tests for feature enablement/disablement?
No, appropriate unit tests will be added for Alpha.
Yes, both unit tests and integration tests are added.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please link them here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated @wojtek-t

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those aren't typical enablement/disablement tests - those test the feature when it is enabled/disabled.
The enablement/disablement tests change whether the feature is enabled/disabled in the middle of the test.

On the scheduler side this seems to be good enough, because in scheduler this is basically "in-memory" feature.
So maybe please add something like:

"In the scheduler, this is in-memory feature, so only tests checking both feature being enabled and disabled were added".

However, this KEP is also introducing an API change, so a test similar to this one would be useful on the registry side:
https://github.com/kubernetes/kubernetes/pull/97058/files#diff-7826f7adbc1996a05ab52e3f5f02429e94b68ce6bce0dc534d1be636154fded3R246-R282

Would you be able to add something like that?
I don't want to block this PR, so if you could add here that a strategy test will be added and add that to beta graduation criteria, I would be fine.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I add the test here kubernetes/kubernetes#112805, PTAL @wojtek-t

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kerthcet - I don't want to block Beta on it - can you please add here that such test will be added (and add that to beta graduation criteria) and I will approve the PRR then?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated the enablement tests again. PTAL.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kerthcet the KEP freeze is tomorrow. Just update this PR to say that the tests will be added (linking to the PR is fine too).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated.

@alculquicondor
Copy link
Member

/lgtm
/label tide/merge-method-squash

@k8s-ci-robot k8s-ci-robot added the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label Oct 6, 2022
@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 6, 2022
@wojtek-t
Copy link
Member

wojtek-t commented Oct 6, 2022

/lgtm
/approve PRR

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 6, 2022
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: alculquicondor, kerthcet, wojtek-t

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 6, 2022
@k8s-ci-robot k8s-ci-robot merged commit eb13a25 into kubernetes:master Oct 6, 2022
@k8s-ci-robot k8s-ci-robot added this to the v1.26 milestone Oct 6, 2022
@kerthcet kerthcet deleted the feat/graduate-nodeInclusionPoplicy-to-beta branch October 6, 2022 07:27
ahmedtd pushed a commit to ahmedtd/enhancements that referenced this pull request Feb 2, 2023
)

* Graduate NodeInclusionPolicy to Beta

Signed-off-by: kerthcet <[email protected]>

* update PRR files

Signed-off-by: kerthcet <[email protected]>

* update the stage to beta

Signed-off-by: kerthcet <[email protected]>

* address comments

Signed-off-by: kerthcet <[email protected]>

* address comments

Signed-off-by: kerthcet <[email protected]>

* Make sure feature gate enable/disable tested

Signed-off-by: kerthcet <[email protected]>

* add feature gate enabled/disabled testcases

Signed-off-by: kerthcet <[email protected]>

* Add descriptions about feature enable/disable tests

Signed-off-by: kerthcet <[email protected]>

Signed-off-by: kerthcet <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants