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:
https://wiki.ubuntu.com/ARM/RaspberryPi

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:
https://github.com/apache/cloudstack/

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.

 


3Comments

  • 29 / 06 /2015 - Alex Herrmann

    Can’t wait to see where this goes, I’m new to cloudstack, but I love the raspberry PI and can’t wait to see where this goes.

  • 30 / 06 /2015 - Anoosh

    Hi Alex,
    At the moment we (me and my colleague Ferenc) are working on adding the first hypervisor to the mgmt.
    Yesterday I’ve got KVM and CS-agent running on the first host (see CS-Agent page for details)
    Cheers,
    Anoosh

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>