Hi Bharat,

Early last week I opened a discussion thread around the aims of Trillian which 
we had begun working on as a CI/CD platform for the community hardware (as well 
as individual use). Please could you elaborate on where there is/isn't 
cross-over? In terms of functionality and goals rather than method. It would be 
great to get community consensus around what we want from our centralised CI/CD.


Project: Trillian
We have been working on PoC of a CI environment design which will:
* Provide fast build or rebuild of environments for testing.
* Enable multiple independent concurrent builds
* Be available on-demand through automation or individual request.
* Be capable of fully utilising all available hardware
* Flexible enough to be used to build super-realistic development environments.
We intend to contribute and maintain our work within the Apache repos. However, 
we are currently building the POC, figuring out the requirements (and quirks) 
of the individual pieces, before pushing something concrete for to the 
community to review.

We envision that Trillian would cater for a number of use cases:
1. CloudStack community integration testing of master against multiple 
deployment scenarios (using ASF infra)
2. CloudStack community integration testing of PRs against multiple deployment 
scenarios (using ASF infra)
3. Organisations/individuals running the full suites of tests available in 
Marvin against any physical environment they have.
4. Organisations/individuals deploying and running the full suites of tests 
available in Marvin against virtualised infrastructures which can be deployed 
by Marvin.
As we intend Trillian to test multiple environments concurrently, we use nested 
virtualization on ESXi hosts (our testing has shown that this is the only 
hypervisor which can support the nested virtualisation of all other hypervisors 
with reasonable performance). We use Ansible to deploy and configure all 
aspects of the build as this will greatly lower the barrier to entry for 
independent testers.
We use CloudStack to provision the management server and virtualised (nested) 
hosts on the physical hosts. We are creating Ansible playbooks and roles which 
can:
1. Create guest instances using Rene's Ansible 2.0 CloudStack modules - a 
Marvin VM, a Mgmt Server (CentOS or Ubuntu), any number of compute hosts (KVM, 
vSphere or XenServer. Hyper-V later)
2. Configure hosts (inc. installing the relevant CloudStack agent where 
required)
3. Install required ACS packages on management server
4. Configure a zone (including adding the compute hosts) via Marvin.
5. Run the required Marvin tests.
6. Return the results
We may need to propose enhancements to Marvin in order to sync the 
configuration of hosts with the configuration used by Marvin.

Using virtualised test environments, we can have multiple test scenarios 
running concurrently. To do this we have found that it is necessary to create 
pools or ranges of VLANs and IP addresses and allocate them to environments. So 
for any given physical environment which will be used for testing in, we take 
the total range(s) of IPs and VLANs available and carve them into 
non-overlapping chunks suitable for concurrent use as mgmt, public and guest 
networks. These are stored in a MariaDB database. When a range is being used in 
a testing environment, that range is marked as 'inuse' in the database. When 
creating a test environment, Trillian looks in the database for the next 
available VLAN range, the next available public IP range and so on. The 
returned values are used to populate a Marvin cfg file which in turn will be 
used to both build the environment and when running the Marvin testing. When 
the virtualised infra is cleaned up, the database will be updated to reflect 
that the used ranges are available again.
This initiative has only recently been started, and as stated earlier we are 
currently figuring out the requirements (and quirks) of the individual pieces 
and looking for the most suitable wrapper to glue it all together.
Also I have found that Marvin requires a little work to make the output more 
meaningful/readable (especially in the case of errors and exceptions) and to 
make it a little more intelligent about the tests it can/can't run based on the 
chosen infrastructure components. I have also found unreachable or very slow 
ISO and template paths hardcoded into Marvin or individual tests.
We plan to enhance tests to address these issues and also reduce runtimes where 
possible.


[ShapeBlue]<http://www.shapeblue.com>
Paul Angus
VP Technology   ,       ShapeBlue


d:      +44 203 617 0528 | s: +44 203 603 
0540<tel:+44%20203%20617%200528%20|%20s:%20+44%20203%20603%200540>     |      
m:      +44 7711 418784<tel:+44%207711%20418784>

e:      paul.an...@shapeblue.com | t: 
@cloudyangus<mailto:paul.an...@shapeblue.com%20|%20t:%20@cloudyangus>      |    
  w:      www.shapeblue.com<http://www.shapeblue.com>

a:      53 Chandos Place, Covent Garden London WC2N 4HS UK


[cid:image5f0af3.png@bed55258.42adae39]


Shape Blue Ltd is a company incorporated in England & Wales. ShapeBlue Services 
India LLP is a company incorporated in India and is operated under license from 
Shape Blue Ltd. Shape Blue Brasil Consultoria Ltda is a company incorporated in 
Brasil and is operated under license from Shape Blue Ltd. ShapeBlue SA Pty Ltd 
is a company registered by The Republic of South Africa and is traded under 
license from Shape Blue Ltd. ShapeBlue is a registered trademark.
This email and any attachments to it may be confidential and are intended 
solely for the use of the individual to whom it is addressed. Any views or 
opinions expressed are solely those of the author and do not necessarily 
represent those of Shape Blue Ltd or related companies. If you are not the 
intended recipient of this email, you must neither take any action based upon 
its contents, nor copy or show it to anyone. Please contact the sender if you 
believe you have received this email in error.




-----Original Message-----
From: Bharat Kumar [mailto:bharat.ku...@citrix.com]
Sent: Thursday, February 11, 2016 9:57 AM
To: dev@cloudstack.apache.org
Subject: Re: Important Pending Items

Hi Sebastien,

As Raja said, we are actively working on it and we will share the code on 
github soon.

Thanks,
Bharat.


> On 11-Feb-2016, at 2:41 PM, Raja Pullela <raja.pull...@citrix.com> wrote:
>
> Hi Sebastien,
>
> On item (3) - the BVTs have been running consistently (with same passrates) 
> and haven't had the time to automate the process of reporting to an external 
> site.
> Bharat and Sanjeev are working on CI - running BVTs/Regression, working on 
> getting it run automatically and consistently.
> Hope to see it ready soon.
>
> Best,
> Raja
> -----Original Message-----
> From: Sebastien Goasguen [mailto:run...@gmail.com]
> Sent: Wednesday, February 10, 2016 2:29 PM
> To: dev@cloudstack.apache.org
> Subject: Important Pending Items
>
> Morning folks,
>
> We have several crucial pending items, that we need to resolve before moving 
> on:
>
> 1- We need an RM for master ( just saw some commits there that should be 
> reverted or merged properly in other branches).
>
> 2- We need to automate writing release notes, pushing/tagging new docs when 
> release come out and announcing releases on website. Currently neither 4.7 
> nor 4.8 have been announced.
>
> 3- CI is still almost inexistent
>
> -Sebastien

Find out more about ShapeBlue and our range of CloudStack related services:
IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//> | 
CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/> | 
CloudStack Software 
Engineering<http://shapeblue.com/cloudstack-software-engineering/>
CloudStack Infrastructure 
Support<http://shapeblue.com/cloudstack-infrastructure-support/> | CloudStack 
Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>

Reply via email to