DevCloud is the Cloudstack development appliance. It allows developers and testers to run a working Cloudstack instance using VirtualBox. It takes advantage of nested virtualization to even allow instance creation.
DevCloud can be downloaded from the wiki, but to automate building devcloud with the latest Apache Cloudstack code some work was done using Vagrant and Veewee by Edison Su and Chip Childers.
The code can be found in /tools/devcloud , it needs ruby 1.9.2 and a branch of Vagrant which is installed automatically.
First install RVM:
$ curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer > rvm-installer
$ chmod 755 rvm-installer
$ rvm install 1.9.2
You might need to configure your shell with something like:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
Then install ruby 1.9.2, select it and check that you are actually using it:
yoyo:~ runseb$ rvm use 1.9.2
$ ruby -v
ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-darwin10.8.0]
First clone the CloudStack master branch and then go to the devlcoud directory and launch the build:
$git clone https://git-wip-us.apache.org/repos/asf/cloudstack.git
You will see the modified Vagrant was installed
yoyo:devcloud runseb$ which vagrant
Next you can add the box and start the VM with:
$ vagrant box add devcloudbox ~/devcloud.box
[vagrant] Downloading with Vagrant::Downloaders::File...
[vagrant] Copying box to temporary location...
[vagrant] Extracting box...
[vagrant] Verifying box...
[vagrant] Cleaning up downloaded box...
$ cd Documents/Cloudstack/tools/devcloud/devcloudbox/
$ vagrant up
Notice the Vagrantfile in the devcloudbox directory. Edit this file before bringing up the box if you want to change the forwarded ports.
Once the build is done you can login into the box with vagrant ssh
$ssh -p 2222 devcloud@localhost
The credentials are devcloud:devcloud or root:password
However you don't need to login into the box, the Cloudstack UI should be accessible with your browser at _http://localhost:8080/client_