Ask Your Question

Configure controller node as docker container

asked 2014-07-07 23:30:51 -0600

ed gravatar image

I just got a new server with more memory and CPU and I'm planning to re-create my whole openstack (Icehouse) setup from scratch on it. Currently I'm running the compute node on a laptop with Ubuntu 14.04 and the controller and network nodes are running as ubuntu VMs in Virtualbox on my iMac.

I'm installing the compute node directly on the new server (Ubuntu with KVM) however in order to maximize the resources available to the controller node, I'm planning to run it on a docker container side by side with the compute node. The network node will run on a KVM VM off the compute node.

Is it a recommended and supported setup? Does anyone know of any guides to accomplish that? I haven't found anything about it.

edit retag flag offensive close merge delete

1 answer

Sort by » oldest newest most voted

answered 2014-07-08 00:01:32 -0600

SGPJ gravatar image

The preferred mechanism orchestrating Docker in OpenStack is via Heat, rather than treating Docker as a form of hypervisor in OpenStack Nova.

Our initial path towards enabling the use of Docker in OpenStack was to create a driver for Docker in OpenStack Compute (Nova), which enabled a Docker container to be used as if it were a virtual machine.

However, the OpenStack conference in Hong Kong, it became clear that there were disadvantages to this approach. For instance, the standard API extensions expect certain VM-specific functionality, not all of which makes sense in a Docker or container context. Furthermore, using Docker as a VM in Nova also makes it difficult to expose some of the more useful Docker functionality, such as linking containers. For these reasons, we have begun to apply Heat as a better alternative.

OpenStack Heat with Nova OpenStack Heat with Nova (EDIT: OS::Heat::Docker should be DockerInc::Docker::Container) OpenStack Orchestration (Heat) is a solution for providing orchestration of resources inside OpenStack clouds. It provides compatibility with AWS CloudFormation, allowing users to upload templates describing the system that they would like to deploy.

Using the Heat plugin, users may deploy and manage Docker Containers on top of traditional OpenStack deployments, making it compatible with existing OpenStack clouds. Our plugin for Heat has been accepted into OpenStack and will be in the Icehouse release.

See this example for using Heat to orchestrate Docker:

heat_template_version: 2013-05-23 description: Single compute instance running cirros in a Docker container.

In the above example, multiple containers may be created and linked together by simply adding more sections like “my_docker_container”. They’re not constrained by the OpenStack APIs and may leverage the full power of the Docker Remote API.

edit flag offensive delete link more


Thanks, but I still want to use KVM as the main and only hypervisor for my instances. I just want to use one single docker container to act as the controller node for nova and the other services. The original plan was to use 2x KVM virtual machines running on the compute node itself to be the network and controller nodes however I'd like to know if its possible to use docker instead.

ed gravatar imageed ( 2014-07-08 04:38:27 -0600 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools



Asked: 2014-07-07 23:30:51 -0600

Seen: 1,395 times

Last updated: Jul 08 '14