Hi All, Giving a very brief overview of everything that has been done. If any questions or expansion is wanted please reply back.
TL;DR "vagrant up" for: Cloudstack basic zone from source, Cloudstack advanced zone from source, Cloudstack Simulator, Cloudstack binary installation and configuration. All provisioning/setup done by chef. VagrantFiles / Example usage: https://github.com/imduffy15/GSoC-2014 Chef recipe: https://github.com/imduffy15/cookbook_cloudstack *CLOUDSTACK-6114 - GSoC: Create config management recipes to install CloudStack. ( https://issues.apache.org/jira/browse/CLOUDSTACK-6114 <https://issues.apache.org/jira/browse/CLOUDSTACK-6114> ) * *"Devcloud" basic (https://github.com/imduffy15/GSoC-2014/tree/master/basic <https://github.com/imduffy15/GSoC-2014/tree/master/basic>)* Re-jigged version of devcloud using vagrant and chef. Made up of: 1) "Management" VM. Acts as NFS, MySQL and a Gateway. 2) XenServer VM. (Built using packer https://github.com/imduffy15/packer-xenserver) Cloudstack is ran on the developers machine. Marvin is also ran on the developers machine with a supplied configuration for a basic zone. MySQL is forwarded from the VM to localhost 3306. This means deploydb works without issue. Unlike the old implementation, the VMs brought up by cloudstack have internet access. VagrantFile and Marvin config can be found at https://github.com/imduffy15/GSoC-2014/tree/master/basic *"Devcloud" advanced (https://github.com/imduffy15/GSoC-2014/tree/master/advanced <https://github.com/imduffy15/GSoC-2014/tree/master/advanced>)* Extension of the above described "Devcloud" basic. This extension introduces more virtual network cards. This allows for an advanced zone to be deployed. Again, Cloudstack and Marvin will the ran on the developers machine. A marvin config file has been supplied for this. VagrantFile and Marvin config can be found at https://github.com/imduffy15/GSoC-2014/tree/master/advanced **** Note **** *The ttylinux_vhd supplied with devcloud has hard coded dns servers in resolv.conf.* *These are not overwrote by the DHCP lease.* *As a side project and workaround I have supplied Debian images http://dl.openvm.eu/cloudstack/debian/vanilla/7/x86_64/ <http://dl.openvm.eu/cloudstack/debian/vanilla/7/x86_64/> Thanks to Nux for hosting and exoscale supplying boxes to build the images automatically. * *Simulator (https://github.com/imduffy15/GSoC-2014/tree/master/simulator <https://github.com/imduffy15/GSoC-2014/tree/master/simulator>)* This is a single virtual machine. All development tools and mysql are installed onto this box. A specified version of Cloudstack source is downloaded and compiled. The simulator is booted, when completed marvin is executed on the box and the simulator is configured. Takes a bit of time to come up... faster solution below. VagrantFile at https://github.com/imduffy15/GSoC-2014/tree/master/simulator *Simulator fast (https://github.com/imduffy15/GSoC-2014/tree/master/simulator-fast <https://github.com/imduffy15/GSoC-2014/tree/master/simulator-fast>)* This is a single virtual machine that supplies the cloudstack simulator. I*t comes up in however fast you can download the 128mb cloud-client-ui war.* This is restricted to running the cloud-client.war I have supplied (based of 4.4). This is due to inflexibility around the database. I was hoping to just use the basic create-schema files and let the upgrade handle the rest however the upgrade fails. If anybody has a solution to this I would love to hear it. This works by taking the cloud-client.war and deploying it with jetty. VagrantFile at https://github.com/imduffy15/GSoC-2014/tree/master/simulator-fast *Binary Installation (https://github.com/imduffy15/GSoC-2014/tree/master/binary-installation <https://github.com/imduffy15/GSoC-2014/tree/master/binary-installation>)* Takes the Cloudstack RPMs, installs them and all requirements. Installs marvin and executes it against a configuration supplied within the chef recipe to configure your cloud. The hypervisor is to be considered a static node. In a real world environment it must exist before executing the chef recipe. For demoing and testing purposes a VagrantFile for this can be found at https://github.com/imduffy15/GSoC-2014/tree/master/binary-installation **** Note **** All of the above described boxes are not baked. They are fried on boot up using chef, this means you can use the recipe outside of vagrant for achieving the same thing. The recipe can be found at https://github.com/imduffy15/cookbook_cloudstack for usage please see the above mentioned vagrantfiles and their run lists along with the chef attributes defination file.