Ubuntu 14.04 image that contains all necessary software to compile CloudStack. CloudStack code is in /root and compiled with the simulator. MySQL database is running via supervisord. Start the container and you will enjoy CloudStack with a simulated data center.
docker pull cloudstack/simulator docker run --name cloudstack -d -p 8080:8080 cloudstack/simulator
Open your browser at http://localhost:8080/client
Default login is admin:password
Deploy a datacenter:
docker exec -ti cloudstack python \ /root/tools/marvin/marvin/deployDataCenter.py -i /root/setup/dev/advanced.cfg # or docker exec -ti cloudstack python \ /root/tools/marvin/marvin/deployDataCenter.py -i /root/setup/dev/advancedsg.cfg # or docker exec -ti cloudstack python \ /root/tools/marvin/marvin/deployDataCenter.py -i /root/setup/dev/basic.cfg
If you want to log into the container to run marvin and deploy a DC then do:
docker exec -ti cloudstack /bin/bash
- latest: daily build from master branch
- 4.5: on successful build of that branch
The images are a bit big and need to be optimized. Chime in at
https://github.com/apache/cloudstack to see the Dockerfile and help make it better.
I had a problem starting jetty server. The error was related to java.lang.Exception: Timeout scanning annotations.
Finally, I fix it by changing the /etc/supervisor/conf.d/supervisord.conf
In the [program:cloudstack] section at "command" parameter. I added the " -Dorg.eclipse.jetty.annotations.maxWait=120".
I restarted the container and everything worked after some minutes.
I have found out how to get past this, in the container run:
pip install /root/tools/marvin/dist/Marvin-*.tar.gz
Then the python commands to deploy the datacentres will work.
When I try to deploy datacenter, I receive:
:~/Documents/Python stuff/csucp$ sudo docker exec -ti cloudstack python /root/tools/marvin/marvin/deployDataCenter.py -i /root/setup/dev/advanced.cfg
Traceback (most recent call last):
File "/root/tools/marvin/marvin/deployDataCenter.py", line 28, in <module>
from marvin import configGenerator
ImportError: No module named marvin