enhancements icon indicating copy to clipboard operation
enhancements copied to clipboard

KEP-4622: Add a TopologyManager policy option for MaxAllowableNUMANodes

Open cyclinder opened this issue 1 year ago β€’ 66 comments
trafficstars

Enhancement Description

  • One-line enhancement description (can be used as a release note): Add a config option to the kubelet that allows us to configure the value of maxAllowableNUMANodes in the TopologyManager
  • Kubernetes Enhancement Proposal: https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/4622-topologymanager-max-allowable-numa-nodes/README.md
  • Discussion Link: https://github.com/kubernetes/kubernetes/pull/124148#issuecomment-2095757715
  • Primary contact (assignee): @klueska @ffromani @cyclinder
  • Responsible SIGs: /sig node
  • Enhancement target (which target equals to which milestone):
    • Alpha release target (x.y):
    • Beta release target (x.y): 1.31
    • Stable release target (x.y): 1.33
  • [x] Beta
    • [x] KEP (k/enhancements) update PR(s): https://github.com/kubernetes/enhancements/pull/4624
    • [x] Code (k/k) update PR(s): https://github.com/kubernetes/kubernetes/pull/124148
    • [x] Docs (k/website) update PR(s): https://github.com/kubernetes/website/pull/46870
  • [ ] Stable
    • [ ] KEP (k/enhancements) update PR(s): https://github.com/kubernetes/enhancements/pull/5166
    • [ ] Code (k/k) update PR(s):
    • [ ] Docs (k/website) update(s):

Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.

### Tasks
- [x] Feature implemented behind the existing static policy feature flag
- [x] Initial unit tests completed and coverage is improved
- [x] Documents are improved and enough guidance and examples can be given to potential users.
- [x] Add an e2e test to verify the input validation.

cyclinder avatar May 08 '24 02:05 cyclinder

/sig node

cyclinder avatar May 08 '24 02:05 cyclinder

/assign @cyclinder

cyclinder avatar May 08 '24 02:05 cyclinder

I've added this to the tracking sheet for 1.31: https://docs.google.com/document/d/1U10J0WwgWXkdYrqWGGvO8iH2HKeerQAlygnqgDgWv4E/edit

klueska avatar May 16 '24 11:05 klueska

/label lead-opted-in /milestone v1.31 /stage alpha

SergeyKanzhelev avatar May 23 '24 20:05 SergeyKanzhelev

Hello @cyclinder @klueska πŸ‘‹, Enhancements team here.

Just checking in as we approach enhancements freeze on 02:00 UTC Friday 14th June 2024 / 19:00 PDT Thursday 13th June 2024.

This enhancement is targeting stage alpha for v1.31 (correct me, if otherwise)

Here's where this enhancement currently stands:

  • [ ] KEP readme using the latest template has been merged into the k/enhancements repo.
  • [x] KEP status is marked as implementable for latest-milestone: v1.31. KEPs targeting stable will need to be marked as implemented after code PRs are merged and the feature gates are removed.
  • [ ] KEP readme has up-to-date graduation criteria
  • [ ] KEP has a production readiness review that has been completed and merged into k/enhancements. (For more information on the PRR process, check here). If your production readiness review is not completed yet, please make sure to fill the production readiness questionnaire in your KEP by the PRR Freeze deadline of Thursday 6th June 2024 so that the PRR team has enough time to review your KEP.

For this KEP, it looks like we still need to do the following:

  • [ ] Merge https://github.com/kubernetes/enhancements/pull/4624 before the enhancement freeze date.
  • [ ] Update KEP stage to alpha if that's the intended stage, right now it looks as though the KEP is targeting beta for v1.31
  • [ ] Add graduation criteria for alpha if that's the intended stage targeted

The status of this enhancement is marked as at risk for enhancement freeze. Please keep the issue description up-to-date with appropriate stages as well.

If you anticipate missing enhancements freeze, you can file an exception request in advance. Thank you!

prianna avatar Jun 05 '24 04:06 prianna

Hello @cyclinder @klueska πŸ‘‹, Enhancements team here.

Just checking in as we approach enhancements freeze on 02:00 UTC Friday 14th June 2024 / 19:00 PDT Thursday 13th June 2024.

This enhancement is targeting stage alpha for v1.31 (correct me, if otherwise)

In this case we are opting in the new sig-arch recommendations: https://github.com/kubernetes/community/pull/7828/commits/d060ec0d6e51f7f476f73975573924b87b3927df and starting directly to beta stage as the change is very safe and self-contained.

cc @SergeyKanzhelev @klueska

ffromani avatar Jun 05 '24 15:06 ffromani

@ffromani @cyclinder I can update targeting for this enhancement, could you please update the issue description with the stages and targeted milestones accordingly?

prianna avatar Jun 05 '24 16:06 prianna

/stage beta

prianna avatar Jun 12 '24 15:06 prianna

Hi @priann, I've updated the PR descriptions, Is this okay with you? and please let me know if you need me to update anything else.

cyclinder avatar Jun 13 '24 06:06 cyclinder

@cyclinder: The description looks good, please make sure to get #4624 merged before the enhancements freeze deadline!

sreeram-venkitesh avatar Jun 13 '24 13:06 sreeram-venkitesh

@cyclinder @klueska This is super close to being merged it looks like, but we’re at the freeze deadline. Please file an exception if you want this included in the release.

prianna avatar Jun 14 '24 02:06 prianna

@prianna We've already received an exception request for this KEP for 1 day. We can keep this as at risk for enhancements freeze for now and come back once the decision for the exception request is made.

sreeram-venkitesh avatar Jun 14 '24 02:06 sreeram-venkitesh

Yes, I preemptively filed an exception request yesterday. It looks like the PR is now merged though.

klueska avatar Jun 14 '24 06:06 klueska

@klueska Awesome, thanks for the update! I will update the KEP once I get to my laptop.

sreeram-venkitesh avatar Jun 14 '24 07:06 sreeram-venkitesh

Hey @sreeram-venkitesh can you let me know if this one will be officially moved to Tracked for Enhancement Freeze? πŸ‘€

mbianchidev avatar Jun 14 '24 11:06 mbianchidev

Yes it will be, I'm traveling right now. I will update it in the board in some time.

sreeram-venkitesh avatar Jun 14 '24 11:06 sreeram-venkitesh

Thanks @sreeram-venkitesh!

Sooo hey @cyclinder

:wave: from the v1.31 Communications Team! We'd love for you to opt in to write a feature blog about your enhancement! Some reasons why you might want to write a blog for this feature include (but are not limited to) if this introduces breaking changes, is important to our users, or has been in progress for a long time and is graduating. Or like in this case, a flag that enables a new kind of config.

To opt in, let us know and open a Feature Blog placeholder PR against the website repository by 3rd July, 2024. For more information about writing a blog see the blog contribution guidelines.

Note: In your placeholder PR, use XX characters for the blog date in the front matter and file name. We will work with you on updating the PR with the publication date once we have a final number of feature blogs for this release.

mbianchidev avatar Jun 14 '24 12:06 mbianchidev

KEP is marked as tracked for enhancements freeze as the exception was approved earlier.

CC: @klueska @Priyankasaggu11929 @neoaggelos

sreeram-venkitesh avatar Jun 14 '24 12:06 sreeram-venkitesh

Hi @mbianchidev, I'd love to write a feature blog for this, I'll open a Feature Blog placeholder PR these days, thanks!

cyclinder avatar Jun 17 '24 06:06 cyclinder

Hi @mbianchidev, I'd love to write a feature blog for this, I'll open a Feature Blog placeholder PR these days, thanks!

Awesome! Let me know if you need anything now or later on :)

mbianchidev avatar Jun 17 '24 17:06 mbianchidev

Hi @klueska, Do you think we should write a blog for this kep, if so, I can do that.

cyclinder avatar Jun 18 '24 01:06 cyclinder

@cyclinder @klueska v1.31 Docs team here. I created a draft PR for this in the release docs. Can you review it? Feel free to add to the PR.

https://github.com/kubernetes/website/pull/46870

LaurentGoderre avatar Jun 18 '24 17:06 LaurentGoderre

Hey @cyclinder comms here: have you created a placeholder for the blog? Need any help? Let us know!

mbianchidev avatar Jul 03 '24 09:07 mbianchidev

Hi @mbianchidev Thanks for taking care of this. I incorrectly assumed that https://github.com/kubernetes/website/pull/46870 was that placeholder PR, so I didn't create the PR, now let me create it! sorry.

cyclinder avatar Jul 03 '24 10:07 cyclinder

https://github.com/kubernetes/website/pull/47073

cyclinder avatar Jul 03 '24 10:07 cyclinder

Hey again @cyclinder πŸ‘‹ Enhancements team here,

Just checking in as we approach code freeze at 02:00 UTC Wednesday 24th July 2024 / 19:00 PDT Tuesday 23rd July 2024.

Here's where this enhancement currently stands:

  • [x] All PRs to the Kubernetes repo that are related to your enhancement are linked in the above issue description (for tracking purposes).
  • [ ] All PR/s are ready to be merged (they have approved and lgtm labels applied) by the code freeze deadline. This includes tests.

For this enhancement, it looks like the following PRs are open and need to be merged before code freeze:

  • https://github.com/kubernetes/kubernetes/pull/124148

If you anticipate missing code freeze, you can file an exception request in advance.

Also, please let me know if there are other PRs in k/k we should be tracking for this KEP. As always, we are here to help if any questions come up. Thanks!

prianna avatar Jul 09 '24 04:07 prianna

Thanks for the reminder, I think https://github.com/kubernetes/kubernetes/pull/124148 can be merged before code freeze.

cyclinder avatar Jul 09 '24 08:07 cyclinder

Hey @cyclinder with the merge of https://github.com/kubernetes/kubernetes/pull/124148 as per the issue, this enhancement is now marked as tracked for code freeze for the 1.31 Code Freeze!

prianna avatar Jul 17 '24 16:07 prianna

@klueska @ffromani @cyclinder What is our plan for this feature for 1.32?

kannon92 avatar Aug 20 '24 20:08 kannon92

I think we can add a metric to record the pod_admission_time at least.

cyclinder avatar Aug 21 '24 02:08 cyclinder