/kolla

Kolla provides production-ready containers and deployment tools for operating OpenStack clouds

Primary LanguagePythonApache License 2.0Apache-2.0

Team and repository tags

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, Ansible playbooks to deploy OpenStack on baremetal or virtual machine to meet Kolla's mission.

Kolla has out of the box defaults for a working basic deployment, and also implements complete customization. This model permits operators with minimal experience to deploy OpenStack quickly and as the operator's experience grows modify the OpenStack configuration to suit the operator's exact requirements.

Getting Started

Learn about Kolla by reading the documentation online Kolla.

Get started by reading the Kolla Ansible Developer Quickstart.

The Kolla Repository

The Kolla repository is one of three deliverables of the OpenStack Kolla project. The three deliverables that make up the Kolla project are:

Deliverable Repository
kolla https://opendev.org/openstack/kolla
kolla-ansible https://opendev.org/openstack/kolla-ansible
kolla-cli https://opendev.org/openstack/kolla-cli

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.

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:

Infrastructure components

Kolla provides images to deploy the following infrastructure components:

  • Ceph implementation for Cinder, Glance and Nova
  • Certmonger a service to simplify interaction with CAs on networks which use PKI.
  • Chrony a versatile implementation of the Network Time Protocol (NTP).
  • Collectd, InfluxDB, and Grafana for performance monitoring.
  • Elasticsearch and Kibana to search, analyze, and visualize log messages.
  • Cron for log rotation.
  • Etcd a distributed key value store that provides a reliable way to store data across a cluster of machines.
  • Fluentd as an open source data collector for unified logging layer.
  • Gnocchi a time-series storage database.
  • HAProxy and Keepalived for high availability of services and their endpoints.
  • Kafka a distributed streaming platform.
  • MariaDB and Galera Cluster for highly available MySQL databases.
  • Memcached a distributed memory object caching system.
  • MongoDB as a database back end for Panko.
  • Open vSwitch and Linuxbridge back ends for Neutron.
  • Linux ptp an implementation of the Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux.
  • Percona XtraBackup A tool which provides a method of performing a hot backup of your MySQL data while the system is running.
  • Prometheus an open-source systems monitoring and alerting toolkit originally built at SoundCloud.
  • Qdrouterd as a direct messaging back end for communication between services.
  • RabbitMQ as a broker messaging back end for communication between services.
  • Redis Sentinel provides high availability for redis along with collateral tasks such as monitoring, notification and acts as configuration provider for clients.
  • Sensu workflow automation for monitoring.
  • Telegraf as a plugin-driven server agent for collecting & reporting metrics.
  • ZooKeeper as a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.

Directories

  • contrib - Contains sample template override files.
  • 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 build docker images.
  • kolla - Contains Python modules for kolla image build system.
  • releasenotes - Contains the releasenote for all added features in kolla.
  • roles - Contains Ansible roles used in CI.
  • specs - Contains the Kolla communities key arguments about architectural shifts in the code base.
  • tests - Contains functional testing tools.
  • tools - Contains tools for interacting with the kolla repository.

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 is contributing code and contributing reviews.

Notices

Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein.