
Source based routing is necessary for some services where we want the same clients land to the same servers. For exanmple, Keystone uses one of many memcached servers - if a client gets a token from one but then lands on another api server on the next request, that will bind to another cache and we get failed authentication. Other examples are horizon/murano where we upload a package in several steps. If we don't balance client connections to the same host we will end up with the package downloaded to one host but unsuccessfully unpacked/imported on another host. This option is commonly used in the official OpenStack docs [0] [0] https://docs.openstack.org/ha-guide/controller-ha-haproxy.html Co-Authored-By: James McCarthy <james.m.mccarthy@oracle.com> Change-Id: I56f1e48f6dbe457e776a474222073bbefc48c92a
Team and repository tags
Kolla-Ansible Overview
The Kolla-Ansible is a deliverable project separated from Kolla project.
Kolla-Ansible deploys OpenStack services and infrastructure components in Docker containers.
Kolla's mission statement is:
To provide production-ready containers and deployment tools for operating
OpenStack clouds.
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-Ansible by reading the documentation online docs.openstack.org.
Get started by reading the Developer Quickstart.
OpenStack services
Kolla-Ansible deploys containers for the following OpenStack projects:
- Aodh
- Barbican
- Bifrost
- Ceilometer
- Cinder
- CloudKitty
- Congress
- Designate
- Freezer
- Glance
- Gnocchi
- Heat
- Horizon
- Ironic
- Karbor
- Keystone
- Kuryr
- Magnum
- Manila
- Mistral
- Murano
- Neutron
- Nova
- Octavia
- Panko
- Rally
- Sahara
- Searchlight
- Senlin
- Solum
- Swift
- Tacker
- Tempest
- Trove
- Vmtp
- Watcher
- Zaqar
- Zun
Infrastructure components
Kolla-Ansible deploys containers for the following infrastructure components:
- Ceph implementation for Cinder, Glance and Nova.
- Collectd, Telegraf, InfluxDB, and Grafana for performance monitoring.
- Elasticsearch and Kibana to search, analyze, and visualize log messages.
- Etcd a distributed reliable key-value store.
- Fluentd as an open source data collector for unified logging layer.
- 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 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 OpenStack services and infrastructure components in Docker containers.contrib
- Contains demos scenarios for Heat and Murano and a development environment for Vagrantdoc
- Contains documentation.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.specs
- Contains the Kolla-Ansible communities key arguments about architectural shifts in the code base.tests
- Contains functional testing tools.tools
- Contains tools for interacting with Kolla-Ansible.
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.
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.