|
Some checks are pending
Build / build (push) Waiting to run
Simulator CI / build (push) Waiting to run
Simulator CI / test (component/find_hosts_for_migration component/test_acl_isolatednetwork component/test_acl_isolatednetwork_delete component/test_acl_listsnapshot) (push) Blocked by required conditions
Simulator CI / test (component/test_acl_listvm component/test_acl_listvolume) (push) Blocked by required conditions
Simulator CI / test (component/test_acl_sharednetwork component/test_acl_sharednetwork_deployVM-impersonation component/test_user_private_gateway component/test_user_shared_network) (push) Blocked by required conditions
Simulator CI / test (component/test_affinity_groups_projects component/test_allocation_states component/test_assign_vm) (push) Blocked by required conditions
Simulator CI / test (component/test_concurrent_snapshots_limit component/test_cpu_domain_limits component/test_cpu_limits component/test_cpu_max_limits component/test_cpu_project_limits component/test_deploy_vm_userdata_multi_nic component/test_deploy_vm_lease) (push) Blocked by required conditions
Simulator CI / test (component/test_egress_fw_rules component/test_invalid_gw_nm component/test_ip_reservation) (push) Blocked by required conditions
Simulator CI / test (component/test_lb_secondary_ip component/test_list_nics component/test_list_pod component/test_memory_limits) (push) Blocked by required conditions
Simulator CI / test (component/test_mm_domain_limits component/test_mm_max_limits component/test_mm_project_limits component/test_network_offering component/test_non_contiguous_vlan) (push) Blocked by required conditions
Simulator CI / test (component/test_persistent_networks component/test_project_configs component/test_project_limits component/test_project_resources) (push) Blocked by required conditions
Simulator CI / test (component/test_project_usage component/test_protocol_number_security_group component/test_public_ip component/test_resource_limits component/test_resource_limit_tags) (push) Blocked by required conditions
Simulator CI / test (component/test_regions_accounts component/test_routers component/test_snapshots component/test_stopped_vm component/test_tags component/test_templates component/test_updateResourceCount component/test_update_vm) (push) Blocked by required conditions
Simulator CI / test (component/test_volumes component/test_vpc component/test_vpc_distributed_routing_offering component/test_vpc_network component/test_vpc_offerings component/test_vpc_routers component/test_vpn_users component/test_vpc_network_lbrules) (push) Blocked by required conditions
Simulator CI / test (smoke/test_accounts smoke/test_account_access smoke/test_affinity_groups smoke/test_affinity_groups_projects smoke/test_annotations smoke/test_async_job smoke/test_attach_multiple_volumes smoke/test_backup_recovery_dummy smoke/test_certauthority_… (push) Blocked by required conditions
Simulator CI / test (smoke/test_cluster_drs smoke/test_dynamicroles smoke/test_enable_account_settings_for_domain smoke/test_enable_role_based_users_in_projects smoke/test_events_resource smoke/test_global_settings smoke/test_guest_vlan_range smoke/test_host_maintena… (push) Blocked by required conditions
Simulator CI / test (smoke/test_list_accounts smoke/test_list_disk_offerings smoke/test_list_domains smoke/test_list_hosts smoke/test_list_service_offerings smoke/test_list_storage_pools smoke/test_list_volumes) (push) Blocked by required conditions
Simulator CI / test (smoke/test_network smoke/test_network_acl smoke/test_network_ipv6 smoke/test_network_permissions smoke/test_nic smoke/test_nic_adapter_type smoke/test_non_contigiousvlan smoke/test_object_stores smoke/test_outofbandmanagement smoke/test_outofband… (push) Blocked by required conditions
Simulator CI / test (smoke/test_router_dhcphosts smoke/test_router_dns smoke/test_router_dnsservice smoke/test_routers smoke/test_routers_iptables_default_policy smoke/test_routers_network_ops smoke/test_scale_vm smoke/test_secondary_storage smoke/test_service_offeri… (push) Blocked by required conditions
CodeQL Analysis / CodeQL (actions) (push) Waiting to run
Docker Image Build / build (push) Waiting to run
Sonar Quality Check (Main) / Sonar JaCoCo Coverage (push) Waiting to run
License Check / build (push) Waiting to run
UI Build / build (push) Waiting to run
|
||
|---|---|---|
| .. | ||
| mariadb-docker | ||
| docker_run_tests.sh | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Dockerfile.marvin | ||
| Dockerfile.s390x | ||
| Dockerfile.smokedev | ||
| README.md | ||
| supervisord.conf | ||
| systemtpl.sh | ||
Docker Files for Apache CloudStack
Dockerfiles used to build CloudStack images are available on Docker hub.
Using images from docker-hub
CloudStack Simulator
CloudStack Simulator is an all in one CloudStack Build including the simulator that mimic Hypervisor. This is useful to test CloudStack API behavior without having to deploy real hypervisor nodes. CloudStack Simulator is used for tests and CI.
docker pull apache/cloudstack-simulator
or pull it with a particular build tag
docker pull apache/cloudstack-simulator:4.17.2.0
docker run --name simulator -p 8080:5050 -d apache/cloudstack-simulator
or
docker run --name simulator -p 8080:5050 -d apache/cloudstack-simulator:4.17.2.0
Access CloudStack UI
Open your browser at http://localhost:8080/
Default login is admin:password
Deploy a datacenter:
# Advanced zone
docker exec -it simulator python /root/tools/marvin/marvin/deployDataCenter.py -i /root/setup/dev/advanced.cfg
# Advanced zone with security groups
docker exec -it simulator python /root/tools/marvin/marvin/deployDataCenter.py -i /root/setup/dev/advancedsg.cfg
# Basic zone
docker exec -it simulator python /root/tools/marvin/marvin/deployDataCenter.py -i /root/setup/dev/basic.cfg
Log into the simulator:
docker exec -it simulator bash
CloudStack Management-server
docker pull mysql:5.5
docker pull cloudstack/management_centos6
docker run --name cloudstack-mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:5.5
docker run -ti --name cloudstack --link cloudstack-mysql:mysql -d -p 8080:8080 -p 8250:8250 cloudstack/management_centos6
Marvin
Use marvin to deploy or test your CloudStack environment. Use Marvin with cloudstack connection through the API port (8096)
docker pull cloudstack/marvin
docker run -ti --rm --name marvin --link simulator:8096 cloudstack/marvin
Deploy Cloud using marvin:
docker run -ti --rm --link simulator:8096 cloudstack/marvin python /marvin/marvin/deployDataCenter.py -i /marvin/dev/advanced.cfg
Perform Smoke tests against CloudStack Simulator container:
docker run -ti --rm --link simulator:8096 \
nosetests-2.7 -v --with-marvin \
--marvin-config=dev/advanced.cfg \
--with-xunit \
--xunit-file=xunit.xml \
-a tags=advanced,required_hardware=false \
--zone=Sandbox-simulator \
--hypervisor=simulator \
-w integration/smoke
How to build images
Image provided by CloudStack are automatically built by Jenkins performing following tasks:
CentOS 6
CentOS 6 image use RPM's from jenkins.buildacloud.org tag:latest = main branch
-
build the base image
docker build -f Dockerfile.centos6 -t cloudstack/management_centos6 . -
on jenkins, database and systemvm.iso are pre-deployed. the initial start require privileged container to mount systemvm.iso and copy ssh_rsa.pub into it.
docker run --name cloudstack-mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:5.5 docker run --privileged --link cloudstack-mysql:mysql -d --name cloudstack cloudstack/management_centos6 sleep 300 docker exec cloudstack /etc/init.d/cloudstack-management stop docker stop cloudstack docker commit -m "init system.iso" -a "Apache CloudStack" cloudstack cloudstack/management_centos6
Marvin
Build Marvin container usable to deploy cloud in the CloudStack management server container.
-
to build the image
docker build -f Dockerfile.marvin -t cloudstack/marvin ../..
Simulator
Build CloudStack with Simulator. This image is an all in one, including the database. Built from source using maven.
docker build -f Dockerfile -t cloudstack/simulator ../..