cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Angus <>
Subject Trillian.
Date Thu, 07 Jul 2016 09:53:16 GMT
Hi all

As some of you may know, I have been working for some time on a project called Trillian. This
started out as an internal project at $dayjob with the intentions of being able to quickly
build environments to:

a)       Test new feature software builds (manually and via Marvin)

b)      Test community releases (manually and via Marvin)

c)       Replicate failure scenarios

d)      Evaluate new features

To meet these and a number of other requirements I started Trillian.  At Trillian's core are
Ansible, CloudStack and vSphere virtualisation. Ansible takes a command line input and requests
VM instances from CloudStack and then configures all of the hypervisor hosts and mgmt. servers,
finally creating a zone which incorporates all of the components which were requested.

The environments are built in projects and the accounts which are allowed access are specified
on the commandline.

The commandline arguments look like this:

--extra-vars "env_name=myACSenv env_version=cs45 hvtype=x hv=2 xs_ver=xs65sp1 env_accounts=all
pri=1  mgmt_os=6"

There is a global file which holds the mapping of ACS version to relevant URLs or OS types
to specific templates, however EVERY mapping can be overridden from commandline.

--extra-vars  "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=yes baseurl_cloudstack=

CloudStack deploys the virtualised hypervisor hosts and mgmt. servers as and when required
- CloudStack mgmt. server, MySQL hosts Marvin host, vCenter server) onto the ESXi hosts.

The output from each request is a bespoke, fully working virtualised CloudStack environment.

The reason trillion came about in its current form is that at $dayjob we have to deal with
lots of different types of environment, hypervisors and configurations.
I know others have put a lot of work into similar tools, which I've used over the years and
found useful but I needed some tooling that could also support vSphere hosts and Hyper-V and
also be easy to connect to external integration points such as SolidFire storage, NetScalers,
Cloudian S3 installations etc. as well as supporting multi-tenancy.

For some time, it's been my intention to make this open source and generally available for
this community. While I could have done this sooner but I held back a little as I wanted to
make sure that it was well documented and could be easily deployed for a wide range of use-cases

I'm happy to say I  think we're just about there.
Trillion is now available:

Please feel free to use, comment, find bugs or come up with any ideas on how we can make this
Rohit has integrated this with Jenkins and will be sharing how he has done this soon too.

If people think this is useful for the community, I've got clearance from $dayjob to donate
the work into ACS (if we want it).

Marvin: "I think you ought to know I'm feeling very depressed."
Trillian: "Well, we have something that may take your mind off it."
Marvin: "It won't work, I have an exceptionally large mind."

Kind regards,

Paul Angus

53 Chandos Place, Covent Garden, London  WC2N 4HSUK

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message