Kolla provides production-ready containers and deployment tools for operating OpenStack clouds
Go to file
Steven Dake f4fd47dc2c Make nova-compute-network use a data volume container
A data volume container is far superior to bind mounting the
host's shared directories.  It preserves the idempotency,
immutability and declarative properties of the containers.

The way this works in practice is that a data volume container is
created.  Then when the containers start they use LVM to access
the filesystem where /var/lib/docker is contained.  Then the
container startup logic bindmounts the data volume stored on the
host filesystem in /var/lib/docker/vfs/dir/ID.  This prevents
people with access to the host operating system from damaging
the contents of the data container.

It does mean that now we must use tools/stop to stop our containers
rather than tools/cleanup-containers -f.

This is a containers best practice.  For more details see:

https://docs.docker.com/userguide/dockervolumes/

Big credit goes to Danyeon Hansen for seeding this idea in the
mariadb containers.

Note occasionally docker-compose start/stop seems to not want to stop
a container.  This bug needs to be addressed upstream separately
from our utilization of this best practice.

Change-Id: Iaa1419f606e1b1b7a7560a095c49e79d643164f1
2015-03-22 08:54:53 -07:00
compose Make nova-compute-network use a data volume container 2015-03-22 08:54:53 -07:00
devenv Closes-Bug: 1425631 2015-02-25 18:12:02 +00:00
docker Make nova-compute-network use a data volume container 2015-03-22 08:54:53 -07:00
docs Improve developer docs around docker-compose and docker-dev 2015-03-20 23:45:52 -07:00
specs Fix typos in kolla/specs/containerize-openstack.rst 2015-03-19 02:02:29 +09:00
tools Add a stop command to shut down Kolla AIO 2015-03-21 15:09:20 -07:00
.gitignore Move genenv.sh and start.sh to tools directory 2015-03-20 10:31:02 +09:00
.gitreview Add a .gitreview to point to stackforge's gerrit 2014-10-01 09:35:54 -07:00
LICENSE Add ASL license 2014-09-20 17:29:35 -07:00
README.md Remove reference to k8s directory from README 2015-03-20 10:13:26 +09:00
test-requirements.txt modify tox config to use new validation code 2014-10-14 22:36:43 -04:00
tox.ini add maintainer check to tests 2014-10-31 10:10:27 -04:00

Kolla Overview

The Kolla project is part of the OpenStack TripleO effort, focused on deploying OpenStack services using Docker containers. The initial system spec provides additional details of Kolla and the use cases it addresses.

Getting Started

Deployment on bare metal is a complex topic which is beyond the scope of the project at this time. An environment to simplify the deployment of a single or multi-node Kolla cluster is required for development purposes. As a result, a Heat template has been created for deploying a Kolla cluster to an existing OpenStack cloud.

Docker Images

The Docker images are built by the Kolla project maintainers. A detailed process for contributing to the images can be found here. Images reside in the Docker Hub Kollaglue repo.

The Kolla developers build images in the kollaglue namespace for the following services:

  • Glance
  • Heat
  • Keystone
  • Mariadb
  • Nova
  • Rabbitmq
  • Neutron
  • Mongodb
  • Ceilometer
  • Zaqar
  • Horizon
$ sudo docker search kollaglue

A list of the upstream built docker images will be shown.

Directories

  • docker - contains artifacts for use with docker build to build appropriate images
  • compose - contains the docker-compose files defining the container sets
  • tools - contains different tools for interacting with Kolla
  • devenv - A collection of tools and resources for managing a Kolla development environment.

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 #tripleo irc channel.
  • File bugs, blueprints, track releases, etc on Launchpad.
  • Attend weekly meetings.
  • Contribute code

Contributors

Check out who's contributing.