Apache Cloudstack on Raspberry Pi
This project page is about compiling, installing and configuring a cloud environment on a Raspberry Pi cluster, using Apache Cloudstack with either LXC/KVM hypervisors or bare metal provisioning.
This project, aimed for development and learning Cloudstack, has been started in 2013 when Cloudstack 4.1.1 management server was partially compiled for Raspberry Pi 1 (only systemvm and developer could be compiled back then) and the project was introduced in CCC – Cloudstack Collaboration Conference in Amsterdam 2013.
After the release of Raspberry Pi 2 in 2014, and with the Cloudstack 4.6 master branch development in 2015 where AWSAPI is removed from the code base, I’m now able to fully compile Cloudstack 4.6 on arm-v7 platform, therefore we might have a functional cloud platform with LXC or Bare metal provisioning on a Raspberry Pi cluster very soon, which this project is actually all about.
This page will be updated after each step and any progress has been made.
Find me at: Linkedin: https://www.linkedin.com/profile/view?id=28473210 Twitter: @gitlocker Schuberg Philis: https://schubergphilis.com/team
All examples are based on Raspberry Pi 2 with Broadcom BCM2836 Arm7 CPU and 1G of memory. Also the current repository is prepared for Raspberry-2.
(feel free to test it on a Raspberry-1 models. Probably the result on a Raspberry-1 will be somehow “working” but highly disappointing because of the performance.)
It is not necessary to compile the Cloudstack management and agent yourself. Apache Cloudstack 4.6.0 master branch is compiled for Raspberry Pi 2 and the resulted Ubuntu repository is accessible from this website. However I will cover all steps for compiling from the source code, just in case there is a need for an alternative compilation. Compiling Cloudstack on Raspberry Pi is highly time taking and would be only necessary if you try to compile an alternative repository for Cloudstack (either version 4.6 or other branches) with an alternative set of components/plugins. The repo of claspi.org will be kept up to date as time permits.
All examples here are based on Ubuntu 14.04 LTS (Trusty Tahr) for Raspberry Pi 2 which can be found here:
Cloudstack compilation and installation steps are also tested on other Raspberry Pi images (Raspbian, Minibian, etc.) and they’re apparently NOT working. Ubuntu Trusty is the only image where this setup will just work out of the box. However, for any reason if you insist to run these examples on any other Raspberry Pi image, please do so and share your experience.
Project documents are provided in the following pages:
1- Compiling Cloudstack 4.6 source code for Raspberry Pi 2: (Compile)
2- Download links for all the images/files/examples provided in this website (Download)
3- Install Cloudstack 4.6 management server: (Install)
4- Install and configure LXC/KVM hypervisors and cloudstack-agent: (CS-Agent)
5- Using Cloudstack to manage Raspberry Pi’s with bare metal provisioning: (Bare metal)
The repository in this website is based on 4.6 without any Java code changes or package changes, so the repository contains complete binaries of the current 4.6 master branch with all the components and plugins.
Cloudstack 4.6 master branch can be found on github:
If you have any issue with the provided documentation, please raise them as a comment in that section. I will try to answer them or point you to a direction to solve the issue.
Update: 13 June 2015:
Website is published. Only the Cloudstack installation page is completed and usable. Other pages will be written as time permits.
Update: 16 June 2015:
The initial steps for installing cloudstack-agent has been added to CS-Agent page. The document is still incomplete.