Skip to content
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

CBOR Serializer #4222

Open
59 tasks done
benluddy opened this issue Sep 19, 2023 · 54 comments
Open
59 tasks done

CBOR Serializer #4222

benluddy opened this issue Sep 19, 2023 · 54 comments
Assignees
Labels
sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status

Comments

@benluddy
Copy link
Contributor

benluddy commented Sep 19, 2023

Enhancement Description

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

@k8s-ci-robot k8s-ci-robot added the needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. label Sep 19, 2023
@benluddy
Copy link
Contributor Author

/sig api-machinery

@k8s-ci-robot k8s-ci-robot added sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Sep 19, 2023
@npolshakova
Copy link

npolshakova commented Sep 22, 2023

Hello @benluddy, 1.29 Enhancements team here! Is this enhancement targeting 1.29? If it is, can you follow the instructions here to opt in the enhancements and make sure the lead-opted-in label is set so it can get added to the tracking board? Thanks!

@deads2k
Copy link
Contributor

deads2k commented Sep 25, 2023

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

@k8s-ci-robot k8s-ci-robot added the stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status label Sep 25, 2023
@k8s-ci-robot k8s-ci-robot added this to the v1.29 milestone Sep 25, 2023
@k8s-ci-robot k8s-ci-robot added the lead-opted-in Denotes that an issue has been opted in to a release label Sep 25, 2023
@rayandas
Copy link
Member

Hello @benluddy 👋, v1.29 Enhancements team here.

Just checking in as we approach enhancements freeze on 01:00 UTC, Friday, 6th October, 2023.

This enhancement is targeting for stage alpha for v1.29 (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.
  • KEP status is marked as implementable for latest-milestone: 1.29.
  • KEP readme has a updated detailed test plan section filled out
  • KEP readme has up to date graduation criteria
  • KEP has a production readiness review that has been completed and merged into k/enhancements.

For this KEP, we would just need to update the following:

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. Thank you!

@rayandas rayandas moved this to At Risk for Enhancements Freeze in 1.29 Enhancements Tracking Sep 26, 2023
@rayandas
Copy link
Member

rayandas commented Oct 4, 2023

Hi @benluddy 👋🏽 checking in once more as we approach the 1.29 enhancement freeze deadline on 01:00 UTC, Friday, 6th October, 2023. The status of this enhancement is marked as at risk for enhancement freeze.
It looks like updating and merging PR #4223 will address most of the requirements. Let me know if I missed anything. Thanks.

@rayandas
Copy link
Member

rayandas commented Oct 5, 2023

As #4223 is merged, marking this as Tracked for Enhancements Freeze. 🚀 Thanks.

@rayandas rayandas moved this from At Risk for Enhancements Freeze to Tracked for Enhancements Freeze in 1.29 Enhancements Tracking Oct 5, 2023
@taniaduggal
Copy link

Hey there @benluddy ! 👋, v1.29 Docs team shadow here.
Does this enhancement work planned for v1.29 require any new docs or modifications to existing docs?
If so, please follow the steps here to open a PR against dev-1.29 branch in the k/website repo. This PR can be just a placeholder at this time and must be created before Thursday, 19 October 2023.
Also, take a look at Documenting for a release to get yourself familiarized with the docs requirement for the release.
Thank you!

@taniaduggal
Copy link

Hey there @benluddy ! ,The deadline to open a placeholder PR against k/website for required documentation is Thursday, 19 October. Could you please update me on the status of docs for this enhancement? Thank you!

@benluddy
Copy link
Contributor Author

Hi @taniaduggal, thanks for the reminder. I've opened a placeholder PR: kubernetes/website#43557.

@rayandas
Copy link
Member

Hey again @benluddy 👋, 1.29 Enhancements team here,

Just checking in as we approach code freeze at 01:00 UTC Wednesday 1st November 2023: .

Here's where this enhancement currently stands:

  • 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, looks like the following PRs are open and needs to be merged before code freeze.

The status of this KEP is currently at risk for Code Freeze.

Please update the issue description to include all the related PRs of this KEP under the alpha section in the issue description.

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

@rayandas rayandas moved this from Tracked for Enhancements Freeze to At Risk for Code Freeze in 1.29 Enhancements Tracking Oct 29, 2023
@a-mccarthy
Copy link

Hi @benluddy, 👋 from the v1.29 Release Team-Communications! We would like to check if you have any plans to publish a blog for this KEP regarding new features, removals, and deprecations for this release.

If so, you need to open a PR placeholder in the website repository.
The deadline will be on Tuesday 14th November 2023 (after the Docs deadline PR ready for review)

Here is the 1.29 calendar

@benluddy
Copy link
Contributor Author

@rayandas Thanks. This will have to target a later release, it won't be ready for 1.29.

@npolshakova
Copy link

Hello @benluddy, 👋 1.29 Enhancements lead here,

Unfortunately, the implementation (code related) PR(s) associated with this enhancement is not in the merge-ready state by code-freeze and hence this enhancement is now removed from the 1.29 milestone.

If you still wish to progress this enhancement in 1.29, please file an exception request. Thanks!

/milestone clear

@k8s-ci-robot k8s-ci-robot removed this from the v1.29 milestone Nov 1, 2023
@npolshakova npolshakova moved this from At Risk for Code Freeze to Removed from Milestone in 1.29 Enhancements Tracking Nov 1, 2023
@salehsedghpour
Copy link

/remove-label lead-opted-in

@k8s-ci-robot k8s-ci-robot removed the lead-opted-in Denotes that an issue has been opted in to a release label Jan 6, 2024
@deads2k
Copy link
Contributor

deads2k commented Feb 8, 2024

trying again for alpha in 1.30, with no KEP changes

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

@jpbetz
Copy link
Contributor

jpbetz commented Oct 1, 2024

cc @benluddy to double me here- We do want this in for alpha in 1.32, correct?

@benluddy
Copy link
Contributor Author

benluddy commented Oct 1, 2024

cc @benluddy to double me here- We do want this in for alpha in 1.32, correct?

Yes, thanks.

@sftim
Copy link
Contributor

sftim commented Oct 10, 2024

I see that the feature gate is named CBORSerializer.

  • Do we need a feature gate that covers the serving side of the API server?

My thinking:
either we have one feature gate that covers CBOR in the backing store and another feature gate that covers supporting CBOR on the wire to / from clients, or we have two feature gates and the names clearly indicate which thing you're enabling.

For the first option, I'd rename the existing feature gate. For the second option (which I prefer), we'd make up two new names. Some code paths might become active if either of the two gates is enabled.

For initial alpha, we could fail API server startup if the two gates are not set the same. Later in the lifecycle of this enhancement we could potentially graduate one side to beta but off by default whilst the other side is still alpha. We could also have one part be on by default and beta whilst the other side is off by default and beta.

@sftim
Copy link
Contributor

sftim commented Oct 10, 2024

Also also, placeholder docs PR is due on 2024-10-24. I hope that kubernetes/website#46230 would be merged into main by then.

@tjons
Copy link
Contributor

tjons commented Oct 10, 2024

Hello @benluddy 👋, Enhancements team here.

Just checking in as we approach enhancements freeze on 02:00 UTC Friday 11th October 2024 / 19:00 PDT Thursday 10th October 2024.

This enhancement is targeting for stage alpha for v1.32 (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.
  • KEP status is marked as implementable for latest-milestone: v1.32.
  • 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 on Thursday, October 3rd, 2024 so that the PRR team has enough time to review your KEP.

For this KEP, we would just need to update the following:

  • Update the KEP readme with missing sections per the KEP template: https://github.com/kubernetes/enhancements/tree/master/keps/NNNN-kep-template. In particular, Upgrade/Downgrade Strategy and Version Skew Strategy sections are missing,
    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!

@benluddy
Copy link
Contributor Author

Do we need a feature gate that covers the serving side of the API server?

Good question. Can we imagine a latent issue that would be serious enough to warrant disabling either storage or serving, but not both? I hesitate to propose a second server-side gate unless it's necessary.

@sftim
Copy link
Contributor

sftim commented Oct 10, 2024

Can we imagine a latent issue that would be serious enough to warrant disabling either storage or serving, but not both?

You might have stored CBOR data and not want your control plane to break, but have found a bug in the beta (or alpha) implementation of serving.

@benluddy
Copy link
Contributor Author

Decoding stored CBOR data can't be disabled by feature gate. The gate only controls the storage encoding for new resources.

@jpbetz
Copy link
Contributor

jpbetz commented Oct 10, 2024

Re: feature gates

This was discussed early on. My recollection is that we wanted to the ability to 'turn it off" in an emergency in the safest way possible. I'm onboard with a single feature gate where we stop storing an serving CBOR, but continue to support reading it from storage. My understanding is that this is the current proposal. I like it because, IF we are somehow corrupting data, it can be hard to know exactly what that is happening, so just turning of storing or just turning of serving code risks having a problem persist unexpectedly because the code path where the actual problem hasn't been turned off.

@benluddy
Copy link
Contributor Author

Rereading @sftim's original comment, it seems the functionality of the proposed server-side gate may be unclear or incomplete in the current text. The intended functionality of the proposed server-side gate is to toggle both serving and the CR storage encoding.

@sftim
Copy link
Contributor

sftim commented Oct 10, 2024

I'll try to follow up on Slack, to keep this KEP issue concise.

@tjons
Copy link
Contributor

tjons commented Oct 11, 2024

With all the requirements fulfilled this enhancement is now marked as tracked for the upcoming enhancements freeze 🚀

@tjons tjons moved this from At risk for enhancements freeze to Tracked for enhancements freeze in 1.32 Enhancements Tracking Oct 11, 2024
@mbianchidev
Copy link
Member

Hey @benluddy 👋 from the v1.32 Communications Team!

We'd love for you to consider writing 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 it is graduating.

To opt-in, let us know by opening a Feature Blog placeholder PR against the website repository by 30th Oct 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 finalize the blog schedule.

@AnshumanTripathi
Copy link

Hello @benluddy 👋, 1.32 Docs Shadow here.
Does this enhancement work planned for 1.32 require any new docs or modification to existing docs?
If so, please follows the steps here to open a PR against dev-1.32 branch in the k/website repo. This PR can be just a placeholder at this time and must be created before Thursday October 24th 2024 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!

@AnshumanTripathi
Copy link

Hi @benluddy 👋,

Just a reminder to open a placeholder PR against dev-1.32 branch in the k/website repo for this (steps available here). The deadline for this is Thursday Oct 24 at 18:00 PDT.

Thanks,

Anshuman

@benluddy
Copy link
Contributor Author

Thanks @AnshumanTripathi, I've opened a placeholder PR: kubernetes/website#48464.

@mbianchidev
Copy link
Member

Hey @benluddy 👋 from the v1.32 Communications Team!

We'd love for you to consider writing 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 it is graduating.

To opt-in, let us know by opening a Feature Blog placeholder PR against the website repository by 30th Oct 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 finalize the blog schedule.

Hey hey :)
A reminder since the blog opt-in deadline is close!

@tjons
Copy link
Contributor

tjons commented Nov 4, 2024

Hello @benluddy 👋, Enhancements team here

With all the implementation(code related) PRs merged as per the issue description:

This enhancement is now marked as tracked for code freeze for the v1.32 Code Freeze!

Please note that KEPs targeting stable need to have the status field marked as implemented in the kep.yaml file after code PRs are merged and the feature gates are removed.

@tjons tjons moved this from Tracked for enhancements freeze to Tracked for code freeze in 1.32 Enhancements Tracking Nov 4, 2024
@dipesh-rawat
Copy link
Member

Hello 👋, 1.33 Enhancements Lead here.

I’m closing milestone 1.32 now. If you'd like to work on this enhancement in v1.33, 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.33 using /milestone v1.33.
Thanks!

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

@k8s-ci-robot k8s-ci-robot removed this from the v1.32 milestone Jan 12, 2025
@k8s-ci-robot k8s-ci-robot removed the lead-opted-in Denotes that an issue has been opted in to a release label Jan 12, 2025
@dipesh-rawat dipesh-rawat removed the tracked/yes Denotes an enhancement issue is actively being tracked by the Release Team label Jan 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status
Projects
Status: Removed from Milestone
Status: Removed from Milestone
Status: Removed from Milestone
Status: Tracked for code freeze
Development

No branches or pull requests