Ask Your Question

Revision history [back]

You have full flexibility where to install what component, on a single system or distributed. This works because components communicate via the network - a message queue when talking to components inside the same OpenStack service, like Nova, and APIs to access other services. The service catalog contains the URLs (correct name: Endpoints) of all services.

Larger installations may, for example, put all the measurement modules (Ceilometer and friends) onto separate servers, since they demand a lot of CPU.

Also, most components work well in an active/active high-availability setup. A typical production setup may have three controllers that contain everything but the hypervisors, fronted with something like HA-Proxy.

If you want to set up an all-in-one server or generally an experimental cloud, my personal preference over DevStack is Packstack. DevStack can't be rebooted, manages the OpenStack services in a very unorthodox way and doesn't make it easy to add hosts. It's not meant to run a cloud; it's meant to develop, test and troubleshoot OpenStack. Packstack on the other hand does allow reboots, uses systemd for service management and makes it very easy to provision additional hosts. One drawback of Packstack: It requires RHEL/Centos/ScientificLinux as underlying OS and doesn't work with Ubuntu or SUSE. Perhaps it's also less cutting-edge as far as new functionality is concerned.