AVOCADO AND JENKINS -...

17
AVOCADO AND JENKINS AVOCADO AND JENKINS TEST-AUTOMATION AND CONTINUOUS TEST-AUTOMATION AND CONTINUOUS INTEGRATION INTEGRATION YASH MANKAD LUKÁŠ DOKTOR YASH MANKAD LUKÁŠ DOKTOR Software Engineer, Red Hat Software Engineer, Red Hat 06-02-2016 DevConf 2016

Transcript of AVOCADO AND JENKINS -...

Page 1: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

AVOCADO AND JENKINSAVOCADO AND JENKINST E S T- A U TO M AT I O N A N D C O N T I N U O U ST E S T- A U TO M AT I O N A N D C O N T I N U O U SI N T E G R AT I O NI N T E G R AT I O N

YASH MANKAD LUKÁŠ DOKTORYASH MANKAD LUKÁŠ DOKTOR

Software Engineer, Red Hat Software Engineer, Red Hat

06-02-2016

DevConf 2016

Page 2: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

OVERVIEWOVERVIEW( What are we going to learn ? )

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

Previous SetupProblem Statement

Patch handling

Development-Quality Engineeringhandoffs

Test-automation

Page 3: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

OVERVIEWOVERVIEW( What are we going to learn ? )

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

Design GoalsWhere did we start ?

ApproachIntegrating test-automation

Challenges faced

Why Avocado ?Demo

Page 4: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

PREVIOUS SETUPPREVIOUS SETUP( How did it work before ? )

Developer Patch Mailing List

Patch QueueBuildsQuality Engineering

Page 5: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

Developer

Patch Mailing List Patch Queue Builds

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

Maintainer

PROBLEM STATEMENTPROBLEM STATEMENT( Why are we changing it ? )

ExtensiveGuidelines

Page 6: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

Development

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

PROBLEM STATEMENTPROBLEM STATEMENT( Why are we changing it ? )

Quality Engineering

Development

Patch HandlingExtensive Patch guidelinesManual builds

Development-QE Handoffs

Different testing schedulesTime between patch submissionand testing is too long

Page 7: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

PROBLEM STATEMENTPROBLEM STATEMENT( Why are we changing it ? )

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

Test-AutomationQuality Engineering teams used Autotestframework

Quality Engineering has to use lot of tools ontop of Autotest

Autotest is no longer maintained upstream

Page 8: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

WHERE DID WE START?WHERE DID WE START?( Our initial efforts )

Developer Patch Mailing ListPatch Queue

Fail early, fail oftenCredit to Fam Zheng's Patchew(http://qemu.patchew.org/)Wrote a script that automates a part of the earlytesting process and runs functional sanity tests

Page 9: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

WHERE DID WE START?WHERE DID WE START?( Making things run more efficiently )

Patch Queue

Had to focus on Development-Quality Engineeringhandoff

Script applies patches and triggers builds, whichtriggers the CI

Builds

Page 10: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

INTEGRATING TEST-INTEGRATING TEST-AUTOMATIONAUTOMATION( How it is all coming together! )

Tests run based on keywords such as boot, migrate,network, virtio, etc.Different Jenkins slave based on architecture andcomponent

Development Quality Engineering

+Avocado

Page 11: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

CHALLENGES FACEDCHALLENGES FACED( What we had to overcome )

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

Implement new features without affecting oldfeatures

libvirt CI supports upstream community anddownstream for RHEL

Jenkins jobs and configuration are automatedusing scripts

Currently, we are migrating from Autotest toAvocado

Page 12: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

WHY AVOCADO ?WHY AVOCADO ?

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

Page 13: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

The only possible alternative for virtualization:40017 qemu, 56745 libvirt tests (Also supportslibguestfs, lvsb, v2v, openvswitch, spice testproviders)3 (5) types of cpu architecture147 versions of operating systems864 hardware variants25412395680 theoretical combinations

Measured on 2016-02-03 using x86_64 + RHEL.7.devel to evaluate the number of tests and hw variants

WHY AVOCADO ?WHY AVOCADO ?

Page 14: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

WHY AVOCADO ?WHY AVOCADO ?

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

Page 15: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

Avocado and Jenkins: Test-automation and CI; Yash Mankad and Lukáš Doktor

Talks to JenkinsEven our developers are using it locallyYou can actually run “anything” with itGives you well defined results structure (withbenefits)Supports neat features

WHY AVOCADO ?WHY AVOCADO ?

Page 16: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

Questions?

Page 17: AVOCADO AND JENKINS - schd.wsschd.ws/hosted_files/devconfcz2016/c8/devconf_yash_lukas_final.pdfOVERVIEW ( What are we going to learn ? ) Avocado and Jenkins: Test-automation and CI;

Thank You!

More questions?

[email protected]

[email protected]