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

Kubeadm remove v1alpha2 api #69055

Merged
merged 2 commits into from Sep 27, 2018

Conversation

@fabriziopandini
Contributor

fabriziopandini commented Sep 25, 2018

What this PR does / why we need it:
This PR removes v1alpha2 API from kubeadm.

Which issue(s) this PR fixes:
Ref: kubernetes/kubeadm#911

Special notes for your reviewer:
This PR is the first of a series or PRs that will remove v1alpha2, cleanup all the references to v1alpha2 objects, and finally add v1beta1 api version; the work is divided into multiple PRs hopefully more easy to review.

This PR leaves some TODOs as a placeholder for implementing v1alpha3-->v1beta1 roundtrip tests in following PRs.

Release note:

[action required] kubeadm: The `v1alpha2` config API has been removed.
Please convert your `v1alpha2` configuration files to `v1alpha3` using the
`kubeadm config migrate` command of kubeadm v1.12.x

@kubernetes/sig-cluster-lifecycle-pr-reviews
sig cluster-lifecycle
kind api-change
area kubeadm

/cc @timothysc @luxas

@neolit123

This comment has been minimized.

Show comment
Hide comment
@neolit123

neolit123 Sep 25, 2018

Member

thanks @fabriziopandini
i will have a look a bit later.

/kind api-change

Member

neolit123 commented Sep 25, 2018

thanks @fabriziopandini
i will have a look a bit later.

/kind api-change

@timothysc

This comment has been minimized.

Show comment
Hide comment
@timothysc

timothysc Sep 26, 2018

Member

Please merge this with #69056 into a single changeset for v1alpha2 for historical purposes.

Member

timothysc commented Sep 26, 2018

Please merge this with #69056 into a single changeset for v1alpha2 for historical purposes.

@k8s-ci-robot k8s-ci-robot removed the approved label Sep 26, 2018

@timothysc

This comment has been minimized.

Show comment
Hide comment
@timothysc

timothysc Sep 26, 2018

Member

Also can you squash commits to 2.

  • removal of v1alpha2
  • autogenerated
Member

timothysc commented Sep 26, 2018

Also can you squash commits to 2.

  • removal of v1alpha2
  • autogenerated
@fabriziopandini

This comment has been minimized.

Show comment
Hide comment
@fabriziopandini

fabriziopandini Sep 27, 2018

Contributor

Dear k8s ci robot
/test pull-kubernetes-e2e-kops-aws
/test pull-kubernetes-e2e-gce-100-performance

Contributor

fabriziopandini commented Sep 27, 2018

Dear k8s ci robot
/test pull-kubernetes-e2e-kops-aws
/test pull-kubernetes-e2e-gce-100-performance

@timothysc

/lgtm
/approve

Please address the comment, or possibly follow up on a separate PR.

oldKnownAPIVersions := map[string]string{
"kubeadm.k8s.io/v1alpha1": "v1.11",
"kubeadm.k8s.io/v1alpha2": "v1.12",

This comment has been minimized.

@timothysc

timothysc Sep 27, 2018

Member

b/c you are removing alpha 2 should you remove v1.11?

@timothysc

timothysc Sep 27, 2018

Member

b/c you are removing alpha 2 should you remove v1.11?

This comment has been minimized.

@fabriziopandini

fabriziopandini Sep 27, 2018

Contributor

This piece of code gives warning to user if the pass to kubeadm an older version of the config, and tell what version of kubeadm can be used for executing config migrate.
I think that giving a warning also for v1alpha1 doesn't hurts...

@fabriziopandini

fabriziopandini Sep 27, 2018

Contributor

This piece of code gives warning to user if the pass to kubeadm an older version of the config, and tell what version of kubeadm can be used for executing config migrate.
I think that giving a warning also for v1alpha1 doesn't hurts...

@k8s-ci-robot

This comment has been minimized.

Show comment
Hide comment
@k8s-ci-robot

k8s-ci-robot Sep 27, 2018

Contributor

[APPROVALNOTIFIER] This PR is APPROVED

Approval requirements bypassed by manually added approval.

This pull-request has been approved by: fabriziopandini, 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

Contributor

k8s-ci-robot commented Sep 27, 2018

[APPROVALNOTIFIER] This PR is APPROVED

Approval requirements bypassed by manually added approval.

This pull-request has been approved by: fabriziopandini, 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

@chuckha

This comment has been minimized.

Show comment
Hide comment
@chuckha

chuckha Sep 27, 2018

Member

Is the goal here to have one alpha version and n beta versions?

Seems like removing the v1alpha2 type is just as dangerous as making a breaking change to v1alpha1 like in the 1.10 release. It feels like at this point we'd want to rename v1alpha2 to v1alpha1 and v1alpha3 to v1beta1.

Member

chuckha commented Sep 27, 2018

Is the goal here to have one alpha version and n beta versions?

Seems like removing the v1alpha2 type is just as dangerous as making a breaking change to v1alpha1 like in the 1.10 release. It feels like at this point we'd want to rename v1alpha2 to v1alpha1 and v1alpha3 to v1beta1.

@timothysc

This comment has been minimized.

Show comment
Hide comment
@timothysc

timothysc Sep 27, 2018

Member

@chuckha - It's explicitly stated that the support model for kubeadm needs to upgrade through. So a 1.11 version can only upgrade from 1.10. Maintaining code and machinery of past versions (that aren't supported) is an albatross so we continually shed the code every cycle.

Member

timothysc commented Sep 27, 2018

@chuckha - It's explicitly stated that the support model for kubeadm needs to upgrade through. So a 1.11 version can only upgrade from 1.10. Maintaining code and machinery of past versions (that aren't supported) is an albatross so we continually shed the code every cycle.

@chuckha

This comment has been minimized.

Show comment
Hide comment
@chuckha

chuckha Sep 27, 2018

Member

@timothysc right, I get that, but if I'm reading this right, we're getting rid of the newer version (v1alpha2) and keeping the older one (v1alpha1), I'd suggest renaming v1alpha2 to v1alpha1 and getting rid of the current v1alpha1.

Member

chuckha commented Sep 27, 2018

@timothysc right, I get that, but if I'm reading this right, we're getting rid of the newer version (v1alpha2) and keeping the older one (v1alpha1), I'd suggest renaming v1alpha2 to v1alpha1 and getting rid of the current v1alpha1.

@neolit123

This comment has been minimized.

Show comment
Hide comment
@neolit123

neolit123 Sep 27, 2018

Member

@fabriziopandini
LGTM

@chuckha @timothysc

Seems like removing the v1alpha2 type is just as dangerous as making a breaking change to v1alpha1 like in the 1.10 release

i know that removing v1alpha1 early in the 1.12 cycle broke kubernetes-anywhere because config --migrate no longer worked on master and we no longer supported the old config.

this early removal method, forced us to handle versions in bash, which is a bad outcome:
https://github.com/kubernetes/kubernetes-anywhere/blob/master/phase2/kubeadm/configure-vm-kubeadm-master.sh

i will send a PR for k-a, because i'm pretty sure this PR will make the master tests red.

Member

neolit123 commented Sep 27, 2018

@fabriziopandini
LGTM

@chuckha @timothysc

Seems like removing the v1alpha2 type is just as dangerous as making a breaking change to v1alpha1 like in the 1.10 release

i know that removing v1alpha1 early in the 1.12 cycle broke kubernetes-anywhere because config --migrate no longer worked on master and we no longer supported the old config.

this early removal method, forced us to handle versions in bash, which is a bad outcome:
https://github.com/kubernetes/kubernetes-anywhere/blob/master/phase2/kubeadm/configure-vm-kubeadm-master.sh

i will send a PR for k-a, because i'm pretty sure this PR will make the master tests red.

@fabriziopandini

This comment has been minimized.

Show comment
Hide comment
@fabriziopandini

fabriziopandini Sep 27, 2018

Contributor

@chuckha

I get that, but if I'm reading this right, we're getting rid of the newer version (v1alpha2) and keeping the older one (v1alpha1)

Current version is v1alpha3; this PR is getting rid of v1alpha2
Soonish I will add v1beta1 and all the machinery for converting v1alpha3->v1beta1

@neolit123

i will send a PR for k-a, because i'm pretty sire this PR will make the master tests red.

Thanks. We can make k/a use v1alpha3 for kubeadm v>=1.12

Contributor

fabriziopandini commented Sep 27, 2018

@chuckha

I get that, but if I'm reading this right, we're getting rid of the newer version (v1alpha2) and keeping the older one (v1alpha1)

Current version is v1alpha3; this PR is getting rid of v1alpha2
Soonish I will add v1beta1 and all the machinery for converting v1alpha3->v1beta1

@neolit123

i will send a PR for k-a, because i'm pretty sire this PR will make the master tests red.

Thanks. We can make k/a use v1alpha3 for kubeadm v>=1.12

@timothysc

This comment has been minimized.

Show comment
Hide comment
@timothysc

timothysc Sep 27, 2018

Member

/test pull-kubernetes-integration
/test pull-kubernetes-e2e-kops-aws

Member

timothysc commented Sep 27, 2018

/test pull-kubernetes-integration
/test pull-kubernetes-e2e-kops-aws

@k8s-ci-robot k8s-ci-robot merged commit 587914c into kubernetes:master Sep 27, 2018

18 checks passed

cla/linuxfoundation fabriziopandini authorized
Details
pull-kubernetes-bazel-build Job succeeded.
Details
pull-kubernetes-bazel-test Job succeeded.
Details
pull-kubernetes-cross Skipped
pull-kubernetes-e2e-gce Job succeeded.
Details
pull-kubernetes-e2e-gce-100-performance Job succeeded.
Details
pull-kubernetes-e2e-gce-device-plugin-gpu Job succeeded.
Details
pull-kubernetes-e2e-gke Skipped
pull-kubernetes-e2e-kops-aws Job succeeded.
Details
pull-kubernetes-e2e-kubeadm-gce Skipped
pull-kubernetes-integration Job succeeded.
Details
pull-kubernetes-kubemark-e2e-gce-big Job succeeded.
Details
pull-kubernetes-local-e2e Skipped
pull-kubernetes-local-e2e-containerized Skipped
pull-kubernetes-node-e2e Job succeeded.
Details
pull-kubernetes-typecheck Job succeeded.
Details
pull-kubernetes-verify Job succeeded.
Details
tide In merge pool.
Details

@fabriziopandini fabriziopandini deleted the fabriziopandini:kubeadm-remove-v1alpha2 branch Sep 28, 2018

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