dockerfile
Provide Docker images collection of Apache CloudStack modules thru automated build on docker hub. These containers will be usable for Continous Integration tests, demo, rapid deployment of CloudStack for test purposes.
Expected container list:
container name | tag | Jenkins job | include | Status |
---|---|---|---|---|
simulator (ubuntu) | latest 4.5 4.6 | dockerbuild-master-simulator dockerbuild-4.5-simulator | java managment-server (build via mvn) marvin maven MySQL server | https://hub.docker.com/r/cloudstack/simulator/ |
management_centos6 management_centos7 management_ubuntu1404 | latest | dockerbuild-master-management_centos6 | java management-server (from rpm/deb) | https://hub.docker.com/r/cloudstack/management_centos6/ |
marvin | latest | dockerbuild-master-marvin | Python 2.7 marvin | https://hub.docker.com/r/cloudstack/marvin/ |
usage_centos6 usage_centos7 usage_ubuntu1404
| latest | java usage-server (from rpm/deb) | ||
cloudmonkey | latest | Python 2.7 cloudmonkey | https://hub.docker.com/r/cloudstack/cloudstack-cloudmonkey/ | |
ec2stack | latest |
Docker container could be use as part of the CI to perform automated tests against automatically deployed cloud. Can be used for trial of CloudStack.
Prerequisites
Self deployed cloud using XenServer
Download images
docker pull cloudstack/management_centos6 docker pull cloudstack/marvin
prepare Secondary Storage NFS share for the systemVM template
The NFS server should not run on the management-server.
mount <NFS IP>:/share/secondary /data/secondary
Start CloudStack Management server
docker run --name cloudstack -d -p 8080:8080 -v /data/secondary:/secondary cloudstack/management_centos6
Download systemVM template of your choice:
(This will take a moment...)
docker exec -ti cloudstack /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \ -m /secondary \ -u http://jenkins.buildacloud.org/job/build-systemvm64-master/lastSuccessfulBuild/artifact/tools/appliance/dist/systemvm64template-master-4.6.0-xen.vhd.bz2 \ -h xenserver -F
Create a cloud configuration file, this example use mytests/mycloud.cfg filename as example.
refer to setup/dev example from cloudstack source.
Make sure to use following statement (hypervisor can change) for the CloudStack endpoint:
"mgtSvr": [ { "mgtSvrIp": "cloudstack", "passwd": "password", "user": "root", "port": 8096, "hypervisor": "xenserver", "useHttps": "False", "certCAPath": "NA", "certPath": "NA" } ]
Deploy your Cloud from a configuration file using Marvin:
docker run -ti --name marvin --link cloudstack:8096 \ -v /data/home/jdoe/Documents/acs:/marvin/mytests \ docker.io/cloudstack/marvin \ python marvin/deployDataCenter.py \ -i mytests/mycloud.cfg
This will mount mytests/ into the container and execute marvin to deploy DataCenter using api port, cloudstack:8096.