The follow project aims to simplify getting a full Apache Cloudstack environment running on your machine.
The included VagrantFile will give you:
-
Management
- NFS Server
- MySQL Server
- Router
-
XenServer 6.2
-
Ensure your system has
git
installed. -
Clone the repository:
git clone https://github.com/imduffy15/GSoC-2014.git
-
Download and Install VirtualBox
-
Download and install Vagrant
-
Ensure all Vagrant Plugins are installed:
cd /path/to/cloned/repo bash scripts/vagrant_prep.sh vbox
-
Open virtualbox and navigate to its preferences/settings window.
-
Click onto the network tab and then onto the host only network tab.
-
Configure your adapters as follows:
- IPv4 IP address of 192.168.56.1
- Subnet of 255.255.255.0
- DHCP server disabled
- IPv4 IP address of 192.168.57.1
- Subnet of 255.255.255.0
- DHCP server disabled
- IPv4 IP address of 192.168.58.1
- Subnet of 255.255.255.0
- DHCP server disabled
cd /path/to/GSoC-2014/repo/basic
vagrant up
cd /path/to/GSoC-2014/repo/advanced
vagrant up
*** Common issues: ***
- 'Cannot forward the specified ports on this VM': There could be MySQL or some other service running on the host OS causing vagrant to fail setting up local port forwarding.
-
Clone the Cloudstack Repository:
git clone https://github.com/apache/cloudstack.git
*** Note: ***
Personally I prefer to use the 4.3 codebase rather than master. If you wish to do the same:
git reset --hard 0810029
-
Download vhd-util:
cd /path/to/cloudstack/repo wget http://download.cloud.com.s3.amazonaws.com/tools/vhd-util -P scripts/vm/hypervisor/xenserver/ chmod +x scripts/vm/hypervisor/xenserver/vhd-util
-
Compile Cloudstack:
cd /path/to/cloudstack/repo mvn -P developer,systemvm clean install -DskipTests=true
-
Deploy Cloudstack Database:
cd /path/to/cloudstack/repo mvn -P developer -pl developer,tools/devcloud -Ddeploydb
-
Start Cloudstack:
cd /path/to/cloudstack/repo mvn -pl :cloud-client-ui jetty:run
-
Install Marvin:
cd /path/to/cloudstack/repo pip install tools/marvin/dist/Marvin-0.1.0.tar.gz
python -m marvin.deployDataCenter -i /path/to/GSoC-2014/repo/basic/basic.json
python -m marvin.deployDataCenter -i /path/to/GSoC-2014/repo/advanced/advanced.json