No description, website, or topics provided.
Branch: master
Clone or download
k8s-ci-robot Merge pull request #457 from ramineni/topology-new
Add support for topology aware dynamic volume provisioning
Latest commit aac8825 Feb 15, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update Pull Request Template Oct 15, 2018
cluster Merge pull request #377 from adisky/barbican-kms-final Dec 24, 2018
cmd Merge pull request #468 from ramineni/update-lib Feb 12, 2019
contrib Get tests working again Jan 13, 2018
devstack Remove 'systemctl status' call from devstack plugin Mar 26, 2018
docs Add support for topology aware dynamic volume provisioning Feb 14, 2019
examples Add support for topology aware dynamic volume provisioning Feb 14, 2019
hack update format check scripts Nov 16, 2018
manifests Add support for topology aware dynamic volume provisioning Feb 14, 2019
pkg Add support for topology aware dynamic volume provisioning Feb 14, 2019
staging/src/ Switch from glog to klog Dec 4, 2018
tools Install also make if not installed May 18, 2018
.gitignore Add barbican-kms-plugin to gitignore Jan 17, 2019
.travis.yml Migrate from Glide to dep Apr 9, 2018
.zuul.yaml Do not run jobs for changes to documentation Dec 15, 2018 Adds url to log new bug in Sep 29, 2018
Gopkg.lock Merge pull request #468 from ramineni/update-lib Feb 12, 2019
Gopkg.toml Merge pull request #468 from ramineni/update-lib Feb 12, 2019
LICENSE Add LICENSE cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417b… Mar 21, 2018
Makefile Deployment barbican-kms-plugin Dec 7, 2018
OWNERS Add lingxiankong to the OWNERS Feb 4, 2019 Small improvements Jun 21, 2018
bindep.txt Update build environment Jan 13, 2018 Add Aug 2, 2018
snapcraft.yaml Pulling docker for the build Aug 22, 2018

OpenStack Cloud Controller Manager

Thank you for visiting the openstack-cloud-controller-manager repository!

OpenStack Cloud Controller Manager - An external cloud controller manager for running kubernetes in an OpenStack cluster.


External cloud providers were introduced as an Alpha feature in Kubernetes release 1.6. This repository contains an implementation of external cloud provider for OpenStack clusters. An external cloud provider is a kubernetes controller that runs cloud provider-specific loops required for the functioning of kubernetes. These loops were originally a part of the kube-controller-manager, but they were tightly coupling the kube-controller-manager to cloud-provider specific code. In order to free the kubernetes project of this dependency, the cloud-controller-manager was introduced.

cloud-controller-manager allows cloud vendors and kubernetes core to evolve independent of each other. In prior releases, the core Kubernetes code was dependent upon cloud provider-specific code for functionality. In future releases, code specific to cloud vendors should be maintained by the cloud vendor themselves, and linked to cloud-controller-manager while running Kubernetes.

As such, you must disable these controller loops in the kube-controller-manager if you are running the openstack-cloud-controller-manager. You can disable the controller loops by setting the --cloud-provider flag to external when starting the kube-controller-manager.

For more details, please see:


Here are some examples of how you could leverage openstack-cloud-controller-manager:


make will build, test, and package this project. This project uses go dep for dependency management.

If you don't have a Go Environment setup, we also offer the ability to run make in a Docker Container. The only requirement for this is that you have Docker installed and configured (of course). You don't need to have a Golang environment setup, and you don't need to follow rules in terms of directory structure for the code checkout.

To use this method, just call the hack/ script with the desired argument: hack/ build for example will run make build in a container.

NOTE You MUST run the script from the root source directory as shown above, attempting to do something like cd hack && build will not work because we won't bind mount the source files into the container.


Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.