From d3d7dbb5ff92971e200bda6eab35624cdd3bfff9 Mon Sep 17 00:00:00 2001 From: Fabio Rapposelli Date: Wed, 30 Jan 2019 00:29:47 +0100 Subject: [PATCH] initial KEP build for out-of-tree vsphere cloud provider --- .../20190125-out-of-tree-vsphere.md | 77 +++++++++++-------- 1 file changed, 46 insertions(+), 31 deletions(-) diff --git a/keps/sig-cloud-provider/20190125-out-of-tree-vsphere.md b/keps/sig-cloud-provider/20190125-out-of-tree-vsphere.md index 162a32ed0c9..de99fd7605c 100644 --- a/keps/sig-cloud-provider/20190125-out-of-tree-vsphere.md +++ b/keps/sig-cloud-provider/20190125-out-of-tree-vsphere.md @@ -1,14 +1,21 @@ --- title: Support Out-of-Tree vSphere Cloud Provider authors: + - @frapposelli - @andrewsykim owning-sig: sig-cloud-provider participating-sigs: - sig-vmware reviewers: - - TBD + - @frapposelli + - @cantbewong + - @andrewsykim + - @dvonthenen approvers: - - TBD + - @frapposelli + - @cantbewong + - @andrewsykim + - @dvonthenen editor: TBD creation-date: 2019-01-25 last-updated: 2019-01-25 @@ -20,36 +27,39 @@ status: provisional ## Table of Contents -* [Table of Contents](#table-of-contents) -* [Release Signoff Checklist](#release-signoff-checklist) -* [Summary](#summary) -* [Motivation](#motivation) - * [Goals](#goals) - * [Non-Goals](#non-goals) -* [Proposal](#proposal) - * [Implementation Details/Notes/Constraints [optional]](#implementation-detailsnotesconstraints-optional) - * [Risks and Mitigations](#risks-and-mitigations) -* [Design Details](#design-details) - * [Test Plan](#test-plan) - * [Graduation Criteria](#graduation-criteria) - * [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy) - * [Version Skew Strategy](#version-skew-strategy) -* [Implementation History](#implementation-history) +- [Supporting Out-of-Tree vSphere Cloud Provider](#supporting-out-of-tree-vsphere-cloud-provider) + - [Table of Contents](#table-of-contents) + - [Release Signoff Checklist](#release-signoff-checklist) + - [Summary](#summary) + - [Motivation](#motivation) + - [Goals](#goals) + - [Non-Goals](#non-goals) + - [Proposal](#proposal) + - [Implementation Details/Notes/Constraints [optional]](#implementation-detailsnotesconstraints-optional) + - [Risks and Mitigations](#risks-and-mitigations) + - [Design Details](#design-details) + - [Test Plan](#test-plan) + - [Graduation Criteria](#graduation-criteria) + - [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy) + - [Version Skew Strategy](#version-skew-strategy) + - [Implementation History](#implementation-history) ## Release Signoff Checklist - [X] k/enhancements issue in release milestone and linked to KEP (/~https://github.com/kubernetes/enhancements/issues/670) -- [ ] KEP approvers have set the KEP status to `implementable` -- [ ] Design details are appropriately documentedbs -- [ ] Test plan is in place, giving consideration to SIG Architecture and SIG Testing input -- [ ] Graduation criteria is in place -- [ ] "Implementation History" section is up-to-date for milestone -- [ ] Supporting documentation e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes +- [X] KEP approvers have set the KEP status to `implementable` +- [X] Design details are appropriately documented +- [X] Test plan is in place, giving consideration to SIG Architecture and SIG Testing input +- [X] Graduation criteria is in place +- [X] "Implementation History" section is up-to-date for milestone +- [X] Supporting documentation e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes ## Summary Build support for the out-of-tree vSphere cloud provider. This involves a well-tested version of the cloud-controller-manager -that has feature parity to the kube-controller-manager. +that has feature parity to the kube-controller-manager. This KEP captures mostly implemented work already completed in the +[Cloud Provider vSphere repository](/~https://github.com/kubernetes/cloud-provider-vsphere). + ## Motivation @@ -67,33 +77,38 @@ This KEP is specifically tracking progress for the vSphere cloud provider. ## Proposal +The vSphere Cloud Provider is implemented, tested and partially documented. The next major steps are to migrate existing users of the in-tree provider to the external provider. + ### Implementation Details/Notes/Constraints [optional] -TODO for SIG-VMware +Main provider work is completed and feature parity with in-tree will be achieved with the beta version. Removing in-tree `vsphere_volume` code is underway in the same repo and will piggyback on and be tracked through the +[In-tree Storage Migration to CSI Plugin Migration](/~https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/csi-migration.md) +work. New features will need to follow the community KEP process. ### Risks and Mitigations -TODO for SIG-VMware +None known ## Design Details ### Test Plan -TODO for SIG-VMware +Third-party testing of the vSphere Cloud Provider is handled by VMware and reports to testgrid. ### Graduation Criteria -TODO for SIG-VMware +This feature is complete and will be ready for graduation with release 1.14. ### Upgrade / Downgrade Strategy -TODO for SIG-VMware +Projects that depend on the in-tree cloud provider can retain support for older versions of the provider that ships with Kubernetes for the time being. New deployment tooling is strongly encouraged to migrate to the external provider for future Kubernetes releases. A special consideration was also made for maintaining backward compatibility with in-tree vSphere cloud provider configuration file, an automation tool to upgrade from in-tree to out-of-tree provider was also created: [vcpctl](/~https://github.com/kubernetes/cloud-provider-vsphere/tree/master/cmd/vcpctl). ### Version Skew Strategy -TODO for SIG-VMware +As such Cloud Provider vSphere has no version skew strategy for migrating from in-tree to out-of-tree providers. Future skew will use the facilities available to the Cloud Controller Manager interface. ## Implementation History -TODO for SIG-VMware +- Implementation and testing completed in 2018. +- Feature parity with in-tree to be achieved with the 1.14 release.