From 1aa5a944cd51f6e0d78cd8bca0d8e36896838d02 Mon Sep 17 00:00:00 2001
From: Davanum Srinivas <davanum@gmail.com>
Date: Fri, 24 Mar 2017 10:13:31 -0400
Subject: [PATCH] Kubernetes External Cloud Provider for OpenStack

Kubernetes community is moving to a model where a cloud provider
does not have to live in the main kubernetes/kubernetes repository
https://github.com/kubernetes/features/issues/88

The first example in the kubernetes documentation points to Rancher:
https://github.com/rancher/rancher-cloud-controller-manager

So we should follow the example and as the OpenStack community "own"
the code completely and be responsible for maintaining, developing,
testing and delivering this code to users and operators who want
to run kubernetes and openstack together.

Change-Id: I3f8d19ab0e16c8f59554709c976b53ca8af5463e
---
 gerrit/acls/openstack/k8s-cloud-provider.config | 14 ++++++++++++++
 gerrit/projects.yaml                            |  3 +++
 gerritbot/channels.yaml                         |  1 +
 jenkins/jobs/projects.yaml                      |  6 ++++++
 zuul/layout.yaml                                |  5 +++++
 5 files changed, 29 insertions(+)
 create mode 100644 gerrit/acls/openstack/k8s-cloud-provider.config

diff --git a/gerrit/acls/openstack/k8s-cloud-provider.config b/gerrit/acls/openstack/k8s-cloud-provider.config
new file mode 100644
index 0000000000..8c63dbed42
--- /dev/null
+++ b/gerrit/acls/openstack/k8s-cloud-provider.config
@@ -0,0 +1,14 @@
+[access "refs/heads/*"]
+abandon = group k8s-cloud-provider-core
+label-Code-Review = -2..+2 group k8s-cloud-provider-core
+label-Workflow = -1..+1 group k8s-cloud-provider-core
+
+[access "refs/tags/*"]
+pushSignedTag = group k8s-cloud-provider-release
+
+[receive]
+requireChangeId = true
+requireContributorAgreement = true
+
+[submit]
+mergeContent = true
diff --git a/gerrit/projects.yaml b/gerrit/projects.yaml
index b771276602..8c3c2c1725 100755
--- a/gerrit/projects.yaml
+++ b/gerrit/projects.yaml
@@ -4683,6 +4683,9 @@
 - project: openstack/js-openstack-lib
   description: JavaScript API library for OpenStack.
   use-storyboard: true
+- project: openstack/k8s-cloud-provider
+  description: Kubernetes cloud provider (external) for OpenStack
+  upstream: https://github.com/dims/k8s-cloud-provider.git
 - project: openstack/k8s-docker-suite-app-murano
   description: Suite of the Docker and Kubernetes applications
 - project: openstack/karbor
diff --git a/gerritbot/channels.yaml b/gerritbot/channels.yaml
index 1742c6d16b..2d80f71b97 100755
--- a/gerritbot/channels.yaml
+++ b/gerritbot/channels.yaml
@@ -742,6 +742,7 @@ openstack-golang:
     - openstack/docker-machine-openstack
     - openstack/golang-client
     - openstack/golang-commons
+    - openstack/k8s-cloud-provider
   branches:
     - master
 
diff --git a/jenkins/jobs/projects.yaml b/jenkins/jobs/projects.yaml
index 2e378753ce..efaa17c1bd 100644
--- a/jenkins/jobs/projects.yaml
+++ b/jenkins/jobs/projects.yaml
@@ -5913,6 +5913,12 @@
       - nodejs4-jobs
       - nodejs4-publish-to-npm
 
+- project:
+    name: k8s-cloud-provider
+
+    jobs:
+      - golang-jobs
+
 - project:
     name: k8s-docker-suite-app-murano
 
diff --git a/zuul/layout.yaml b/zuul/layout.yaml
index 581488d353..a127af355f 100755
--- a/zuul/layout.yaml
+++ b/zuul/layout.yaml
@@ -11154,6 +11154,11 @@ projects:
     release:
       - js-openstack-lib-nodejs6-npm-sdk-docs
 
+  - name: openstack/k8s-cloud-provider
+    template:
+      - name: merge-check
+      - name: golang-jobs
+
   - name: openstack/k8s-docker-suite-app-murano
     template:
       - name: merge-check