openqa Avoiding Disasters of Biblical Proportions Marita Werner QA Project Manager

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

openqa Avoiding Disasters of Biblical Proportions Marita Werner QA Project Manager

openqa making QA interesting since 2013 Ondrej Holecek /aaannz/

openqa features capabilities bugs Ondrej Holecek /aaannz/

Zdeněk Kubala Senior QA

Open Enterprise & Open Community

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

96Boards Enablement for opensuse

Welcome to SUSE Expert Days 2017 Service Delivery with DevOps

SUSE An introduction...

Collecting data from IoT devices using Sigfox network

Define Your Future with SUSE

Introduction to Software Defined Infrastructure SUSE Linux Enterprise 15

From GIT to a custom OS image in a few click OS image made easy

SUSE OpenStack Cloud. Enabling your SoftwareDefined Data Center. SUSE Expert Days. Nyers Gábor Trainer &

Samba and Ceph. Release the Kraken! David Disseldorp

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

Pushing The Limits Of Linux On ARM

Frédéric Crozat SUSE Linux Enterprise Release Manager

Docker Networking In OpenStack What you need to know now. Fawad Khaliq

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

SUSE Linux Enterprise Kernel Back to the Future

The CephFS Gateways Samba and NFS-Ganesha. David Disseldorp Supriti Singh

SUSE Manager Roadmap OS Lifecycle Management from the Datacenter to the Cloud

Managing Linux Servers Comparing SUSE Manager and ZENworks Configuration Management

Using Linux Containers as a Virtualization Option

Build with SUSE Studio, Deploy with SUSE Linux Enterprise Point of Service and Manage with SUSE Manager Case Study

Cloud in a box. Fully automated installation of SUSE Openstack Cloud 5 on Dell VRTX. Lars Everbrand. Software Developer

SUSE Manager in Large Scale 17220

Best practices with SUSE Linux Enterprise Server Starter System and extentions Ihno Krumreich

How To Make Databases on SUSE Linux Enterprise Server Highly Available Mike Friesenegger

SUSE Linux Enterprise High Availability Extension

Essentials. Johannes Meixner. about Disaster Recovery (abbreviated DR) with Relax-and-Recover (abbreviated ReaR)

Provisioning with SUSE Enterprise Storage. Nyers Gábor Trainer &

Packaging made easy. How the opensuse build service makes building packages easy for developers who don't care about packaging

SaltStack and SUSE Systems and Configuration Management that Scales and is Easy to Extend

Beyond make and make check

Linux and z Systems in the Datacenter Berthold Gunreben

SUSE Linux Entreprise Server for ARM

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

SUSE Manager and Salt

Linux High Availability on IBM z Systems

Expert Days SUSE Enterprise Storage

The opensuse project. Motivation, Goals, and Opportunities. Sonja Krause-Harder Michael Löffler. March 6, 2006

InstallAnywhere: Requirements

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

DevOps with SUSE: How SUSE Manager, SUSE Studio and SUSE Cloud APIs Facilitate Continuous Software Delivery. Wolfgang Engel.

ElasterStack 3.2 User Administration Guide - Advanced Zone

Veritas CloudPoint 1.0 Administrator's Guide

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

Libvirt presentation and perspectives. Daniel Veillard

Protect your server with SELinux on SUSE Linux Enterprise Server 11 SP Sander van Vugt

Software Defined. All The Way with OpenStack. T. R. Bosworth Senior Product Manager SUSE OpenStack Cloud

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

Intel Cache Acceleration Software (Intel CAS) for Linux* v2.9 (GA)

Red Hat Virtualization 4.1 Product Guide

Build Cloud like Rackspace with OpenStack Ansible

GRID SOFTWARE FOR MICROSOFT WINDOWS SERVER VERSION /370.12

Using Crowbar to Deploy Your OpenStack Cloud. Adam Spiers Vincent Untz John H Terpstra

Veritas InfoScale 7.4 Virtualization Guide - Linux

Continuous integration & continuous delivery. COSC345 Software Engineering

A Resource Management Mechanism and Its Implementation for Virtual Machines

Be smart. Think open source.

SUSE Linux Enterprise Server 12 Modules

Red Hat enterprise virtualization 3.1 feature comparison

IBM Spectrum Protect Plus

Open World Forum 2013

Virtualization Introduction

SSD and Container Native Storage for High- Performance Databases

TESLA DRIVER VERSION (LINUX)/411.98(WINDOWS)

LaunchStation Controller

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

Hitachi Storage Adapter for SAP NetWeaver Landscape Virtualization Management v Release Notes

Exploring History with Hawk

WebSphere Commerce Professional

Docker and Splunk Development

Hitachi Block Storage Driver for OpenStack v Release Notes

SICOOB. The Second Largest Linux on IBM System z Implementation in the World. Thiago Sobral. Claudio Kitayama

Support Lifecycle Policy

BOV89296 SUSE Best Practices Sharing Expertise, Experience and Knowledge. Christoph Wickert Technical Writer SUSE /

Red Hat enterprise virtualization 3.0

Flatpak and your distribution. Simon McVittie

Standalone applications testing and automation

Troubleshooting Your SUSE TUT6113. Cloud. Paul Thompson SUSE Technical Consultant. Dirk Müller SUSE OpenStack Engineer

Using SAT for solving package dependencies. Michael Schröder Novell, Inc.

SDS Heterogeneous OS Access. Technical Strategist

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

EMC Smarts SAM, IP, ESM, MPLS, NPM, OTM, and VoIP Managers 9.5 Support Matrix

Advanced patching of SUSE Linux Enterprise Server 10 with ZENworks Linux Management 7.2

AMD SEV Update Linux Security Summit David Kaplan, Security Architect

SAP on IBM z Systems. Customer Conference. April 12-13, 2016 IBM Germany Research & Development

Access Control Policies

Red Hat Enterprise Linux 8.0 Beta

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

Elastic Compute Service. Quick Start for Windows

Novell Linux Point of Service 9 Patch Release Readme July 26, 2005

REST APIs on z/os. How to use z/os Connect RESTful APIs with Modern Cloud Native Applications. Bill Keller

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

Veritas NetBackup for SQLite Administrator's Guide

Continuous Integration and Delivery with Spinnaker

Transcription:

openqa Avoiding Disasters of Biblical Proportions Marita Werner QA Project Manager mawerner@suse.com

Testing is HARD - Everyone who has built any software, ever.

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

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

Change is bad Security, Performance Regressions Bugs! Functionality Changes

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

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)

DevOps for Distributions

The problem(s) with every other test tool

But.. Selenium Containers Docker CI Gerrit Jenkins Travis

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...

openqa to the rescue

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

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

Needles only match areas of interest

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.

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.

Console Example

openqa does NOT only test graphically

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

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

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

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

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

Who s using openqa?

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

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

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.

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

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

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

Tumbleweed

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

Two Codebases One Distribution Tumbleweed SUSE Linux Enterprise

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

openqa & SUSE Linux Enterprise

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

Package Submission Build Validation Milestone Alpha/Beta/RC Product

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

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

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

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 in-depth, long running, tests.

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

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

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

Join Us at www.opensuse.org

License This slide deck is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license. It can be shared and adapted for any purpose (even commercially) as long as Attribution is given and any derivative work is distributed under the same license. Details can be found at https://creativecommons.org/licenses/by-sa/4.0/ General Disclaimer This document is not to be construed as a promise by any participating organisation to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. opensuse makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for opensuse products remains at the sole discretion of opensuse. Further, opensuse reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All opensuse marks referenced in this presentation are trademarks or registered trademarks of SUSE LLC, in the United States and other countries. All third-party trademarks are the property of their respective owners. Credits Template Richard Brown rbrown@opensuse.org Design & Inspiration opensuse Design Team http://opensuse.github.io/brandingguidelines/