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 kubeadm phases kep to support upgrade #1298

Merged
merged 1 commit into from
Oct 14, 2019

Conversation

Klaven
Copy link

@Klaven Klaven commented Oct 11, 2019

This update to the kubeadm phases kep is to add support for phases in the kubeadm upgrade apply workflow.

issues resolved by this:
kubernetes/kubeadm#1318
kubernetes/kubeadm#1756

I also updated the KEP to document the kubeadm upgrade node phases workflow.

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Oct 11, 2019
@k8s-ci-robot k8s-ci-robot added kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. labels Oct 11, 2019
Copy link
Member

@yagonobre yagonobre left a comment

Choose a reason for hiding this comment

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

Thanks, Klaven!
In general SGTM!

Comment on lines 91 to 93
- As a kubernetes administrator/IT automation tool, I used kubeadm init/join and
excluded some phases, I want to run all the phases of kubeadm upgrade except
for some phases.
Copy link
Member

Choose a reason for hiding this comment

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

Maybe

- As a kubernetes administrator/IT automation tool, I want to run only one or some phases
  of the `kubeadm upgrade` workflow.

Copy link
Contributor

Choose a reason for hiding this comment

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

We should probably emphasize, that these phases are usually equivalent to the ones already excluded during init/join.

Copy link
Author

Choose a reason for hiding this comment

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

Will do.

@@ -74,7 +74,8 @@ duplication of code or in some case inconsistencies between the init and phase i
- This proposal doesn't include a plan for implementation of phases in workflows
different than the `kubeadm init` workflow; such plans will be defined by the sig
during release planning for each cycle, and then documented in this KEP.
- v1.14 implementation of phases in the `kubeadm join` workflow (planned)
- v1.14 implementation of phases in the `kubeadm join` workflow
- v1.17 implementation of phases in the `kubeadm upgrade apply/plan/node` workflow
Copy link
Member

Choose a reason for hiding this comment

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

Maybe just kubeadm upgrade [1]

Copy link
Author

Choose a reason for hiding this comment

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

@yagonobre 👍 I did it this way because really it is the sub commands... but not all of them because I was looking at diff and am not sure it would apply... But if everyone is fine with just kubeadm upgrade that sounds good to me.

Copy link
Member

Choose a reason for hiding this comment

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

Make senses, I don't have a hard opinion, at least from me it's up to you.

Copy link
Author

Choose a reason for hiding this comment

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

I'll wait and see if others say anything. I too don't have a hard opinion :)

Copy link
Contributor

Choose a reason for hiding this comment

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

Let's narrow it down to kubeadm upgrade apply for 1.17. node already has phases and plan can be seen as a sub-set of apply (they go together).

@@ -110,15 +114,15 @@ own, nested, ordered sequence of phases. For instance:
````

The above list of ordered phases should be made accessible from all the command supporting phases
via the command help, e.g. `kubeadm init --help` (and eventually in the future `kubeadm join --help` etc.)
via the command help, e.g. `kubeadm init --help` (and eventually in the future `kubeadm join --help` and `kubeadm upgrade apply/plan/node --help` etc.)
Copy link
Member

Choose a reason for hiding this comment

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

[1]


Additionally we are going to improve consistency between the command outputs/logs with the name of phases
defined in the above list. This will be achieved by enforcing that the prefix of each output/log should match
the name of the corresponding phase, e.g. `[certs/ca] Generated ca certificate and key.` instead of the current
`[certificates] Generated ca certificate and key.`.

Single phases will be made accessible to the users via a new `phase` sub command that will be nested in the
command supporting phases, e.g. `kubeadm init phase` (and eventually in the future `kubeadm join phase` etc.). e.g.
command supporting phases, e.g. `kubeadm init phase` and `kubeadm join phase` (and eventually in the future `kubeadm upgrade apply/plan/node phase` etc.). e.g.
Copy link
Member

Choose a reason for hiding this comment

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

[1]

@@ -152,7 +156,8 @@ workflows e.g. reuse of phase `certs` in both `kubeadm init` and `kubeadm join`
* [#61631](https://github.com/kubernetes/kubernetes/pull/61631) First prototype implementation
(now outdated)
* v1.13 implementation of phases in the `kubeadm init` workflow
* v1.14 implementation of phases in the `kubeadm join` workflow (planned)
* v1.14 implementation of phases in the `kubeadm join` workflow
* v1.17 implementation of phases in the `kubeadm upgrade apply/plan/node` workflow (planned)
Copy link
Member

Choose a reason for hiding this comment

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

[1]

Copy link
Contributor

Choose a reason for hiding this comment

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

v1.17 is kubeadm upgrade apply/plan. kubeadm upgrade node was done in one of the previous cycles (although I can't remember which one).

Copy link
Contributor

@rosti rosti left a comment

Choose a reason for hiding this comment

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

Thanks @Klaven !
Looks good for a start. Only minor nits.

@@ -74,7 +74,8 @@ duplication of code or in some case inconsistencies between the init and phase i
- This proposal doesn't include a plan for implementation of phases in workflows
different than the `kubeadm init` workflow; such plans will be defined by the sig
during release planning for each cycle, and then documented in this KEP.
- v1.14 implementation of phases in the `kubeadm join` workflow (planned)
- v1.14 implementation of phases in the `kubeadm join` workflow
- v1.17 implementation of phases in the `kubeadm upgrade apply/plan/node` workflow
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's narrow it down to kubeadm upgrade apply for 1.17. node already has phases and plan can be seen as a sub-set of apply (they go together).

Comment on lines 91 to 93
- As a kubernetes administrator/IT automation tool, I used kubeadm init/join and
excluded some phases, I want to run all the phases of kubeadm upgrade except
for some phases.
Copy link
Contributor

Choose a reason for hiding this comment

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

We should probably emphasize, that these phases are usually equivalent to the ones already excluded during init/join.

@@ -152,7 +156,8 @@ workflows e.g. reuse of phase `certs` in both `kubeadm init` and `kubeadm join`
* [#61631](https://github.com/kubernetes/kubernetes/pull/61631) First prototype implementation
(now outdated)
* v1.13 implementation of phases in the `kubeadm init` workflow
* v1.14 implementation of phases in the `kubeadm join` workflow (planned)
* v1.14 implementation of phases in the `kubeadm join` workflow
* v1.17 implementation of phases in the `kubeadm upgrade apply/plan/node` workflow (planned)
Copy link
Contributor

Choose a reason for hiding this comment

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

v1.17 is kubeadm upgrade apply/plan. kubeadm upgrade node was done in one of the previous cycles (although I can't remember which one).

@neolit123
Copy link
Member

/lgtm
/assign @timothysc

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

@timothysc timothysc left a comment

Choose a reason for hiding this comment

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

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Klaven, neolit123, timothysc

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 Oct 14, 2019
@k8s-ci-robot k8s-ci-robot merged commit 857967b into kubernetes:master Oct 14, 2019
@k8s-ci-robot k8s-ci-robot added this to the v1.17 milestone Oct 14, 2019
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. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants