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

Server-side Apply #555

Open
apelisse opened this Issue Apr 6, 2018 · 35 comments

Comments

@apelisse
Member

apelisse commented Apr 6, 2018

Feature Description

  • One-line feature description (can be used as a release note): Move "apply" and declarative object management from kubectl to the apiserver in order to fix many of the existing bugs that we can't fix today. Also use that opportunity to add "field ownership".
  • Primary contact (assignee): @apelisse @lavalamp
  • Responsible SIGs: sig-api-machinery sig-cli (wg-apply was created for that purpose).
  • Design proposal link (community repo): https://github.com/kubernetes/community/blob/master/keps/0006-apply.md
  • Link to e2e and/or unit tests: N/A
  • Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred: @lavalamp @pwittrock @erictune
  • Approver (likely from SIG/area to which feature belongs): @bgrant0607
  • Feature target (which target equals to which milestone):
    • Alpha release target (x.y) 1.13
    • Beta release target (x.y) 1.14
    • Stable release target (x.y) 1.15
@idvoretskyi

This comment has been minimized.

Member

idvoretskyi commented Apr 12, 2018

/assign @apelisse

@zparnold

This comment has been minimized.

Member

zparnold commented May 30, 2018

Looks like we still need some docs to get this feature ready for release @apelisse
Could I please get some help with that? If there’s anything I can do to assist please let me know

At a minimum we're looking to have a placeholder PR on the kubernetes/website repo. The process is fairly straightforward: checkout release-1.11 branch, make a placeholder commit, push it to your fork, and raise a PR between it and the release-1.11 branch, with /hold status.

THANKS SO MUCH!!!!!

@justaugustus

This comment has been minimized.

Member

justaugustus commented May 31, 2018

@apelisse I noticed the milestone change. Are you planning on pulling this from the 1.11 release?

@apelisse

This comment has been minimized.

Member

apelisse commented May 31, 2018

Yeah, not in 1.11. I'm updating the body.

@justaugustus

This comment has been minimized.

Member

justaugustus commented Jun 1, 2018

Thanks @apelisse!

@kwiesmueller

This comment has been minimized.

kwiesmueller commented Jul 5, 2018

Unsure if it is the right place to comment about this, but we have been working on our own kind of "server side apply" by building https://github.com/seibert-media/dimios
While this is solely a slack time project which we hope to build our future interaction with Kubernetes on, we both stumbled into problems with the entire apply process (discussed on slack with some people) but also did some thinking on how to best approach this.

While I haven't worked on K8s directly myself yet, I could imagine to contribute to this idea/feature if possible/wanted.

@apelisse

This comment has been minimized.

Member

apelisse commented Jul 6, 2018

Can you send this as an email to kubernetes-wg-apply@googlegroups.com? We can follow-up there.

@kwiesmueller

This comment has been minimized.

kwiesmueller commented Jul 12, 2018

@apelisse I am not allowed to post messages to said group (kwiesmueller@seibert-media.net)

@apelisse

This comment has been minimized.

Member

apelisse commented Jul 12, 2018

Sorry, you may need to join the group first: https://groups.google.com/forum/#!forum/kubernetes-wg-apply

Blue button, "Join group to post" (top left)

@justaugustus

This comment has been minimized.

Member

justaugustus commented Jul 18, 2018

@apelisse @kubernetes/sig-api-machinery-feature-requests @kubernetes/sig-cli-feature-requests --

This feature was removed from the previous milestone, so we'd like to check in and see if there are any plans for this in Kubernetes 1.12.

If so, please ensure that this issue is up-to-date with ALL of the following information:

  • One-line feature description (can be used as a release note):
  • Primary contact (assignee):
  • Responsible SIGs:
  • Design proposal link (community repo):
  • Link to e2e and/or unit tests:
  • Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred:
  • Approver (likely from SIG/area to which feature belongs):
  • Feature target (which target equals to which milestone):
    • Alpha release target (x.y)
    • Beta release target (x.y)
    • Stable release target (x.y)

Set the following:

  • Description
  • Assignee(s)
  • Labels:
    • stage/{alpha,beta,stable}
    • sig/*
    • kind/feature

Please note that the Features Freeze is July 31st, after which any incomplete Feature issues will require an Exception request to be accepted into the milestone.

In addition, please be aware of the following relevant deadlines:

  • Docs deadline (open placeholder PRs): 8/21
  • Test case freeze: 8/28

Please make sure all PRs for features have relevant release notes included as well.

Happy shipping!

/cc @justaugustus @kacole2 @robertsandoval @rajendar38

@apelisse

This comment has been minimized.

Member

apelisse commented Jul 18, 2018

I think everything is there @justaugustus! Thank you

@justaugustus

This comment has been minimized.

Member

justaugustus commented Jul 18, 2018

Thanks for the update, @apelisse!

@zparnold

This comment has been minimized.

Member

zparnold commented Aug 20, 2018

Hey there! @apelisse I'm the wrangler for the Docs this release. Is there any chance I could have you open up a docs PR against the release-1.12 branch as a placeholder? That gives us more confidence in the feature shipping in this release and gives me something to work with when we start doing reviews/edits. Thanks! If this feature does not require docs, could you please update the features tracking spreadsheet to reflect it?

@apelisse apelisse modified the milestones: v1.12, v1.13 Aug 21, 2018

@apelisse

This comment has been minimized.

Member

apelisse commented Aug 21, 2018

@zparnold Changed the milestone from 1.12 to 1.13 :-). You can forget about this for now, thanks.

@lavalamp

This comment has been minimized.

Member

lavalamp commented Aug 21, 2018

@lavalamp

This comment has been minimized.

Member

lavalamp commented Aug 21, 2018

Sorry, I saw this in my email and mistook it for the dry run feature issue. Yes, serverside apply is not launching in 1.12.

@kacole2

This comment has been minimized.

Contributor

kacole2 commented Aug 23, 2018

@lavalamp @apelisse I'll make the changes in the spreadsheet. thanks for making us aware! cc @justaugustus

@spiffxp

This comment has been minimized.

Member

spiffxp commented Oct 16, 2018

Are there any issues or PR's we could track to better understand what work is being done to land what functionality in 1.13 as part of this?

@apelisse

This comment has been minimized.

Member

apelisse commented Oct 16, 2018

@spiffxp We don't have an issue right now. we have a working-group for this, and we keep track of tasks in a spreadsheet. I'll try to create an issue to track the progress and increase visibility, thank you.

@lavalamp

This comment has been minimized.

Member

lavalamp commented Oct 17, 2018

Isn't this the issue?

For PRs, look here: https://github.com/kubernetes-sigs/structured-merge-diff/pulls

Also look in the main repo, search for "feature branch" in the name (e.g., Jenny has an API change out right now).

We have notes from our bi-weekly meeting here: https://docs.google.com/document/d/1j_UqnJRvB7AywfZauHybVVNCOoDDA1AGWGxzPGE08ko/edit# (join the wg-apply mailing list if you want to read)

We also have meeting recordings although we might be behind publishing them.

@AishSundar

This comment has been minimized.

AishSundar commented Oct 17, 2018

@lavalamp @apelisse what is the confidence level of this feature making it to Alpha in 1.13? Are these 3 PRs the only ones pending?

@spiffxp

This comment has been minimized.

Member

spiffxp commented Oct 17, 2018

@lavalamp right my Q was more whether any of the feature branch stuff was going to land in master, otherwise it doesn't seem like this should be on our radar; the wg-apply notes are pretty spartan in that regard

There's the roadmap doc mentioned in April, but it's unclear to me whether that's still valid, and if so, which Phase we're currently in vs. aiming for

Based on your latest comment in the sig-api-machinery meeting notes I'm trying to ascertain what work items we should be watching for "not sure we'll make it to alpha in time" and whether "alpha" implies landing the feature branch to master

@lavalamp

This comment has been minimized.

Member

lavalamp commented Oct 17, 2018

@spiffxp Yes, making it to alpha is the same thing as merging the feature branch back into master.

@AishSundar No, there are many PRs yet to be written. Look at the closed PRs in that repo for an estimate of the recent velocity. Additionally we will need more PRs to the feature branch in the main repo.

Can you two help me understand why this level of detail is necessary/useful? We still have 3ish weeks before anything freezes or slushes, no? If the branch doesn't get merged by then, we will have to push this off.

@AishSundar

This comment has been minimized.

AishSundar commented Oct 17, 2018

@lavalamp since this is a short release cycle the release team is trying to assess, early on, the amount of work pending for each planned feature and chances of any possible slips. This will help us track these better through the cycle

@apelisse

This comment has been minimized.

Member

apelisse commented Oct 17, 2018

There is definitely some work left to get this in 1.13 and chances that it slips are non-negligible. However, we still want to take our chance and hope that the few weeks left will be enough to get to alpha quality.

I'm happy to help you track that item in any way possible and can come back to you on a regular basis to give you a status. Hope that helps, thanks.

@AishSundar

This comment has been minimized.

AishSundar commented Oct 17, 2018

@apelisse for now if you can just point us to the list of open PRs and open issues (for unopened PRs) that will be great. we will touch base early November to see where we are. Thanks.

@kacole2 as FYI

@lavalamp

This comment has been minimized.

Member

lavalamp commented Oct 17, 2018

We aren't tracking our work via specific issues that need specific PRs written, that would be fairly heavyweight for us. We are using this spreadsheet: https://docs.google.com/spreadsheets/d/1ZHTDyiQssYBzs7DQWQd70bNQybeyS0m-S1aIS_zo-78/edit?pli=1#gid=0

(you're probably already in some email group that has access)

@lavalamp

This comment has been minimized.

Member

lavalamp commented Oct 17, 2018

In an offline chat with @spiffxp it seems you're actually trying to evaluate risk; I think the questions above don't actually make sense for this particular effort given that this is happening in a feature branch, which is probably why we're talking past each other.

  • In terms of risk to stability, we won't be merging it if it's not meeting the bar before the window closes, so there's very little risk. All of our changes are in the feature branch or other repos so it's not like we'd leave master in a half broken state if we don't make it.
  • In terms of risk of not getting to the finish line in time, we're well aware that time is short and there's a good chance we won't make the release.
@tfogo

This comment has been minimized.

Member

tfogo commented Nov 1, 2018

Hi @lavalamp and @apelisse, I'm the docs wrangler for the 1.13 release. Could you please open a placeholder PR for the docs for this enhancement against the dev-1.13 branch of k/website and send me a link? If you already have a docs PR open, or if this doesn't require docs in k/website, please let me know.

The deadline for placeholder PRs for the 1.13 release is November 8. So it's important to make a docs PR as soon as possible.

If you have any questions about any of this, I'm happy to help. You can also message me on slack (I'm tfogo there too).

Thanks!

@apelisse

This comment has been minimized.

Member

apelisse commented Nov 1, 2018

@tfogo Thanks for your help! I created it here: kubernetes/website#10812

@guineveresaenger

This comment has been minimized.

guineveresaenger commented Nov 5, 2018

Hi @lavalamp and @apelisse - I'm Enhancements Shadow for 1.13. Reading through this thread and considering the method of tracking this feature, could you please update the release team with the likelihood of this enhancement making the 1.13 release?

Code slush begins on 11/9 and code freeze is 11/15.

Thank you!

@apelisse

This comment has been minimized.

Member

apelisse commented Nov 5, 2018

Hi @guineveresaenger, there are still chances that we miss the release, but we're doing everything we can to have a high-quality alpha feature in 1.13!

@AishSundar

This comment has been minimized.

AishSundar commented Nov 10, 2018

@apelisse can we please time-box the Go/NoGo decision to Wednesday (11/14) next week. At this point in the cycle we expect all 1.13 enhancements to have all code and test PRs either merged or very close to merging. I understand this feature is being developed in a feature branch. But with Code freeze next Friday (11/16), we need to merge it into master atleast by early Wednesday to get stable CI signals for a couple of days from Master. If that's not possible we will have to push it to 1.14. Thanks

@kacole2

@lavalamp

This comment has been minimized.

Member

lavalamp commented Nov 11, 2018

We found a couple bugs at the last second so we will merge this as the first thing for 1.14 when master opens.

@lavalamp lavalamp modified the milestones: v1.13, v1.14 Nov 11, 2018

@AishSundar

This comment has been minimized.

AishSundar commented Nov 11, 2018

Thanks for the update @lavalamp.

@kacole2 @tfogo @marpaia @kbarnard10 as FYI

@kacole2 kacole2 added tracked/no and removed tracked/yes labels Nov 11, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment