← Back

Deploying OpenStack with Docker

Note This is a Work-In-Progress Document and the most up-to-date information is available at: github.com/memogarcia/openstack-deployer

Deploying OpenStack using containers allows easy customisation and flexibility on how to deploy the platform for development, testing and production environments.

Current deployment: stable/queens

Host configuration

The default configuration for this environment is composed by 3 main components that need to run on the host:

Docker will act as the control plane for OpenStack while the host will provide the hypervisor, network and storage.

host_diagram

Network topology

This is the default network topology, 2 networks are used:

  • openstack-management-net: All openstack traffic goes through here
  • openstack-provider-net: Instances get IPs in this network

simplified_network_diagram

Infra services

  • Fluentd: for logging
  • Cadvisor: for container stats
  • Elasticsearch: for log collection
  • Kibana: for log visualization
  • Portainer: for container management

Third-party services

Configure the third-party services needed for OpenStack to run.

OpenStack services

Extending OpenStack services

Deploying OpenStack

The model is a yml file describing how your environment should look like. It defines the services to run, networks, ips, volumes, dependencies, etc.

Configure your runtime environment by modifying model.yml .

Apply the configuration with config_processor, which will create the necessary scripts to run the environment.

BASH
ansible-playbook -i hosts/localhost config_processor.yml

Config processor will create a new branch deploy where the runtime configuration will be ready for deployment.

Verify the branch is created correctly.

BASH
git branch
# * deploy
git log
# Ready for deployment

Deploy OpenStack

BASH
./scripts/docker-network-create.sh
./scripts/build.sh
./scripts/start.sh

Verify installation

BASH
source osrc-v3
openstack project list
openstack image list
openstack network list
openstack server list

References

OpenStack installation Guide

Next story →