Distributed CI and testing for cloudstack in a hybrid community Daan Hoogland Not senior. Not manager. Other job titles apply. daan.hoogland@shapeblue.com +DaanHoogland https://www.slideshare.net/ShapeBlue/cccna17-distributed-ci- and-testing-for-cloudstack-in-a-hybrid-community The Cloud Specialists
C o n t e n t s • About You • C l i c k t o e d i t Me • My employer • • Present – what is there at the moment • Goal – a compatibility matrix • Trillian (the shapeblue integration toolkit) @ShapeBlue ShapeBlue.com The Cloud Specialists
A b o u t M e C l i c k t o e d i t • • • ShapeBlue.com @ShapeBlue The Cloud Specialists
A b o u t Yo u • New Cloudstack user C l i c k t o e d i t • Infrastructure VAR or producer • Integrator • Interested in improvement of the platform • Interested in contributing Quality insurance infrastructure Well tested code ShapeBlue.com @ShapeBlue The Cloud Specialists
A b o u t S h a p e B l u e C l i c k t o e d i t “ShapeBlue are expert builders of public & private clouds. They are the leading global CloudStack services company.” @ShapeBlue ShapeBlue.com The Cloud Specialists
S h a p e B l u e c u s t o m e r s C l i c k t o e d i t ShapeBlue.com @ShapeBlue The Cloud Specialists
S h a p e B l u e c u s t o m e r s C l i c k t o e d i t ShapeBlue.com @ShapeBlue The Cloud Specialists
S h a p e B l u e c u s t o m e r s C l i c k t o e d i t ShapeBlue.com @ShapeBlue The Cloud Specialists
W h a t ’ s i n i t C l i c k t o e d i t • Endgame (goal) • Tools at the moment • Trillian and ShapeBlue.com @ShapeBlue The Cloud Specialists
e n d g a m e • The goal of the community is to create a C l i c k t o e d i t compatibility matrix of what works in CloudStack and in which environment, which will be easily maintainable and clear to users • We have a hybrid community in terms of used hard- and software infrastructure. Testing everything is a challenge. (British understatement) ShapeBlue.com @ShapeBlue The Cloud Specialists
T h e c o m p a t i b i l i t y m a t r i x • The compatibility matrix C l i c k t o e d i t • There must be a way to report • Compatible • Failing • Unstable • Untested (default) • It must be reported per • ACS version • Feature • Context (whut?) ShapeBlue.com @ShapeBlue The Cloud Specialists
Test run for PR 42 Environment Hypervisor Networking Extras Results C l i c k t o e d i t ShapeBlue 1 vmware advanced Community env 1 xen advanced Cloudops test xen advanced Interoute pre-production vmware advanced Shuberg Philis betacloud KVM advanced sdn/nicira BT test bed vmware basic PcXtreme KVM basic Anamyous coward’s environment KVM Advanced ShapeBlue.com @ShapeBlue The Cloud Specialists
To o l s a t t h e m o m e n t • Devcloud4 C l i c k t o e d i t • Bubble (kvm, yay) • Trillian (vmware, but ansible \o/) more later • Github/Gitbox (needs long and extensive explanation that will require an entirely new series of talks • Bots (blueorangutan, cloudmonger) • Upr (https://github.com/cloudops/upr) ShapeBlue.com @ShapeBlue The Cloud Specialists
w h y • Many, many, MANY permutations of a CloudStack deployment…. C l i c k t o e d i t • Basic / Advanced • Local / shared / mixed storage • More than 8 common hypervisor types/versions • 4 or 5 Management server OS possiblilities • That’s 144 combinations only looking the basics. • Previous attempts at test automation haven’t been able to get coverage or capacity. ShapeBlue.com @ShapeBlue The Cloud Specialists
Tr i l l i a n • Ability to support multiple concurrent environments C l i c k t o e d i t • No hardcoding to a specific (our) lab/environment • As few separate components as possible • Separation of ‘code’ and ‘configuration’ • Scripted command-line use fully supported • Ability to support as many hypervisors as possible • As flexible as possible • Best ‘performance’ possible • Best utilization of hardware resources possible ShapeBlue.com @ShapeBlue The Cloud Specialists
• Trillian C l i c k t o e d i t • Ansible based environment builder • Multi-tenant (and multiple concurrent environments) • CloudStack builds the Virtual Infrastructure • Hypervisor hosts are CloudStack templates • Supports multiple and mixed hypervisors • Supports Advanced and Basic networks • Open source ShapeBlue.com @ShapeBlue The Cloud Specialists
S h a p e b l u e ’ s b o t • Blue Orangutan C l i c k t o e d i t • Build-bot • Automation endpoint to send build jobs to Jenkins for CentOS 6/7 and Debian packages from CloudStack source • Provides an integrated way to create packages from pull requests in Github. • Can kick-off Jenkins jobs to build and test environments based on packages which it builds. ShapeBlue.com @ShapeBlue The Cloud Specialists
b l u e o r a n g u t a n C l i c k t o e d i t • when trilian result finish we use this to build the reports: https://github.com/shapeblue/Trillian/blob/master/Ansible/roles/marvin/files/xunit-reader.py we build the reports here: https://github.com/shapeblue/Trillian/blob/master/Ansible/roles/marvin/templates/smoketests.sh.j2 • for posting comments, we use github apis keys etc. • that part's in the secret file some-scheme://some/path/to/blueorangutan/bo.py ShapeBlue.com @ShapeBlue The Cloud Specialists
c o n c l u s i o n s • Add upr to bots Or behaviour like it C l i c k t o e d i t • Several ways to our ideal • Trillian is there as tool, proper reporting is key • Next we want to orchestrate what test runs where need ShapeBlue.com @ShapeBlue The Cloud Specialists
A v i s i o n • Winston C l i c k t o e d i t • Test Orchestrator (Future project) • Receives ‘offers’ of test type/capacity from remote test labs • Takes request from Blue Orangutan to test packages and distributes tests to suitable remote labs. • Offers might include: • Use of local storage • Use of basic vs advanced networks • Use of particular hypervisors/versions ShapeBlue.com @ShapeBlue The Cloud Specialists
A p a c h e C l o u d s t a c k n e e d s y o u C l i c k t o e d i t ShapeBlue.com @ShapeBlue The Cloud Specialists
Guru tell me …? C l i c k t o e d i t ShapeBlue.com @ShapeBlue The Cloud Specialists
Recommend
More recommend