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

Update Server-Side Apply KEP with upgrade strategy from client-side apply #1382

Merged

Conversation

julianvmodesto
Copy link
Contributor

@julianvmodesto julianvmodesto commented Nov 26, 2019

This change updates the server-side apply KEP with the strategy for upgrading client-side kubectl apply's last-applied-configuration annotation to server-side apply, as originally provided by @jennybuckley in Upgrade pathway: Client Side Apply to Server Side Apply.

WIP here: kubernetes/kubernetes#84134

Umbrella: kubernetes/kubernetes#73723

/wg apply

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Nov 26, 2019
@k8s-ci-robot
Copy link
Contributor

Welcome @julianvmodesto!

It looks like this is your first PR to kubernetes/enhancements 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes/enhancements has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot
Copy link
Contributor

Hi @julianvmodesto. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. labels Nov 26, 2019
@julianvmodesto julianvmodesto changed the title Update server-side apply upgrade strategy from client-side apply Update server-side apply KEP with upgrade strategy from client-side apply Nov 26, 2019
@julianvmodesto julianvmodesto changed the title Update server-side apply KEP with upgrade strategy from client-side apply Update Server-Side Apply KEP with upgrade strategy from client-side apply Nov 26, 2019
@apelisse
Copy link
Member

cc @lavalamp


When upgrading the API server with server-side apply enabled, then existing objects
with a `last-applied-configuration` annotation will be upgraded on the first
use of server-side apply with `kubectl apply --server-side` by
Copy link
Member

Choose a reason for hiding this comment

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

this implies that when we turn SSA on for everything, we'll actually check for the presence of the annotation and not do the update logic if it is found (or at least not store the result)?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oh no, I'll fix this. We do want to proceed with and store the update logic after reading and converting the annotation.

@julianvmodesto
Copy link
Contributor Author

I'll copy an example from Jenny's doc to better illustrate what will happen here.

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 4, 2020
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 30, 2020
@k8s-ci-robot k8s-ci-robot added wg/api-expression Categorizes an issue or PR as relevant to WG API Expression. and removed wg/apply labels Apr 17, 2020
@k8s-ci-robot k8s-ci-robot added the sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. label Apr 21, 2020
@julianvmodesto
Copy link
Contributor Author

julianvmodesto commented Jun 24, 2020

I'll update this to match the current changes in kubernetes/kubernetes#84134 and kubernetes/kubernetes#90187

@julianvmodesto
Copy link
Contributor Author

Updated to match the changes in kubernetes/kubernetes#90187

@julianvmodesto
Copy link
Contributor Author

/wg api-expression
/sig cli

@k8s-ci-robot k8s-ci-robot added the sig/cli Categorizes an issue or PR as relevant to SIG CLI. label Jun 25, 2020
@apelisse
Copy link
Member

/lgtm
/assign @lavalamp

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 26, 2020
Copy link
Member

@lavalamp lavalamp left a comment

Choose a reason for hiding this comment

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

Just one minor comment.

the user now wants to manage with server-side apply will be owned by the
client-side apply field manager.

In this case, users would need to force conflicts with `kubectl apply
Copy link
Member

Choose a reason for hiding this comment

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

It's not clear that this is a problem we seek to avoid, I'd reword to add something like "If we don't specifically handle this case, then".

@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 26, 2020
@lavalamp
Copy link
Member

/lgtm
/approve

thanks!

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 26, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: julianvmodesto, lavalamp

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 Jun 26, 2020
@k8s-ci-robot k8s-ci-robot merged commit 6a1ac61 into kubernetes:master Jun 26, 2020
@k8s-ci-robot k8s-ci-robot added this to the v1.19 milestone Jun 26, 2020
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. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/cli Categorizes an issue or PR as relevant to SIG CLI. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. wg/api-expression Categorizes an issue or PR as relevant to WG API Expression.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants