To ease deployment of CloudStack we need to develop a set of recipes for all the configuration management systems. A few already exist using Chef, Puppet and Ansible.
This project will do an inventory of existing recipes available on-line, coalesce them into a coherent set and write missing recipes.
The student will need to learn configuration management with at least one tool (chef, puppet, ansible, salt..etc) and will develop recipes using Vagrant.
The outcome will be a fully functional devcloud (cloudstack sandbox) with multiple recipes. CloudStack will be deployable in a sandbox or in a multi-machine environment.
The aim of this project is to use Vagrant and one of the many configuration management tools to easily bring up Cloudstack environments for development or testing purposes.
Currently there are two projects which aim to give full Cloudstack development environments:
SimStack: Vagrant box with Apache Cloudstack and Raik-CS. It uses the Cloudstack simulator in order to simulate a virtual data centre. It uses chef recipes for the installation of all required software.
Devcloud: Vagrant box with Apache Cloudstack and Xen installed. Uses boxer and puppet for its creation. It requires a modified version of Vagrant because it uses SCP for uploading the puppet recipes to the box. As far as I'm aware the project is a little dated. Its code is available within/tools/devcloud/src
.
Along with this there are several projects for installing Apache Cloudstack:
puppet-cloudstack: puppet manifests for installing Apache Cloudstack (unsure of specific version), Cloudstack-Agent and KVM. Project was last updated 2 years ago.
cookbook_co-cloudstack: Chef cookbook for installing Apache Cloudstack 4.2.
autoinstall_cloudstack: Shell script for installing Apache Cloudstack 4.2.
The project will aim to deliver:
vhd-util
and downloading the SystemVM template to secondary storage.This box will be provisioned by puppet on first boot.
Port 3306 will be forwarded to the host machine to avoid the developer having to install a MySQL server.
The VagrantFile will allow for 1 or more XenServer boxes to be brought up.
The host-only adapter will act as a gateway to the NAT adapter to allow VMs brought up by Cloudstack to access the internet.
This box will be provisioned by puppet on first boot.
It will take some time to come up as the Cloudstack code base will need to be downloaded and compiled.
The VagrantFile will allow for 1 or more XenServer boxes to be brought up.
The host-only adapter will act as a gateway to the NAT adapter to allow VMs brought up by Cloudstack to access the internet.
No hypervisor will be present, Cloudstack will be deployed in simulator mode.
This box will be provisioned by puppet on first boot.
It will take some time to come up as the Cloudstack code base will need to be downloaded and compiled.
No hypervisor is required as Cloudstack is running in simulator mode.
https://issues.apache.org/jira/browse/CLOUDSTACK-6114
https://cwiki.apache.org/confluence/display/CLOUDSTACK/DevCloud
https://github.com/runseb/simstack