enhancements icon indicating copy to clipboard operation
enhancements copied to clipboard

Snapshottable API server cache

Open serathius opened this issue 1 year ago β€’ 32 comments

Enhancement Description

  • One-line enhancement description (can be used as a release note): Improve apiserver watch cache to serve pagination.

  • Kubernetes Enhancement Proposal: https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/4988-snapshottable-api-server-cache/README.md

  • Discussion Link: SIG api machinery August 21 meeting https://docs.google.com/document/d/1x9RNaaysyO0gXHIr1y50QFbiL1x8OWnk2v3XnrdkT5Y/edit?tab=t.0#heading=h.jnlasazf8f1g

  • Primary contact (assignee): serathius@

  • Responsible SIGs: api-machinery

  • Enhancement target (which target equals to which milestone):

    • Alpha release target (x.y): 1.33
    • Beta release target (x.y):
    • Stable release target (x.y):
  • [x] Alpha

    • [x] KEP (k/enhancements) update PR(s): https://github.com/kubernetes/enhancements/pull/5017
    • [x] Code (k/k) update PR(s):
      • [x] https://github.com/kubernetes/kubernetes/pull/130242
      • [x] https://github.com/kubernetes/kubernetes/pull/130279
      • [x] https://github.com/kubernetes/kubernetes/pull/130280
      • [x] https://github.com/kubernetes/kubernetes/pull/130443
      • [x] https://github.com/kubernetes/kubernetes/pull/130589
      • [x] https://github.com/kubernetes/kubernetes/pull/130588
      • [x] https://github.com/kubernetes/kubernetes/pull/130423
      • [x] https://github.com/kubernetes/kubernetes/pull/130475
    • [x] Docs (k/website) update PR(s):
      • [x] https://github.com/kubernetes/website/pull/49941
  • [ ] Beta 1.34

    • [ ] KEP (k/enhancements) update PR(s):
      • [x] https://github.com/kubernetes/enhancements/pull/5355
      • Consider introducing time based compaction for watch cache
    • [ ] Code (k/k) update PR(s):
      • [ ] Re-enable conformance test https://github.com/kubernetes/test-infra/pull/34587
    • [ ] Docs (k/website) update(s):

serathius avatar Dec 11 '24 14:12 serathius

/sig api-machinery

serathius avatar Dec 11 '24 14:12 serathius

Hi @serathius the discussion link is private?

fuweid avatar Dec 11 '24 15:12 fuweid

No, it's api-machinery document, so requires you to be part of the apimachinery mailing list.

serathius avatar Dec 11 '24 15:12 serathius

@serathius Is the intent to target alpha for 1.33 or is this future work? There's already a ton of work going on in the watch cache, so I'm perfectly happy to focus on the ongoing efforts for 1.33, but wanted to check to make sure I set milestones and lead-opt-in correctly.

jpbetz avatar Jan 27 '25 18:01 jpbetz

My goal is to target v1.33, It might be hard to get review from @deads2k

serathius avatar Jan 27 '25 18:01 serathius

/milestone v1.33

serathius avatar Feb 13 '25 19:02 serathius

@jpbetz @dipesh-rawat this is target to v1.33 and the KEP was merged. Should the lead-opted-in and tracked label be added and tracked by release team?

pacoxu avatar Feb 14 '25 07:02 pacoxu

@serathius @pacoxu Unfortunately, the enhancement freeze deadline has passed, and this KEP issue was not lead-opted-in, so it wasn’t added to the tracking board for the v1.33 release. Post-freeze, we've disabled the automated sync job for KEP issues to the tracking board.

To move forward, we’ll need a short exception request filed so the team can add the lead-opted-in label and manually include this in the tracking board.

If you still wish to progress this enhancement in v1.33, please file an exception request as soon as possible, within three days. If you have any questions, you can reach out in the #release-enhancements channel on Slack and we'll be happy to help. Thanks!

(cc v1.33 Release Lead @npolshakova)

dipesh-rawat avatar Feb 14 '25 15:02 dipesh-rawat

Ups, @jpbetz is OOO. @deads2k can you take a look?

serathius avatar Feb 14 '25 17:02 serathius

Sent https://groups.google.com/g/kubernetes-sig-release/c/CVYYVtjOa78

serathius avatar Feb 14 '25 17:02 serathius

@serathius Thanks for sending the exception request for this KEP. While validating the KEP files we have in the repo, I noticed that the KEP README is missing a few elements compared to latest template.

  • Design Details section is missing.
  • In the 'Implementation History' section, it would be helpful to mention that the KEP targets alpha in 1.33, as it's currently left blank.

These might need to be addressed for us to consider the KEP as complying with the latest template and be considered for the release. This may mean additional days are needed for the KEP to get merged

dipesh-rawat avatar Feb 14 '25 19:02 dipesh-rawat

Sent https://github.com/kubernetes/enhancements/pull/5175

serathius avatar Feb 17 '25 09:02 serathius

Merged.

serathius avatar Feb 17 '25 14:02 serathius

Since the release team has APPROVED the exception request here. This will be considered to be added to the milestone for v1.33 release.

dipesh-rawat avatar Feb 17 '25 14:02 dipesh-rawat

Hello @serathius πŸ‘‹, v1.33 Enhancements team here.

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

Here's where this enhancement currently stands:

  • [x] 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.33. KEPs targeting stable will need to be marked as implemented after code PRs are merged and the feature gates are removed.
  • [x] KEP readme has up-to-date graduation criteria
  • [x] 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 on Thursday 6th February 2025 so that the PRR team has enough time to review your KEP.

With all the KEP requirements in place and merged into k/enhancements, this enhancement is all good for the upcoming enhancements freeze. πŸš€

Could we ensure that this issue has an assignee please.

The status of this enhancement is marked as Tracked for enhancements freeze. Please keep the issue description up-to-date with appropriate stages as well. Thank you!

/milestone v1.33 /label tracked/yes

dipesh-rawat avatar Feb 17 '25 14:02 dipesh-rawat

@serathius I've manually added this KEP to the tracking board and marked it as tracked for enhancements freezeπŸš€

We would need one of the SIG leads to add the lead-opted-in label to this one too. Would you be able to request this from the leads whenever you get a chance? Thanks!

dipesh-rawat avatar Feb 17 '25 14:02 dipesh-rawat

/label lead-opted-in /milestone v1.33

deads2k avatar Feb 17 '25 15:02 deads2k

Hello @serathius :wave:, v1.33 Docs Lead here.

Does this enhancement work planned for v1.33 require any new docs or modification to existing docs?

If so, please follow the steps here to open a PR against dev-1.33 branch in the k/website repo. This PR can be just a placeholder at this time and must be created before Thursday 27th February 2025 18:00 PDT.

Also, take a look at Documenting for a release to get yourself familiarize with the docs requirement for the release.

Thank you!

rayandas avatar Feb 23 '25 10:02 rayandas

cc

xigang avatar Feb 25 '25 13:02 xigang

Hi @serathius πŸ‘‹ -- this is Agustina (@aibarbetta) from the 1.33 Communications Team!

For the 1.33 release, we are currently in the process of collecting and curating a list of potential feature blogs, and we'd love for you to consider writing one for your enhancement!

As you may be aware, feature blogs are a great way to communicate to users about features which fall into (but not limited to) the following categories:

  • This introduces some breaking change(s)
  • This has significant impacts and/or implications to users
  • ...Or this is a long-awaited feature, which would go a long way to cover the journey more in detail πŸŽ‰

To opt in to write a feature blog, could you please let us know and open a "Feature Blog placeholder PR" (which can be only a skeleton at first) against the website repository by Wednesday, 5th March, 2025? For more information about writing a blog, please find the blog contribution guidelines πŸ“š

[!Tip] Some timeline to keep in mind:

  • 02:00 UTC Wednesday, 5th March, 2025: Feature blog PR freeze
  • Monday, 7th April, 2025: Feature blogs ready for review
  • You can find more in the release document

[!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.

aibarbetta avatar Feb 28 '25 00:02 aibarbetta

Hi @serathius πŸ‘‹, 1.33 Communications Team here again!

This is a gentle reminder for the feature blog deadline mentioned above, which is 02:00 UTC Wednesday, 5th March, 2025. To opt in, please let us know and open a Feature Blog placeholder PR against k/website by the deadline. If you have any questions, please feel free to reach out to us!

[!Tip] Some timeline to keep in mind:

  • 02:00 UTC Wednesday, 5th March, 2025: Feature blog PR freeze
  • Monday, 7th April, 2025: Feature blogs ready for review
  • You can find more in the release document

[!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.

aibarbetta avatar Mar 03 '25 23:03 aibarbetta

Hey again @serathius πŸ‘‹, v1.33 Enhancements team here,

Just checking in as we approach code freeze at 02:00 UTC Friday 21st March 2025 / 19:00 PDT Thursday 20th March 2025.

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 PRs 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 need to be merged before code freeze (and we need to update the Issue description to include all the related PRs of this KEP):

  • https://github.com/kubernetes/kubernetes/pull/130242
  • https://github.com/kubernetes/kubernetes/pull/130279
  • https://github.com/kubernetes/kubernetes/pull/130280
  • https://github.com/kubernetes/kubernetes/pull/130443
  • https://github.com/kubernetes/kubernetes/pull/130589
  • https://github.com/kubernetes/kubernetes/pull/130588
  • https://github.com/kubernetes/kubernetes/pull/130423
  • https://github.com/kubernetes/kubernetes/pull/130475

Additionally, please let me know if there are any other PRs in k/k not listed above that we should track for this KEP, so that we can maintain accurate status.

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

The status of this enhancement is marked as at risk for code freeze.

As always, we are here to help if any questions come up. Thanks!

bianbbc87 avatar Mar 04 '25 06:03 bianbbc87

Hi @serathius πŸ‘‹, v1.33 Enhancements team here,

Just a quick friendly reminder as we approach the code freeze later this week, at 02:00 UTC Friday 21st March 2025 / 19:00 PDT Thursday 20th March 2025.

The current status of this enhancement is marked as At risk for code freeze. There are a few requirements mentioned in the comment https://github.com/kubernetes/enhancements/issues/4988#issuecomment-2696318755 that still need to be completed.

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

dipesh-rawat avatar Mar 17 '25 17:03 dipesh-rawat

Done, coding is done!

serathius avatar Mar 20 '25 13:03 serathius

@serathius Thanks, for the update and clarifying the required changes needed for this KEP are merged. We can mark now this as tracked since all required PRs are merged.

This enhancement is now marked as tracked for code freeze for the 1.33 Code Freeze!

dipesh-rawat avatar Mar 20 '25 16:03 dipesh-rawat

Hi @serathius πŸ‘‹, 1.34 Enhancements Lead here.

I am closing the v1.33 milestone now.

If you'd like to work on this enhancement in v1.34, please have the SIG lead opt-in by adding the lead-opted-in label, which ensures it gets added to the tracking board. Also, please set the milestone to v1.34 using /milestone v1.34.

Thanks!

/remove-label lead-opted-in /remove-label tracked/yes /milestone clear

jenshu avatar May 16 '25 16:05 jenshu

Send a PR with proposal to go to Beta https://github.com/kubernetes/enhancements/pull/5355

serathius avatar Jun 03 '25 17:06 serathius

/label lead-opted-in /milestone v1.34

jpbetz avatar Jun 03 '25 17:06 jpbetz

Hi @serathius πŸ‘‹, v1.34 Enhancements team here.

This is a reminder of the upcoming PRR Freeze on Thursday 12th June 2025.

By this date, there must be a PR open in k/enhancements with:

  • The KEP's PRR questionnaire filled out.
  • The kep.yaml updated with the stage, latest-milestone, and milestone struct filled out.
  • A PRR approval file with the PRR approver listed for the stage the KEP is targeting.

Having the PRR questionnaire filled out by this deadline will help ensure that the PRR team has enough time to review your KEP before Enhancements Freeze on Friday 20th June 2025. For more information on the PRR process, see here.

jenshu avatar Jun 06 '25 03:06 jenshu

Hello again @serathius πŸ‘‹, v1.34 Enhancements team here.

Just checking in as we approach enhancements freeze on 21:00 UTC Friday 20th June 2025 / 14:00 PST Friday 20th June 2025.

This enhancement is targeting stage beta for v1.34 (correct me, if otherwise)

Here’s where this enhancement currently stands:

  • [X] 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.34. KEPs targeting stable will need to be marked as implemented after code PRs are merged.
  • [X] KEP readme has up-to-date graduation criteria.
  • [X] KEP has submitted a production readiness review request for approval and has a reviewer assigned.
  • [X] KEP has a production readiness review that has been completed and merged into k/enhancements. (For more information on the PRR process, check here).

With all the KEP requirements in place and merged into k/enhancements, this enhancement is all good for the upcoming enhancements freeze. πŸš€

The status of this enhancement is marked as Tracked for enhancements freeze. Please keep the issue description up-to-date with appropriate stages as well. Thank you!

jenshu avatar Jun 11 '25 04:06 jenshu