More detailed information can be found in the Wiki
Trillian makes use a 'parent' CloudStack' environment which is used to build virtualised nested environments.
Trillian leverages ESXi's ability to virtualise the VT-x features allowing the creation of VT-x enabled virtualised hosts
Trillian uses Ansible 2 to create environment configuration files and deploy those environments. The user can run 2 commandline statements and go from 0 to a running cloudstack environment with multiple hosts.
as an example:
ansible-playbook generate-cloudconfig.yml --extra-vars 'env_name=trillian-test-env env_comment='\''example nested cloudstack test environment'\'' use_shared_storage=true env_version=cs410 mgmt=1 db=0 hvtype=k kvm_os=7 hv=2 env_accounts=all pri=2 sec=1 esxi_use_dvswitch=no build_marvin=yes wait_till_setup=yes wait_for_template=yes mgmt_os=7' -i localhost
at the end of this the sugestion, You can now run: ansible-playbook deployvms.yml -i ./hosts_trillian-test-env
, is put on the output, which would trigger you to run something like
ansible-playbook deployvms.yml -i ./hosts_trillian-test-env --extra-vars 'env_name=trillian-test-env env_version=cs410'
for more examples see the Wiki
-
env_name
[mandatory]: Environment name, single string, characters, numbers, underscore _ or dash - only. -
env_version
[mandatory]: Environment CloudStack version (cs45, cs46, cs49, custom, etc). -
mgmt_os
[mandatory]: Management server OS (6, 7, u, custom) -
hvtype
[mandatory]: XenServer (x), KVM (k) or VMware (v) -
pri
[mandatory]: number of primary storage pools. -
hv
: number of hypervisors. Please note if hypervisor type is VMware the assumption is made that a single VC host is also required. This does not have to be specified anywhere.One of the following three is required depending on the choosen Hypervisor (
hvtype
):kvm_os
:6
= centos6.87
= centos7.1u
= ubuntu14.04
xs_ver
:xs62sp1
xs65sp1
vmware_ver
:55u3
60u1
In order to avoid template issues,
kvm_os
,xs_ver
andvmware_ver
will default to 'custom' when they are not specified.If you specify KVM as hypervisor (
hvtype=k
) you must specify thekvm_os
or set it to 'custom' and set the template to use (kvm_template
) in the extra vars (kvm_template="Ubuntu Server 14.04"
)The same applies to the other hypervisor types. For custom VMware you would need to specify both the vCenter and ESXi templates
mgmt
: Number of management servers to configure (default is 1)sec
: number of secondary storage pools. (default is 1)db
: Number of database servers to configure (default is 0 - db is on mgmt host)management_network
: name of the management networkguest_public_network
: name of the guest+public networkmanagement_vm_hypervisor
: parent CloudStack cloud hypervisor (default VMware)build_project
: project name to use for the nested cloudstack build (default -NestedClouds)build_zone
: parent cloud zone namebuild_keyboard
: keyboard used for nested VMs (default UK)mgmtsrv_service_offering
: parent cloud service offering used for the management server buildmgmtsrv_template
: parent cloud template used for the management server builddbsrv_service_offering
: parent cloud service offering used for database server builddbsrv_template
: parent cloud template used for database server buildkvm_service_offering
: parent cloud nested KVM instances service offeringkvm_template
: parent cloud nested KVM HV templatexs_service_offering
: parent cloud nested XenServer instances service offeringxs_template
: parent cloud nested XenServer HV templateesxi_service_offering
: parent cloud nested ESXi instances service offeringesxi_template
: parent cloud nested ESXi HV templatevc_service_offering
: parent cloud nested VC instances service offeringvc_template
: parent cloud nested VirtualCentre templatebaseurl_cloudstack
: URL for CloudStack build repositoryenv_db_name
: environments database nameenv_db_ip
: environments database IP addressenv_db_user
: environments database usernameenv_db_password
: environments database passwordenv_zonetype
: basic or advanced (default)env_prihost
: primary storage host fqdn or IP addressenv_sechost
: secondary storage host fqdn or IP addressenv_zone_systemplate
: URL to system template, overrides version variablebuild_marvin
: whether or not to build a marvin vm for testing purposes (default is false)wait_till_setup
: only return once system VMs are running. (default is no)
env_name=ccs-xs-13-patest env_version=cs45 mgmt=1 hvtype=x hv=2 xs_ver=xs65sp1 env_accounts=all pri=1 build_marvin=true mgmt_os=6
env_name=cs49-vmw55-pga env_version=cs49 mgmt_os=6 hvtype=v vmware_ver=55u3 hv=2 pri=2 env_accounts=all build_marvin=true wait_till_setup=yes baseurl_cloudstack=http://10.2.0.4/shapeblue/cloudstack/testing/
env_name=cs49-kvm6-pga env_version=cs49 mgmt_os=6 env_accounts=all hvtype=k kvm_os=6 hv=2 pri=2 env_accounts=all build_marvin=true wait_till_setup=yes baseurl_cloudstack=http://10.2.0.4/shapeblue/cloudstack/testing/