cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bharat Kumar <>
Subject Re: Important Pending Items
Date Fri, 12 Feb 2016 05:49:44 GMT
Hi Paul,

The goals and functionality of the CI on which we are working are the same (please review
the FS<>
), The difference being the method of implementation. We are not using nested virtualisation
to create test environments. The work on CI began long back but unfortunately due to other
priorities we could not work on a continuous basis and bring it to completion.

I agree that we should come to a consensus on what the community wants from the CI. IMHO the
basic and immediate requirement would be to have a stable system to test the PRs and post
results. Once we have this, we can
talk about providing test setups to the community and next steps. I think the availability
of hardware has been a big hurdle (even if we use virtualisation).

Instead of working independently on the same thing let us work on this together. I will share
what we have currently, we can use it, or parts of it (some of it is there at,
but it is not organised as in cannot be run out of the box). While virtualisation is good
from the ease of orchestration and resource utilisation point of view, it has other problems
like compatibility/dependencies issues. Also it might tie the CI to a particular Hypervisor
like ESXi as you have pointed out.

So let us discuss on how to proceed further, and get things rolling.


On 11-Feb-2016, at 9:44 PM, Paul Angus <<>>

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
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
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
We plan to enhance tests to address these issues and also reduce runtimes where possible.

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: | t: @cloudyangus<|%20t:%20@cloudyangus>
     |      w:<>

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

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
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 []
Sent: Thursday, February 11, 2016 9:57 AM
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.


> On 11-Feb-2016, at 2:41 PM, Raja Pullela <<>>
> 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 []
> Sent: Wednesday, February 10, 2016 2:29 PM
> To:<>
> 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<> |
CSForge – rapid IaaS deployment framework<>
CloudStack Consulting<> | CloudStack Software
CloudStack Infrastructure Support<>
| CloudStack Bootcamp Training Courses<>

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