In cf0c25c37 [0] a play was added to run the common role against all hosts. This ends up being redundant since every role includes the common role as a dependancy. The reasoning behind this change as pointed out by the author in the review comments [1] was so that an operator could run with '--tags common' and just have the common role applied. To avoid redundancy, the common play has been removed and tags have been added to the common role. This allows for just the common role to run when another role is including it while reducing redundancy. A side affect of removing the common playbook which runs against all hosts is that not all facts on all hosts are gathered at the beginning of the site.yml. This breaks the haproxy role since it relies heavily on facts to build out the haproxy.cfg file. Previously, the haproxy role would include several hosts purely for fact gathering purposes as pointed out in c68c9d95 [2] and a guard was put in place so that the tasks would only run against the 'haproxy' group. In 423e3f3f [3] these hosts were removed. After reading the review [4], this seems to have been done without fully understanding why the hosts were there in the first place. This change did not break anything however since the common role that ran on all hosts mentioned previously would gather all of the facts necessary. To fix this fact gathering issue replace the common role play with a play that will simply gather facts with an 'always' tag to ensure it is run regardless of what might be passed in the '--tags' argument by the operator. Kudos to Paul Bourke for helping identify many of these issues. [0]cf0c25c37d
[1] https://review.openstack.org/#/c/369212/ [2]c68c9d95fc
[3]423e3f3fdf
[4] https://review.openstack.org/#/c/355861 TrivialFix Closes-Bug: #1628472 Change-Id: Ia94146579e743935501f1ff4b4c1bf6cb7c43aa3
Kolla Overview
The Kolla project is a member of the OpenStack Big Tent Governance.
Kolla's mission statement is:
To provide production-ready containers and deployment tools for operating
OpenStack clouds.
Kolla provides Docker containers and Ansible playbooks to meet Kolla's mission.
Kolla is highly opinionated out of the box, but allows for complete customization. This permits operators with little experience to deploy OpenStack quickly and as experience grows modify the OpenStack configuration to suit the operator's exact requirements.
Getting Started
Learn about Kolla by reading the documentation online docs.openstack.org.
Get started by reading the Developer Quickstart.
Docker images
The Docker images are built by the Kolla project maintainers. A detailed process for contributing to the images can be found in the image building guide.
The Kolla developers build images in the kolla namespace for every tagged release and implement an Ansible roles for many but not all of them.
You can view the available images on Docker Hub or with the Docker CLI:
$ sudo docker search kolla
OpenStack services
Kolla provides images to deploy the following OpenStack projects:
- Aodh
- Barbican
- Bifrost
- Ceilometer
- Cinder
- CloudKitty
- Congress
- Designate
- Glance
- Gnocchi
- Heat
- Horizon
- Ironic
- Keystone
- Kuryr
- Magnum
- Manila
- Mistral
- Murano
- Neutron
- Nova
- Rally
- Sahara
- Senlin
- Swift
- Tempest
- Trove
- Vmtp
- Watcher
- Zaqar
Infrastructure components
Kolla provides images to deploy the following infrastructure components:
- Ceph implementation for Cinder, Glance and Nova
- collectd, InfluxDB, and Grafana for performance monitoring.
- Elasticsearch and
-
Kibana to search, analyze, and visualize log messages.
- HAProxy and Keepalived for high availability of services and their endpoints.
- Heka A distributed and scalable logging system for OpenStack services.
- MariaDB and Galera Cluster for highly available MySQL databases
- MongoDB as a database backend for Ceilometer and Gnocchi
- Open vSwitch and Linuxbridge backends for Neutron
- RabbitMQ as a messaging backend for communication between services.
Directories
ansible
- Contains Ansible playbooks to deploy Kolla in Docker containers.demos
- Contains a few demos to use with Kolla.dev/vagrant
- Contains a vagrant VirtualBox/Libvirt based development environment.doc
- Contains documentation.docker
- Contains jinja2 templates for the docker build system.etc
- Contains a reference etc directory structure which requires configuration of a small number of configuration variables to achieve a working All-in-One (AIO) deployment.tests
- Contains functional testing tools.tools
- Contains tools for interacting with Kolla.specs
- Contains the Kolla communities key arguments about architectural shifts in the code base.
Getting Involved
Need a feature? Find a bug? Let us know! Contributions are much appreciated and should follow the standard Gerrit workflow.
- We communicate using the #openstack-kolla irc channel.
- File bugs, blueprints, track releases, etc on Launchpad.
- Attend weekly meetings.
- Contribute code.
Contributors
Check out who's contributing code and contributing reviews.