Kolla provides production-ready containers and deployment tools for operating OpenStack clouds
Find a file
Michal Nasiadka f3f471b41e [Community goal] Update the contributor guide
Co-authored-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
Change-Id: I50e2bf6aac38624851edb15ecb108cade469ddad
Story: #2007236
Task: #38531
2020-05-20 11:53:24 +02:00
.zuul.d CI: Fix Debian aarch64 jobs 2020-04-30 13:55:05 +00:00
contrib/template-override Remove support for OracleLinux 2019-09-18 13:42:47 +01:00
doc [Community goal] Update the contributor guide 2020-05-20 11:53:24 +02:00
docker Merge "CentOS: disable more repos" 2020-05-20 01:47:49 +00:00
etc Clean up kolla-ansible related files from Kolla 2016-12-29 04:58:44 +00:00
kolla Merge "CentOS: disable more repos" 2020-05-20 01:47:49 +00:00
releasenotes Merge "Add ussuri prelude to release notes" 2020-05-20 01:53:22 +00:00
specs doc: Start using openstackdoctheme's extlink extension 2019-06-14 21:23:10 +08:00
tests CI: make sure that virtualenv is available 2020-04-30 22:19:06 +02:00
tools CentOS 8: Switch last mentions of yum to dnf 2020-04-15 14:17:40 +01:00
.gitignore Switch to stestr 2019-02-24 20:23:49 +01:00
.gitreview OpenDev Migration Patch 2019-04-19 19:48:08 +00:00
.stestr.conf Switch to stestr 2019-02-24 20:23:49 +01:00
.yamllint CI: pep8: Fix yamllint error on .yamllint 2019-10-15 17:29:13 +02:00
bindep.txt Switch to python3 in bindep.txt 2019-11-28 18:26:24 +00:00
CONTRIBUTING.rst [Community goal] Update the contributor guide 2020-05-20 11:53:24 +02:00
deliverables.yaml Add kayobe to deliverables.yaml 2019-09-16 16:36:55 +00:00
HACKING.rst Update the documentation link for doc migration 2017-07-21 09:50:25 +00:00
LICENSE Add ASL license 2014-09-20 17:29:35 -07:00
lower-constraints.txt Cleanup py27 support 2020-04-17 18:07:29 +02:00
README.rst Remove kolla Ceph container images 2020-02-14 08:52:23 +00:00
requirements.txt Cleanup py27 support 2020-04-17 18:07:29 +02:00
setup.cfg Cleanup py27 support 2020-04-17 18:07:29 +02:00
setup.py Cleanup py27 support 2020-04-17 18:07:29 +02:00
test-requirements.txt Fix hacking min version to 3.0.1 2020-05-12 19:26:29 -05:00
tox.ini Remove pypy job 2020-05-17 17:50:46 +08:00

==============
Kolla Overview
==============

.. image:: https://governance.openstack.org/tc/badges/kolla.svg
    :target: https://governance.openstack.org/tc/reference/tags/index.html

.. Change things from this point on


The Kolla project is a member of the OpenStack `Big Tent
Governance <https://governance.openstack.org/tc/reference/projects/index.html>`__.

Kolla's mission statement is:

::

    To provide production-ready containers and deployment tools for operating
    OpenStack clouds.

Kolla provides `Docker <https://docker.com/>`__ containers,
`Ansible <https://ansible.com/>`__ 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 <https://docs.openstack.org/kolla/latest/>`__.

Get started by reading the `Kolla Ansible Developer
Quickstart <https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html>`__.

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 <https://docs.docker.com/storage/storagedriver/>`__
are built by the Kolla project maintainers. A detailed process for
contributing to the images can be found in the `image building
guide <https://docs.openstack.org/kolla/latest/admin/image-building.html>`__.

The Kolla developers build images in the `kolla` namespace for every tagged
release.

You can view the available images on `Docker Hub
<https://hub.docker.com/u/kolla/>`__ or with the Docker CLI::

    $ sudo docker search kolla

OpenStack services
------------------

Kolla provides images to deploy the following OpenStack projects:

- `Almanach <https://almanach.readthedocs.io/>`__
- `Aodh <https://docs.openstack.org/aodh/latest/>`__
- `Barbican <https://docs.openstack.org/barbican/latest/>`__
- `Bifrost <https://docs.openstack.org/bifrost/latest/>`__
- `Blazar <https://docs.openstack.org/blazar/latest/>`__
- `Ceilometer <https://docs.openstack.org/ceilometer/latest/>`__
- `Cinder <https://docs.openstack.org/cinder/latest/>`__
- `CloudKitty <https://docs.openstack.org/cloudkitty/latest/>`__
- `Congress <https://docs.openstack.org/congress/latest/>`__
- `Cyborg <https://docs.openstack.org/cyborg/latest/>`__
- `Designate <https://docs.openstack.org/designate/latest/>`__
- `Dragonflow <https://docs.openstack.org/dragonflow/latest/>`__
- `EC2-API <https://wiki.openstack.org/wiki/EC2API>`__
- `Freezer <https://docs.openstack.org/freezer/latest/>`__
- `Glance <https://docs.openstack.org/glance/latest/>`__
- `Heat <https://docs.openstack.org/heat/latest/>`__
- `Horizon <https://docs.openstack.org/horizon/latest/>`__
- `Ironic <https://docs.openstack.org/ironic/latest/>`__
- `Karbor <https://docs.openstack.org/karbor/latest/>`__
- `Keystone <https://docs.openstack.org/keystone/latest/>`__
- `Kuryr <https://docs.openstack.org/kuryr/latest/>`__
- `Magnum <https://docs.openstack.org/magnum/latest/>`__
- `Manila <https://docs.openstack.org/manila/latest/>`__
- `Masakari <https://docs.openstack.org/masakari/latest/>`__
- `Mistral <https://docs.openstack.org/mistral/latest/>`__
- `Monasca <https://docs.openstack.org/monasca-api/latest/>`__
- `Murano <https://docs.openstack.org/murano/latest/>`__
- `Neutron <https://docs.openstack.org/neutron/latest/>`__
- `Nova <https://docs.openstack.org/nova/latest/>`__
- `Octavia <https://docs.openstack.org/octavia/latest/>`__
- `Panko <https://docs.openstack.org/panko/latest/>`__
- `Qinling <https://docs.openstack.org/qinling/latest/>`__
- `Rally <https://docs.openstack.org/rally/latest/>`__
- `Sahara <https://docs.openstack.org/sahara/latest/>`__
- `Searchlight <https://docs.openstack.org/searchlight/latest/>`__
- `Senlin <https://docs.openstack.org/senlin/latest/>`__
- `Solum <https://docs.openstack.org/solum/latest/>`__
- `Swift <https://docs.openstack.org/swift/latest/>`__
- `Tacker <https://docs.openstack.org/tacker/latest/>`__
- `Tempest <https://docs.openstack.org/tempest/latest/>`__
- `Trove <https://docs.openstack.org/trove/latest/>`__
- `Vitrage <https://docs.openstack.org/vitrage/latest/>`__
- `Vmtp <https://vmtp.readthedocs.io/en/latest/>`__
- `Watcher <https://docs.openstack.org/watcher/latest/>`__
- `Zaqar <https://docs.openstack.org/zaqar/latest/>`__
- `Zun <https://docs.openstack.org/zun/latest/>`__

Infrastructure components
-------------------------

Kolla provides images to deploy the following infrastructure components:

- `Certmonger <https://pagure.io/certmonger>`__ a service to simplify interaction
  with CAs on networks which use PKI.
- `Chrony <https://chrony.tuxfamily.org/>`__ a versatile implementation
  of the Network Time Protocol (NTP).
- `Collectd <https://collectd.org>`__,
  `InfluxDB <https://influxdata.com/time-series-platform/influxdb/>`__, and
  `Grafana <https://grafana.com>`__ for performance monitoring.
- `Corosync <https://clusterlabs.org/corosync.html>`__ and
  `Pacemaker <https://clusterlabs.org/pacemaker>`__ for HAcluster.
- `Elasticsearch <https://www.elastic.co/de/products/elasticsearch>`__ and
  `Kibana <https://www.elastic.co/products/kibana>`__ to search, analyze,
  and visualize log messages.
- `Cron <https://cron-job.org>`__ for log rotation.
- `Etcd <https://etcd.io/>`__ a distributed key value store that provides
  a reliable way to store data across a cluster of machines.
- `Fluentd <https://www.fluentd.org/>`__ as an open source data collector
  for unified logging layer.
- `Gnocchi <https://gnocchi.xyz/>`__ a time-series storage database.
- `HAProxy <https://www.haproxy.org/>`__ and
  `Keepalived <https://www.keepalived.org/>`__ for high availability of services
  and their endpoints.
- `Kafka <https://kafka.apache.org/documentation/>`__ a distributed streaming
  platform.
- `MariaDB and Galera Cluster <https://mariadb.com/kb/en/library/galera-cluster/>`__
  for highly available MySQL databases.
- `Memcached <https://www.memcached.org/>`__ a distributed memory object caching system.
- `MongoDB <https://www.mongodb.org/>`__ as a database back end for Panko.
- `Open vSwitch <https://www.openvswitch.org/>`__ and Linuxbridge back ends for Neutron.
- `Linux ptp <http://linuxptp.sourceforge.net/>`__ an implementation of the Precision
  Time Protocol (PTP) according to IEEE standard 1588 for Linux.
- MariaDB Backup A tool which provides a method of performing a hot backup of your MySQL data while the
  system is running.
- `Prometheus <https://prometheus.io/>`__ an open-source systems monitoring
  and alerting toolkit originally built at SoundCloud.
- `Qdrouterd <https://qpid.apache.org/components/dispatch-router/index.html>`__ as a
  direct messaging back end for communication between services.
- `RabbitMQ <https://www.rabbitmq.com/>`__ as a broker messaging back end for
  communication between services.
- `Redis Sentinel <https://redis.io/topics/sentinel>`__ provides high availability for redis
  along with collateral tasks such as monitoring, notification and acts as configuration
  provider for clients.
- `Sensu <https://sensu.io/>`__ workflow automation for monitoring.
- `Telegraf <https://www.docs.influxdata.com/telegraf/>`__ as a plugin-driven server
  agent for collecting & reporting metrics.
- `ZooKeeper <https://zookeeper.apache.org/>`__ 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 <https://docs.openstack.org/infra/manual/developers.html>`__.

-  We communicate using the #openstack-kolla irc channel.
-  File bugs, blueprints, track releases, etc on
   `Launchpad <https://launchpad.net/kolla>`__.
-  Attend weekly
   `meetings <https://wiki.openstack.org/wiki/Meetings/Kolla>`__.
-  Contribute `code <https://opendev.org/openstack/kolla>`__.

Contributors
============

Check out who is `contributing
code <https://stackalytics.com/?module=kolla-group&metric=commits>`__ and
`contributing
reviews <https://stackalytics.com/?module=kolla-group&metric=marks>`__.

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.