The Jira issue associated with this design specCLOUDSTACK-8249
What branch is this work being done indockerfile
State the purpose of the document; something like: this is functional specificationS of feature "..." which has Jira ID CS-xyzw
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 | |||
agent_centos7 agent_ubuntu1404 | latest | java cloudstack-agent | ||
database | latest | MySQL with pre-configured database (integration.api.port) |
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.put the relevant use case/stories to explain how the feature is going to be used/work
list changes to existing web services APIs and new APIs introduced with signatures and throughout documentation
Are there any entities being created that require usage reporting for billing purposes?
Does this change any existing entities for which usage is being tracked already?
Appendix A:
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.
Appendix B: