diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES index ec5ee97d06d..4e19c39363c 100644 --- a/OWNERS_ALIASES +++ b/OWNERS_ALIASES @@ -32,6 +32,10 @@ aliases: - soltysh - pwittrock - AdoHe + sig-cloud-provider-leads: + - andrewsykim + - hogepodge + - jagosan sig-cluster-lifecycle-leads: - lukemarsden - roberthbailey diff --git a/keps/0002-controller-manager.md b/keps/sig-cloud-provider/0002-cloud-controller-manager.md similarity index 99% rename from keps/0002-controller-manager.md rename to keps/sig-cloud-provider/0002-cloud-controller-manager.md index fdf6f5465d5..c3ce25c25c0 100644 --- a/keps/0002-controller-manager.md +++ b/keps/sig-cloud-provider/0002-cloud-controller-manager.md @@ -10,13 +10,16 @@ participating-sigs: - sig-apps - sig-aws - sig-azure + - sig-cloud-provider - sig-gcp - sig-network - sig-openstack - sig-storage reviewers: - - "@wlan0" + - "@andrewsykim" - "@calebamiles" + - "@hogepodge" + - "@jagosan" approvers: - "@thockin" editor: TBD diff --git a/sig-cloud-provider/CHARTER.md b/sig-cloud-provider/CHARTER.md new file mode 100644 index 00000000000..1e5d601642f --- /dev/null +++ b/sig-cloud-provider/CHARTER.md @@ -0,0 +1,100 @@ +# SIG Cloud Provider Charter + +## Mission +The Cloud Provider SIG ensures that the Kubernetes ecosystem is evolving in a way that is neutral to all (public and private) cloud providers. It will be responsible for establishing standards and requirements that must be met by all providers to ensure optimal integration with Kubernetes. + +## Subprojects & Areas of Focus + +* Maintaining parts of the Kubernetes project that allows Kubernetes to integrate with the underlying provider. This includes but are not limited to: + * [cloud provider interface](https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/cloud.go) + * [cloud-controller-manager](https://github.com/kubernetes/kubernetes/tree/master/cmd/cloud-controller-manager) + * Deployment tooling which has historically resided under [cluster/](https://github.com/kubernetes/kubernetes/tree/release-1.11/cluster) +* Code ownership for all cloud providers that fall under the kubernetes organization and have opted to be subprojects of SIG Cloud Provider. Following the guidelines around subprojects we anticipate providers will have full autonomy to maintain their own repositories, however, official code ownership will still belong to SIG Cloud Provider. + * [cloud-provider-azure](https://github.com/kubernetes/cloud-provider-azure) + * [cloud-provider-gcp](https://github.com/kubernetes/cloud-provider-gcp) + * [cloud-provider-openstack](https://github.com/kubernetes/cloud-provider-openstack) + * [cloud-provider-vsphere](https://github.com/kubernetes/cloud-provider-vsphere) +* Standards for documentation that should be included by all providers. +* Defining processes/standards for E2E tests that should be reported by all providers +* Developing future functionality in Kubernetes to support use cases common to all providers while also allowing custom and pluggable implementations when required, some examples include but are not limited to: + * Extendable node status’ and machine states based on provider + * Extendable node address types based on provider + * See also [Cloud Controller Manager KEP](https://github.com/kubernetes/community/blob/master/keps/0002-controller-manager.md) +* The collection of user experience reports from Kubernetes operators running on provider subprojects; and the delivery of roadmap information to SIG PM + +## Organizational Management + +* Six months after this charter is first ratified, it MUST be reviewed and re-approved by the SIG in order to evaluate the assumptions made in its initial drafting +* SIG meets bi-weekly on zoom with agenda in meeting notes. + * SHOULD be facilitated by chairs unless delegated to specific Members +* The SIG MUST make a best effort to provide leadership opportunities to individuals who represent different races, national origins, ethnicities, genders, abilities, sexual preferences, ages, backgrounds, levels of educational achievement, and socioeconomic statuses + +## Subproject Creation + +Each Kubernetes provider will (eventually) be a subproject under SIG Cloud Provider. To add new sub projects (providers), SIG Cloud Provider will maintain an open list of requirements that must be satisfied. +The current requirements can be seen [here](https://github.com/kubernetes/community/blob/master/keps/0002-controller-manager.md#repository-requirements). Each provider subproject is entitled to create 1..N repositories related to cluster turn up or operation on their platform, subject to technical standards set by SIG Cloud Provider. +Creation of a repository SHOULD follow the KEP process to preserve the motivation for the repository and any additional instructions for how other SIGs (e.g SIG Documentation and SIG Release) should interact with the repository + +Subprojects that fall under SIG Cloud Provider may also be features in Kubernetes that is requested or needed by all, or at least a large majority of providers. The creation process for these subprojects will follow the usual KEP process. + +## Subproject Retirement + +Subprojects representing Kubernetes providers may be retired given they do not satisfy requirements for more than 6 months. Final decisions for retirement should be supported by a majority of SIG members using [lazy consensus](http://communitymgt.wikia.com/wiki/Lazy_consensus). Once retired any code related to that provider will be archived into the kubernetes-retired organization. + +Subprojects representing Kubernetes features may be retired at any point given a lack of development or a lack of demand. Final decisions for retirement should be supported by a majority of SIG members, ideally from every provider. Once retired, any code related to that subproject will be archived into the kubernetes-retired organization. + + +## Technical Processes +Subprojects (providers) of the SIG MUST use the following processes unless explicitly following alternatives they have defined. + +* Proposals will be sent as [KEP](https://github.com/kubernetes/community/blob/master/keps/0000-kep-template.md) PRs, and published to the official group mailing list as an announcement +* Proposals, once submitted, SHOULD be placed on the next full meeting agenda +* Decisions within the scope of individual subprojects should be made by lazy consensus by subproject owners, with fallback to majority vote by subproject owners; if a decision can’t be made, it should be escalated to the SIG Chairs +* Issues impacting multiple subprojects in the SIG should be resolved by consensus of the owners of the involved subprojects; if a decision can’t be made, it should be escalated to the SIG Chairs + +## Roles +The following roles are required for the SIG to function properly. In the event that any role is unfilled, the SIG will make a best effort to fill it. Any decisions reliant on a missing role will be postponed until the role is filled. + + +### Chairs +* 3 chairs are required +* Run operations and processes governing the SIG +* An initial set of chairs was established at the time the SIG was founded. +* Chairs MAY decide to step down at anytime and propose a replacement, who must be approved by all of the other chairs. This SHOULD be supported by a majority of SIG Members. +* Chairs MAY select additional chairs using lazy consensus amongst SIG Members. +* Chairs MUST remain active in the role and are automatically removed from the position if they are unresponsive for > 3 months and MAY be removed by consensus of the other Chairs and members if not proactively working with other Chairs to fulfill responsibilities. +* Chairs WILL be asked to step down if there is inappropriate behavior or code of conduct issues +* SIG Cloud Provider cannot have more than one chair from any one company. + +### Subproject/Provider Owners +* There should be at least 1 representative per subproject/provider (though 3 is recommended to avoid deadlock) as specified in the OWNERS file of each cloud provider repository. +* MUST be an escalation point for technical discussions and decisions in the subproject/provider +* MUST set milestone priorities or delegate this responsibility +* MUST remain active in the role and are automatically removed from the position if they are unresponsive for > 3 months and MAY be removed by consensus of other subproject owners and Chairs if not proactively working with other Subproject Owners to fulfill responsibilities. +* MAY decide to step down at anytime and propose a replacement. This can be done by updating the OWNERS file for any subprojects. +* MAY select additional subproject owners by updating the OWNERs file. +* WILL be asked to step down if there is inappropriate behavior or code of conduct issues + +### SIG Members + +Approvers and reviewers in the OWNERS file of all subprojects under SIG Cloud Provider. + +## Long Term Goals + +The long term goal of SIG Cloud Provider is to promote a vendor neutral ecosystem for our community. Vendors wanting to support Kubernetes should feel equally empowered to do so +as any of today’s existing cloud providers; but more importantly ensuring a high quality user experience across providers. The SIG will act as a central group for developing +the Kubernetes project in a way that ensures all providers share common privileges and responsibilities. Below are some concrete goals on how SIG Cloud Provider plans to accomplish this. + +### Consolidating Existing Cloud SIGs + +SIG Cloud Provider will aim to eventually consolidate existing cloud provider SIGs and have each provider instead form a subproject under it. The subprojects would drive the development of +individual providers and work closely with SIG Cloud Provider to ensure compatibility with Kubernetes. With this model, code ownership for new and existing providers will belong to SIG Cloud Provider, +limiting SIG sprawl as more providers support Kubernetes. Existing SIGs representing cloud providers are highly encouraged to opt-in as sub-projects under SIG Cloud Provider but are not required to do. +As a SIG opts-in, it will operate to ensure a smooth transition, typically over the course of 3 release cycles. + +### Supporting New Cloud Providers + +One of the primary goals of SIG Cloud Provider is to become an entrypoint for new providers wishing to support Kubernetes on their platform and ensuring technical excellence from each of those providers. +SIG Cloud Provider will accomplish this by maintaining documentation around how new providers can get started and managing the set of requirements that must be met to onboard them. In addition to +onboarding new providers, the entire lifecycle of providers would also fall under the responsibility of SIG Cloud Provider, which may involve clean up work if a provider decides to no longer support Kubernetes. + diff --git a/sig-cloud-provider/OWNERS b/sig-cloud-provider/OWNERS new file mode 100644 index 00000000000..1c2834b1644 --- /dev/null +++ b/sig-cloud-provider/OWNERS @@ -0,0 +1,6 @@ +reviewers: + - sig-cloud-provider-leads +approvers: + - sig-cloud-provider-leads +labels: + - sig/cloud-provider diff --git a/sig-cloud-provider/README.md b/sig-cloud-provider/README.md new file mode 100644 index 00000000000..a5a7119dcf5 --- /dev/null +++ b/sig-cloud-provider/README.md @@ -0,0 +1,75 @@ + +# Cloud Provider Special Interest Group + +Ensures that the Kubernetes ecosystem is evolving in a way that is neutral to all (public and private) cloud providers. It will be responsible for establishing standards and requirements that must be met by all providers to ensure optimal integration with Kubernetes. + +## Meetings +* Regular SIG Meeting: [Wednesdays at 10:00 PT (Pacific Time)](https://zoom.us/my/sigcloudprovider) (biweekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=10:00&tz=PT%20%28Pacific%20Time%29). + * [Meeting notes and Agenda](TODO). + * [Meeting recordings](TODO). + +## Leadership + +### Chairs +The Chairs of the SIG run operations and processes governing the SIG. + +* Andrew Sy Kim (**[@andrewsykim](https://github.com/andrewsykim)**), DigitalOcean +* Chris Hoge (**[@hogepodge](https://github.com/hogepodge)**), OpenStack Foundation +* Jago Macleod (**[@jagosan](https://github.com/jagosan)**), Google + +## Contact +* [Slack](https://kubernetes.slack.com/messages/sig-cloud-provider) +* [Mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider) +* [Open Community Issues/PRs](https://github.com/kubernetes/community/labels/sig%2Fcloud-provider) + +## Subprojects + +The following subprojects are owned by sig-cloud-provider: +- **kubernetes-cloud-provider** + - Owners: + - https://raw.githubusercontent.com/kubernetes/kubernetes/master/cmd/cloud-controller-manager/OWNERS + - https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/controller/cloud/OWNERS + - https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/cloudprovider/OWNERS +- **cloud-provider-azure** + - Owners: + - https://raw.githubusercontent.com/kubernetes/cloud-provider-azure/master/OWNERS +- **cloud-provider-gcp** + - Owners: + - https://raw.githubusercontent.com/kubernetes/cloud-provider-gcp/master/OWNERS +- **cloud-provider-openstack** + - Owners: + - https://raw.githubusercontent.com/kubernetes/cloud-provider-openstack/master/OWNERS +- **cloud-provider-vsphere** + - Owners: + - https://raw.githubusercontent.com/kubernetes/cloud-provider-vsphere/master/OWNERS + +## GitHub Teams + +The below teams can be mentioned on issues and PRs in order to get attention from the right people. +Note that the links to display team membership will only work if you are a member of the org. + +The google groups contain the archive of Github team notifications. +Mentioning a team on Github will CC its group. +Monitor these for Github activity if you are not a member of the team. + +| Team Name | Details | Google Groups | Description | +| --------- |:-------:|:-------------:| ----------- | +| @kubernetes/sig-cloud-provider-api-reviews | [link](https://github.com/orgs/kubernetes/teams/sig-cloud-provider-api-reviews) | [link](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider-api-reviews) | API Changes and Reviews | +| @kubernetes/sig-cloud-provider-bugs | [link](https://github.com/orgs/kubernetes/teams/sig-cloud-provider-bugs) | [link](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider-bugs) | Bug Triage and Troubleshooting | +| @kubernetes/sig-cloud-provider-feature-requests | [link](https://github.com/orgs/kubernetes/teams/sig-cloud-provider-feature-requests) | [link](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider-feature-requests) | Feature Requests | +| @kubernetes/sig-cloud-provider-maintainers | [link](https://github.com/orgs/kubernetes/teams/sig-cloud-provider-maintainers) | [link](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider-maintainers) | Cloud Providers Maintainers | +| @kubernetes/sig-cloud-providers-misc | [link](https://github.com/orgs/kubernetes/teams/sig-cloud-providers-misc) | [link](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-providers-misc) | General Discussion | +| @kubernetes/sig-cloud-provider-pr-reviews | [link](https://github.com/orgs/kubernetes/teams/sig-cloud-provider-pr-reviews) | [link](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider-pr-reviews) | PR Reviews | +| @kubernetes/sig-cloud-provider-proposals | [link](https://github.com/orgs/kubernetes/teams/sig-cloud-provider-proposals) | [link](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider-proposals) | Design Proposals | +| @kubernetes/sig-cloud-provider-test-failures | [link](https://github.com/orgs/kubernetes/teams/sig-cloud-provider-test-failures) | [link](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider-test-failures) | Test Failures and Triage | + + + + diff --git a/sig-list.md b/sig-list.md index 1464c6de0a9..c9f43051930 100644 --- a/sig-list.md +++ b/sig-list.md @@ -31,6 +31,7 @@ When the need arises, a [new SIG can be created](sig-creation-procedure.md) |[Azure](sig-azure/README.md)|azure|* [Stephen Augustus](https://github.com/justaugustus), Red Hat
* [Shubheksha Jalan](https://github.com/shubheksha), Microsoft
|* [Slack](https://kubernetes.slack.com/messages/sig-azure)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-azure)|* Regular SIG Meeting: [Wednesdays at 16:00 UTC (biweekly)](https://zoom.us/j/2015551212)
|[Big Data](sig-big-data/README.md)|big-data|* [Anirudh Ramanathan](https://github.com/foxish), Google
* [Erik Erlandson](https://github.com/erikerlandson), Red Hat
|* [Slack](https://kubernetes.slack.com/messages/sig-big-data)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-big-data)|* Regular SIG Meeting: [Wednesdays at 17:00 UTC (weekly)](https://zoom.us/my/sig.big.data)
|[CLI](sig-cli/README.md)|cli|* [Maciej Szulik](https://github.com/soltysh), Red Hat
* [Phillip Wittrock](https://github.com/pwittrock), Google
* [Tony Ado](https://github.com/AdoHe), Alibaba
|* [Slack](https://kubernetes.slack.com/messages/sig-cli)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-cli)|* Regular SIG Meeting: [Wednesdays at 09:00 PT (Pacific Time) (biweekly)](https://zoom.us/my/sigcli)
+|[Cloud Provider](sig-cloud-provider/README.md)|cloud-provider|* [Andrew Sy Kim](https://github.com/andrewsykim), DigitalOcean
* [Chris Hoge](https://github.com/hogepodge), OpenStack Foundation
* [Jago Macleod](https://github.com/jagosan), Google
|* [Slack](https://kubernetes.slack.com/messages/sig-cloud-provider)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider)|* Regular SIG Meeting: [Wednesdays at 10:00 PT (Pacific Time) (biweekly)](https://zoom.us/my/sigcloudprovider)
|[Cluster Lifecycle](sig-cluster-lifecycle/README.md)|cluster-lifecycle|* [Luke Marsden](https://github.com/lukemarsden), Weave
* [Robert Bailey](https://github.com/roberthbailey), Google
* [Lucas Käldström](https://github.com/luxas), Luxas Labs (occasionally contracting for Weaveworks)
* [Timothy St. Clair](https://github.com/timothysc), Heptio
|* [Slack](https://kubernetes.slack.com/messages/sig-cluster-lifecycle)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-cluster-lifecycle)|* Regular SIG Meeting: [Tuesdays at 09:00 PT (Pacific Time) (weekly)](https://zoom.us/j/166836%E2%80%8B624)
* kubeadm Office Hours: [Wednesdays at 09:00 PT (Pacific Time) (weekly)](https://zoom.us/j/166836%E2%80%8B624)
* Cluster API working group: [Wednesdays at 10:00 PT (Pacific Time) (weekly)](https://zoom.us/j/166836%E2%80%8B624)
* kops Office Hours: [Fridays at 09:00 PT (Pacific Time) (biweekly)](https://zoom.us/my/k8ssigaws)
|[Cluster Ops](sig-cluster-ops/README.md)|cluster-ops|* [Rob Hirschfeld](https://github.com/zehicle), RackN
* [Jaice Singer DuMars](https://github.com/jdumars), Google
|* [Slack](https://kubernetes.slack.com/messages/sig-cluster-ops)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-cluster-ops)|* Regular SIG Meeting: [Thursdays at 20:00 UTC (biweekly)](https://zoom.us/j/297937771)
|[Contributor Experience](sig-contributor-experience/README.md)|contributor-experience|* [Elsie Phillips](https://github.com/Phillels), CoreOS
* [Paris Pittman](https://github.com/parispittman), Google
|* [Slack](https://kubernetes.slack.com/messages/sig-contribex)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-contribex)|* Regular SIG Meeting: [Wednesdays at 9:30 PT (Pacific Time) (weekly)](https://zoom.us/j/7658488911)
diff --git a/sigs.yaml b/sigs.yaml index 694bab8c43b..928d750c324 100644 --- a/sigs.yaml +++ b/sigs.yaml @@ -561,6 +561,72 @@ sigs: owners: # "owners" entry - https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/OWNERS + - name: Cloud Provider + dir: sig-cloud-provider + mission_statement: > + Ensures that the Kubernetes ecosystem is evolving in a way that is neutral to all + (public and private) cloud providers. It will be responsible for establishing + standards and requirements that must be met by all providers to ensure optimal + integration with Kubernetes. + label: cloud-provider + leadership: + chairs: + - name: Andrew Sy Kim + github: andrewsykim + company: DigitalOcean + - name: Chris Hoge + github: hogepodge + company: OpenStack Foundation + - name: Jago Macleod + github: jagosan + company: Google + meetings: + - description: Regular SIG Meeting + day: Wednesday + time: "10:00" + tz: "PT (Pacific Time)" + frequency: biweekly + url: https://zoom.us/my/sigcloudprovider + archive_url: TODO + recordings_url: TODO + contact: + slack: sig-cloud-provider + mailing_list: https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider + teams: + - name: sig-cloud-provider-api-reviews + description: API Changes and Reviews + - name: sig-cloud-provider-bugs + description: Bug Triage and Troubleshooting + - name: sig-cloud-provider-feature-requests + description: Feature Requests + - name: sig-cloud-provider-maintainers + description: Cloud Providers Maintainers + - name: sig-cloud-providers-misc + description: General Discussion + - name: sig-cloud-provider-pr-reviews + description: PR Reviews + - name: sig-cloud-provider-proposals + description: Design Proposals + - name: sig-cloud-provider-test-failures + description: Test Failures and Triage + subprojects: + - name: kubernetes-cloud-provider + owners: + - https://raw.githubusercontent.com/kubernetes/kubernetes/master/cmd/cloud-controller-manager/OWNERS + - https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/controller/cloud/OWNERS + - https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/cloudprovider/OWNERS + - name: cloud-provider-azure + owners: + - https://raw.githubusercontent.com/kubernetes/cloud-provider-azure/master/OWNERS + - name: cloud-provider-gcp + owners: + - https://raw.githubusercontent.com/kubernetes/cloud-provider-gcp/master/OWNERS + - name: cloud-provider-openstack + owners: + - https://raw.githubusercontent.com/kubernetes/cloud-provider-openstack/master/OWNERS + - name: cloud-provider-vsphere + owners: + - https://raw.githubusercontent.com/kubernetes/cloud-provider-vsphere/master/OWNERS - name: Cluster Lifecycle dir: sig-cluster-lifecycle mission_statement: > @@ -1653,7 +1719,7 @@ sigs: subprojects: - name: cloud-provider-vsphere owners: - - https://raw.githubusercontent.com/kubernetes/cloud-provider-vsphere/master/OWNERS + - https://raw.githubusercontent.com/kubernetes/cloud-provider-vsphere/master/OWNERS - name: Windows dir: sig-windows mission_statement: >