-
Notifications
You must be signed in to change notification settings - Fork 231
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.KubeADM interface #486
Conversation
ef020bd
to
586cca2
Compare
/assigne @xmudrii |
/assign @xmudrii |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some questions, otherwise LGTM 💯
pkg/templates/kubeadm/provider.go
Outdated
if err != nil { | ||
return nil, errors.Wrap(err, "failed to parse version") | ||
} | ||
switch { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to enforce this check at the validation level too. If you provide not supported version, e.g. 1.16
, it's going to pass validation but fail on install.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but fail on install
Not necessary. As kubeadm interfaces are stabilizing they are becoming more and more forward compatible. In order to avoid failing with 1.15 I'll add v1beta2 kubeadm APIs to this PR.
pkg/templates/kubeadm/provider.go
Outdated
} | ||
|
||
// By default use latest known kubeadm API version | ||
return &kubeadmv1beta2{}, nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Related to the previous comment: should we strong enforce supported versions or not? For example, if 1.16
introduces any breaking change in kubeadm (like drop --experimental
), that would render KubeOne unusable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't use --experimental
btw ;)
1.14 is using kubeadm upgrade node experimental-control-plane
that's true. But starting from kubeadm 1.15 onward it will became stable kubeadm upgrade node control-plane
. So v1beta2
is forward compatible up to the kubeadm version that will drop v1beta2. That's why it's default.
When new versions will be released or at least close to it, we will insert them here also.
586cca2
to
0e677cf
Compare
bcbf343
to
acbbb67
Compare
This might be required for the v0.9 release and for 1.15 to work properly with all features |
acbbb67
to
3cc677a
Compare
3cc677a
to
ef4df10
Compare
/hold |
Signed-off-by: Artiom Diomin <[email protected]>
Signed-off-by: Artiom Diomin <[email protected]>
…ilerplate Signed-off-by: Artiom Diomin <[email protected]>
8a11a7d
to
22321d1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/approve
LGTM label has been added. Git tree hash: 15dbbbc543ef9787845e8215a2250746a82fbf40
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: xmudrii 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 |
/hold cancel |
Signed-off-by: Marko Mudrinić <[email protected]>
Signed-off-by: Marko Mudrinić <[email protected]>
Signed-off-by: Marko Mudrinić <[email protected]>
* Update README.md * Make install steps version-agnostic * Recommend using officially released versions over running of the master branch * Mention that support for package managers is work in progress * Add support for Kubernetes 1.15 to the compatibility table * Minor updates and preparation for v0.9 Signed-off-by: Marko Mudrinić <[email protected]> * Update the release process document Signed-off-by: Marko Mudrinić <[email protected]> * Add changelog for release v0.9.0 Signed-off-by: Marko Mudrinić <[email protected]> * Add #508 to the changelog Signed-off-by: Marko Mudrinić <[email protected]> * Add #486 to the changelog Signed-off-by: Marko Mudrinić <[email protected]> * Update CHANGELOG.md with recent changes Signed-off-by: Marko Mudrinić <[email protected]> * Minor README improvements Signed-off-by: Marko Mudrinić <[email protected]> * Revert NodeLocalDNSCache Signed-off-by: Marko Mudrinić <[email protected]> * Change v0.9 release date in changelog Signed-off-by: Marko Mudrinić <[email protected]>
What this PR does / why we need it:
A way to abstract different kubeadm API version.
Fixes #505