Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I've run OpenStack Compute (nova) on a single raspberry Pi using a modified version of Devstack and the Grizzly release.

As others mentioned, I used LXC as this was the only 'virt' target that could have worked. I also chose to use the ZeroMQ messaging driver. That choice was predicated on the fact that it limited the complexity of the installation and the memory footprint on the Pi. Plus, as the author of that driver, I wanted to see it working on ARM.

Ultimately, I discovered that LXC just didn't work on my single-Pi-OpenStack board. It might have been as "simple" as memory, or it might have been the version, or even overall ARM support. I decided not to dig into it further. I knew that to proceed, I'd need to create a cluster of Raspberry Pis as while I could get all of the essential Nova services to run, the machine was swapping too heavily and had no free memory to run containers.

I'd suggest you need a minimum of two Raspberry PI boards to run OpenStack Compute using a bare-minimum number of services. That would exclude support for VNC, Spice, nova-cert, EC2, etc. One machine could run all of your core services, the other dedicated to nova-compute.

This repository is quite old and it may be that it no longer works due to external dependencies, but you're welcome to take a look. The big changes here are my configuration settings for localrc and masking the installation of dependencies that aren't available for installation in Raspbian (but not actually required for Nova):

https://github.com/ewindisch/raspi-devstack

If you want to run OpenStack services besides Compute, you'll need additional Raspberry Pis.