openqa Helping SUSE Linux Enterprise with Automated Testing Richard Brown openqa Technical Lead

Similar documents
openqa Avoiding Disasters of Biblical Proportions Marita Werner QA Project Manager

openqa Avoiding Disasters of Biblical Proportions Marita Werner QA Project Manager

Tooling Linux for the Future of Embedded Systems. Patrick Quairoli Director of Alliance and Embedded Technology SUSE /

Open Enterprise & Open Community opensuse & SLE Empowering Each Other. Richard Brown opensuse Chairman

Frédéric Crozat SUSE Linux Enterprise Release Manager

openqa making QA interesting since 2013 Ondrej Holecek /aaannz/

Welcome to SUSE Expert Days 2017 Service Delivery with DevOps

Open Enterprise & Open Community

SUSE An introduction...

Define Your Future with SUSE

SUSE Linux Entreprise Server for ARM

#jenkinsconf. Managing jenkins with multiple components project. Jenkins User Conference Israel. Presenter Name Ohad Basan

Beyond make and make check

openqa features capabilities bugs Ondrej Holecek /aaannz/

Introduction to Software Defined Infrastructure SUSE Linux Enterprise 15

SALOME Maintenance Procedure. Frédéric Pons (Open Cascade) Roman Nikolaev (Open Cascade)

InstallAnywhere: Requirements

A Resource Management Mechanism and Its Implementation for Virtual Machines

ElasterStack 3.2 User Administration Guide - Advanced Zone

Patching and Updating your VM SUSE Manager. Donald Vosburg, Sales Engineer, SUSE

Libvirt presentation and perspectives. Daniel Veillard

Infrastructure-as-Code and CI Infrastructure at Open Stack A look at one of the largest CI systems and system administration

Be smart. Think open source.

Open World Forum 2013

Build Cloud like Rackspace with OpenStack Ansible

Standalone applications testing and automation

Flatpak and your distribution. Simon McVittie

Virtualization Security & Audit. John Tannahill, CA, CISM, CGEIT, CRISC

Expert Days SUSE Manager

Virtualisation: The KVM Way. Amit Shah

Bash Shell Manually For Windows 7 Updates Sp1

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

Continuous integration & continuous delivery. COSC345 Software Engineering

Red Hat Enterprise Virtualization Hypervisor Roadmap. Bhavna Sarathy Senior Technology Product Manager, Red Hat

LaunchStation Controller

Novell SLES 10/Xen. Roadmap Presentation. Clyde R. Griffin Manager, Xen Virtualization Novell, Inc. cgriffin at novell.com.

Portable, lightweight, & interoperable Docker containers across Red Hat solutions

The functional test beast: tame it, bring it home and make it your pet. Cleber Rosa Sr. Software Engineer Oct. 26 Th, 2018

Continuous Integration and Delivery with Spinnaker

Veritas CloudPoint 1.0 Administrator's Guide

Multi-Arch Layered Image Build System

Experiences with OracleVM 3.3

How Parallels RAS Enhances Microsoft RDS. White Paper Parallels Remote Application Server

Bringing GNU Health. into opensuse. Dr. Axel Braun

How to Put Your AF Server into a Container

Real-Time Vulnerability Management Operationalizing the VM process from detection to remediation

Lifecycle management with Foreman and Katello Basics and Spacewalk migration

DevOps Course Content

What is Cloud Computing? Cloud computing is the dynamic delivery of IT resources and capabilities as a Service over the Internet.

ViryaOS RFC: Secure Containers for Embedded and IoT. A proposal for a new Xen Project sub-project

How To Manually Install Driver Ubuntu Server On Virtualbox

McAfee Network Security Platform 8.3

Operating system hardening

Elastic Compute Service. Quick Start for Windows

Citrix Workspace Cloud

Cloud and Datacenter Networking

Tokalabs LaunchStation. Software Defined Solution for Inventory Management, Topology Creation, Test Automation, & Resource Utilization

Red Hat Enterprise Linux 8.0 Beta

Docker for People. A brief and fairly painless introduction to Docker. Friday, November 17 th 11:00-11:45

Red Hat Container Development Kit 3.0 Release Notes and Known Issues

Multi-tenancy Virtualization Challenges & Solutions. Daniel J Walsh Mr SELinux, Red Hat Date

Parallels Virtuozzo Containers

Automating Security Practices for the DevOps Revolution

Bacula Systems Virtual Machine Performance Backup Suite

Devops, Docker and Security. John

Client TM 2.0 SP2 for Linux

Real-Time Vulnerability Management Operationalizing the VM process from detection to remediation

Manual Ftp Windows Server 2008 R2 Enterprise Virtual License

Red Hat enterprise virtualization 3.1 feature comparison

Docker for HPC? Yes, Singularity! Josef Hrabal

How to Build an Appium Continuous Testing Pipeline

CSC 5930/9010 Cloud S & P: Virtualization

96Boards Enablement for opensuse

Automation beyond Testing and Embedded System Validation

Full Scalable Media Cloud Solution with Kubernetes Orchestration. Zhenyu Wang, Xin(Owen)Zhang

Red Hat enterprise virtualization 3.0

Discover SUSE Manager

Run Stateful Apps on Kubernetes with PKS: Highlight WebLogic Server

Using Network Virtualization in DevOps environments Yves Fauser, 22. March 2016 (Technical Product Manager VMware NSBU)

Virtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

Secure Containers with EPT Isolation

Virtualization Device Emulator Testing Technology. Speaker: Qinghao Tang Title 360 Marvel Team Leader

IBM Spectrum Protect Plus

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017

SUSE s vision for agile software development and deployment in the Software Defined Datacenter

Continuous Delivery of Micro Applications with Jenkins, Docker & Kubernetes at Apollo

Red Hat Enterprise Virtualization and KVM Roadmap. Scott M. Herold Product Management - Red Hat Virtualization Technologies

Table of Contents. Virtual Server Software Trade Study Architecture Working Group, Systems Administrators Group , Revised

LINUX Virtualization. Running other code under LINUX

OTC Tools Development and Release process. Igor Stoppa & Eduard Bartosh & JF Ding V May 2013

Datacenter Management and The Private Cloud. Troy Sharpe Core Infrastructure Specialist Microsoft Corp, Education

Andrew Pullin, Senior Software Designer, School of Computer Science / x4338 / HP5165 Last Updated: October 05, 2015

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC

EE 660: Computer Architecture Cloud Architecture: Virtualization

Libvirt: a virtualization API and beyond

How Can Testing Teams Play a Key Role in DevOps Adoption?

BigFix 2018 Roadmap. Aram Eblighatian. Product Manager IBM BigFix. 14 May, 2018

Welcome to Linux Foundation E-Learning Training

Virtualization Introduction

Veritas InfoScale 7.4 Virtualization Guide - Linux

Transcription:

openqa Helping SUSE Linux Enterprise with Automated Testing Richard Brown openqa Technical Lead rbrown@suse.com

Contents Why SUSE automate testing The problem with every other testing tool openqa to the rescue Who's using openqa? openqa & SUSE Linux Enterprise 2

Why SUSE automate testing 3

CC-BY Jason McHuff @ flickr 4

Upstreams Upstream projects are moving fast Kernel New version every 3 months GNOME New version every 6 months KDE Plasma New version every 3 months Docker New version every 3 months SaltStack New version every 3-6 months 5

Change is good Security, Bug, Performance Fixes Hardware Support New Features 6

Change is bad Security, Performance Regressions Bugs! Functionality Changes 7

Users Users expectations are trending towards receiving software faster and faster SLE Modules SUSE PackageHub Rolling Releases (opensuse Tumbleweed, Arch) OBS, Copr, EPEL, PPAs, AUR 8

Diversification Distribution Projects are offering more stuff in different ways Modularization, Containers, Docker, JeOS Editions (Fedora Workstation, Server, Cloud) Multiple Distributions (SLES, SLED, SLE4SAP, opensuse Leap, Tumbleweed) 9

DevOps for Distributions 10

11

The problem(s) with every other test tool 12

But.. Selenium Containers DevOps CI Gerrit Jenkins Travis 13

But.. Selenium Containers DevOps Docker CI Gerrit Jenkins Travis 14

But.. Selenium Containers DevOps Docker CI Docker Gerrit Jenkins Travis 15

But.. Selenium Docker Containers DevOps Docker CI Docker Docker Gerrit Jenkins Travis 16

But.. Docker Selenium Docker DevOps Docker Containers Docker Docker CI Docker Docker Docker Docker Gerrit Jenkins Docker Docker Travis 17

NEWS FLASH: We do not build code We build Distributions Our users do not care if our code works, only if it works correctly as part of the Distribution There are lots of testing tools for Code None for actual Operating Systems and Apps as a cohesive product Until now... 18

openqa to the rescue 19

openqa Open Source distribution testing framework Started in 2009 Tests Operating Systems and their applications GUI & Console Testing Used by the opensuse Leap, Tumbleweed, SUSE Linux Enterprise & Fedora 20

openqa Testing like a user Does NOT touch the software directly Controls keyboard & mouse and uses them like a user Uses OpenCV to read the actual screen output and compare to predefined needles Also reads plain text from serial 21

22

Needles only match areas of interest 23

Not just graphical testing openqa supports executing console test scripts on a system under test Write scripts in the openqa Domain Specific Language. Add scripts (bash, perl, python, ) to the openqa test suite. openqa test API can deploy & execute. Download existing script/packages then execute in the openqa DSL. 24

Supported Console Outputs Multiple methods of comparing text results for openqa systems under test Simple string comparison. JUnit Parsing. Custom results analysis in the openqa DSL. 25

Console Example 26

openqa does NOT only test graphically 27

Reports like a Pro Records screenshots & logs for analysis Encodes video of each test run Provides ISO/HDD images for reproduction Dashboard for easy review and reporting 28

29

30

31

32

33

34

35

36

Pluggable Backends os-autoinst QEMU VM Libvirt Remote VM IPMI General HW Real HW 37

Backend Protocols QEMU Libvirt IPMI General HW VNC Serial VNC VM Remote VM SSH VNC SOL Real HW IPMI 38

Feature Highlights Multi Arch Support (Intel, ppc64le, s390x, aarch64) Multi Machine Testing (incl. Openvswitch) Add-On Testing (SLE Extensions, Modules, etc) Real Hardware Testing (IPMI & IP KVM) Disk Image Creation Testing without OS Installation (Testing from Image) Multi Hypervisor Support (KVM, Xen, VMware, KVM for zsystems, Hyper-V) FedMsg Support 39

Tag Everything New Review Workflow Tag issues with comments or bug ID s Tags appear next to scenario traffic lights on dashboard Repeated issues automatically inherit previous Tags Build Tagging Mark a build as important to ensure result & asset retention Tagged builds can be immune from obsolescence 40

41

Who s using openqa? 42

Who's using openqa? opensuse Tumbleweed Rolling Release Testing Leap Validation and System Testing SUSE SLES Multi-Arch (x86_64, s390x, ppc64) Validation, System, Stress, Regression Testing SLED Validation, System, Stress, Regression Testing HA Multi-Arch (x86_64, s390x) Validation and Multi-Machine Testing Red Hat 43

Red Hat?? Using openqa to test Fedora & Rawhide since Fedora 22 Dockerised openqa Contributing Patches, Ideas, and New Tooling Public Instance https://openqa.fedoraproject.org 44

opensuse Tumbleweed Tumbleweed is opensuse's rolling release openqa is an integral part of Tumbleweed development In depth testing is then carried out on the whole distribution before release opensuse Tumbleweed snapshots released after successful testing New Tumbleweed release every 2-3 days, often faster. 45

A 'quiet' Tumbleweek 3 Snapshots 146 Package Updates 15 New Packages on the DVD 38 Packages Removed from the DVD 1 new Kernel 46

A 'quiet' Tumbleweek 3 Snapshots 146 Package Updates 15 New Packages on the DVD QUIET?! 38 Packages Removed from the DVD 1 new Kernel 47

Tumbleweek 31/03/16 7/04/16 5 Snapshots 370 package updates 2 new Kernels GNOME 3.20 a week after it s upstream release All tested with over 118 different installations and upgrades 48

Tumbleweek 19/09/16 25/09/16 4 Snapshots 248 Package Updates 2 new Kernels GNOME 3.22 less than 48 hours after its upstream release All tested with over 118 different installations and updates 49

Tumbleweed Tumbleweed ALWAYS CHANGING.. ALWAYS WORKING 50

opensuse Leap opensuse Leap is a new distribution combining packages from both SUSE Linux Enterprise and opensuse Extensive integration challenge, combining two separate code bases and ensuring key functionality is preserved Dozens of different installation/upgrade scenarios tested for each development build 51

Two Codebases One Distribution SUSE Linux Enterprise 52

All Tested by openqa Tumbleweed >8000 Packages Community Developed Rolling Updates opensuse Leap Over 6000 Packages Community Developed SUSE Linux Enterprise Enterprise Packages SUSE Developed Shared Core >1000 Packages Shared Core Rolling Base System Stable Base System Regular Updates Stable Base System Regular Updates 53

openqa & SUSE Linux Enterprise 54

openqa & SUSE Linux Enterprise openqa integrated into the SUSE Enterprise development process since SLE 11 SP4 Used by Development Teams, QA, and Release Management Pre-Validation, Validation, Post-Validation, and Maintenance Testing 55

Package Submission Build Validation Milestone Alpha/Beta/RC Product 56

Package Submission Staging Build Validation Milestone openqa Alpha/Beta/RC Post-Validation Product 57

Pre-Validation/Staging Incoming changes are 'Staged' and tested in isolation on top of the last 'known good' build Monitored very regularly (hourly) by Release Managers Submissions not checked in until openqa tests pass 58

Validation In depth validation testing is carried out in parallel across the whole distribution for every Build Over 100 different Validation scenarios tested Milestones (Alpha, Beta, etc) announced only after successful testing Improved coverage and performance compared to only manual testing 59

Post-Validation openqa can schedule additional tests automatically after validation passes openqa produces automatically verified disk images for further testing of valid builds Suitable for Regression, Kernel, Stress, Performance and other indepth, long running, tests. 60

Maintenance openqa runs tests on each Maintenance Update before being released to customers Incident Testing Narrow tests of only a specific update run on an existing known good openqa VM image Update Testing Broader tests including Installation & Regression updates of all pending updates on an existing known good openqa VM image Live Patching Tests Live Patches atop supported Kernel Updates 61

Key Benefits Smoother Development Major breaking changes to SLE do not hit the codebase (easily) Breaking changes that do slip by openqa become new test cases Beta Customer feedback now of equal or greater importance than before Faster Development Regular changes can be confirmed to be ready faster Can confidently make otherwise risky changes quicker Better Quality Products Less bugs in Product releases and Maintenance Updates Bored Beta Customers Happier Customers 62

Would you like to know more? Main Website http://open.qa Documentation http://open.qa/documentation/ Bug Reports & Feature Requests https://progress.opensuse.org/projects/openqav3 63