N/A
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 |
---|---|---|---|
simulator (ubuntu) | latest 4.5 4.6 | dockerbuild-master-simulator dockerbuild-4.5-simulator | java managment-server (build via mvn) marvin maven MySQL server |
management_centos6 management_centos7 management_ubuntu1404 | latest | dockerbuild-master-management_centos6 | java MySQL server management-server (from rpm/deb) |
marvin | latest | dockerbuild-master-marvin | Python 2.7 marvin |
usage_centos6 usage_centos7 usage_ubuntu1404
| latest | java usage-server (from rpm/deb) | |
cloudmonkey | latest | Python 2.7 cloudmonkey |
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
Code Block |
---|
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.
Code Block |
---|
mount <NFS IP>:/share/secondary /data/secondary |
Start CloudStack Management server
Code Block |
---|
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...)
Code Block |
---|
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:
Code Block | ||
---|---|---|
| ||
"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:
Code Block |
---|
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.