Beyond make and make check

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

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

openqa Avoiding Disasters of Biblical Proportions Marita Werner QA Project Manager

Multi-Arch Layered Image Build System

Be smart. Think open source.

diskimage-builder: Building Linux Images for Cloud / Virtualization / Container

Tunir Documentation. Release Kushal Das

SUSE An introduction...

Presented By: Gregory M. Kurtzer HPC Systems Architect Lawrence Berkeley National Laboratory CONTAINERS IN HPC WITH SINGULARITY

Virtualization Introduction

Designing the Stable Infrastructure for Kernel-based Virtual Machine using VPN-tunneled VNC

SDN VPN user guide. Release draft (fd6f067) OPNFV

Introduction to a Virtualization Testsuite --Based on Autotest Testing Framework. Yu Mingfei

Virtualization Food Fight. Rik van Riel

The Rockefeller University I NFORMATION T ECHNOLOGY E DUCATION & T RAINING. VPN Configuration Guide for Unix/Linux

CONTAINERIZING JOBS ON THE ACCRE CLUSTER WITH SINGULARITY

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

Lifecycle management with Foreman and Katello Basics and Spacewalk migration

PARALLELS SERVER 4.0 FOR MAC BARE METAL EDITION README

vpp-firstcut Documentation

BUILDING A GPU-FOCUSED CI SOLUTION

Introduction to Containers. Martin Čuma Center for High Performance Computing University of Utah

Installation and setup guide of 1.1 demonstrator

Travis Cardwell Technical Meeting

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

Virtualisation: The KVM Way. Amit Shah

libvirt integration and testing for enterprise KVM/ARM Drew Jones, Eric Auger Linaro Connect Budapest 2017 (BUD17)

Docker for HPC? Yes, Singularity! Josef Hrabal

Quality Assurance Eng., Red Hat. OpenJDK & IcedTea Pavel Tišnovský

Standalone applications testing and automation

NetVault Bare Metal Recovery (VaultDR) Supported Platforms

Welcome to Linux Foundation E-Learning Training

Welcome to Linux Foundation Virtual Training

Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to OpenStack Environment

Automation beyond Testing and Embedded System Validation

Relax-and-Recover (ReaR) Automated Testing

LINUX KVM FRANCISCO JAVIER VARGAS GARCIA-DONAS CLOUD COMPUTING 2017

UP! TO DOCKER PAAS. Ming

Quick Start Guide to Compute Canada Cloud Service

ovirt Node November 1, 2011 Mike Burns Alan Pevec Perry Myers ovirt Node 1

Quality Assurance Eng., Red Hat. OpenJDK & IcedTea Pavel Tišnovský

Transforming XenServer into a proper open-source project

Simulating Networks Using Cisco Modelling Labs

Adding Transparency and Automation into the Galaxy Tool Installation Process

Integration of Flexible Storage with the API of Gluster

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

MaaS Integration for Baremetal Provisioning in Cloudstack

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

Singularity: container formats

InstallAnywhere: Requirements

RHOSP 12 Director Installation on MaxCore TM Platform

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Linux Essentials Objectives Topics:

Improving the Yocto Project Developer Experience. How New Tools Will Enable a Better Workflow October 2016 Henry Bruce

ovirt and Docker Integration

Simple custom Linux distributions with LinuxKit. Justin Cormack

Installation and Maintenance Instructions for Intel(R) R-WPA VNF Package

Welcome to Linux Foundation E-Learning Training

How to find and Delete Duplicate files in directory on Linux server with find and fdupes command

Welcome to Linux Foundation E-Learning Training

PAWS Documentation. Release Eduardo Cerqueira

Linux Foundation Onsite Classroom Requirements

Ubuntu Install Partition Server On. Virtualbox 4.2 >>>CLICK HERE<<<

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

PaaS isn t Just for Developers

Manually Mount Usb Flash Drive Linux Command Line Redhat

openqa Avoiding Disasters of Biblical Proportions Marita Werner QA Project Manager

UNIT 9 Introduction to Linux and Ubuntu

Installation of R Studio. Tushar B. Kute,

May 2018 OpenStack Manila

ONAP Developer Typical Setup 2017 July ONAP Virtual Developers Event

kernels-in-kernels kernels within kernels by Lee Elston Version 1.0 c CC-BY SA4

Making Immutable Infrastructure simpler with LinuxKit. Justin Cormack

A comparison of performance between KVM and Docker instances in OpenStack

F5 iworkflow and Linux KVM: Setup. Version 2.0.2

Zoneminder Debian Installation Manual New. Releases >>>CLICK HERE<<<

Compass4nfv Euphrates hands on. Justin chi

Libvirt presentation and perspectives. Daniel Veillard

Welcome to Linux Foundation Virtual Training

Welcome to Linux Foundation E-Learning Training

SFO17-315: OpenDataPlane Testing in Travis. Dmitry Eremin-Solenikov, Cavium Maxim Uvarov, Linaro

Bootstrapping the LSM policies in RPM. Elena Reshetova, Intel OTC

Ixia Developer KVM over CentOS deployment and configuration steps:

Continuous integration & continuous delivery. COSC345 Software Engineering

F5 BIG-IQ Centralized Management andlinux KVM: Setup. Version 5.0

Linuxboot continuous integration

Unzip command in unix

How To Manually Install Driver Ubuntu Server On Virtualbox

Creating a Reproducible Build System for Docker Images

CUDA QUICK START GUIDE. DU _v9.1 January 2018

Is code in your project sane enough?

Linux Virtualization Update

Jozef Cernak, Marek Kocan, Eva Cernakova (P. J. Safarik University in Kosice, Kosice, Slovak Republic)

OxMetrics 7.2 Installation Notes

SAS Event Stream Processing for Edge Computing 4.3: Deployment Guide

Manual Install Package Rpm Linux Command Line

Zero Install. Decentralised cross-platform package management

Rethinking Machine Types

Upcoming Services in OpenStack Rohit Agarwalla, Technical DEVNET-1102

Transcription:

TESTING IN QEMU AND LIBVIRT Beyond make and make check YASH MANKAD RED HAT INC. 26th October 2018

AGENDA What Why How Where 1

AGENDA What is the state of testing in QEMU and libvirt? Why How Where 2

AGENDA What is the state of testing in QEMU and libvirt? Why should we change? How Where 3

AGENDA What is the state of testing in QEMU and libvirt? Why should we change? How will it work? Where 4

AGENDA What is the state of testing in QEMU and libvirt? Why should we change? How will it work? Where will it run? 5

STATE OF VIRT TESTING QEMU Tests included in qemu source are unit tests CI environments build QEMU from source using 'make' and run 'make check' Sub-system tests such as iotests, coverity, and dynamic code analysis libvirt test suite present in source code runs unit tests CI environment uses the autogen.sh script to build and runs gmake 'check' ensures XML can run qemu 6

STATE OF QEMU TESTING Runs for every patch sent to qemu-devel ubuntu, fedora, centos on docker checkpatch.pl Runs make check Ubuntu 12/14.04 x86_64 hosts, MAC OS X Runs make No functional tests Runs Debian, Ubuntu amd-64 Runs make No functional tests 7

STATE OF LIBVIRT TESTING on Runs Ubuntu in docker make syntax-check make install make dist Runs CentOS, Debian, Fedora, rawhide and freebsd make and make install 8

WHY SHOULD WE CHANGE? 9

WHY SHOULD WE CHANGE? Why look beyond make, make check, make install, etc? Run more functional tests Run on baremetal nodes Run on different architectures 10

WHY SHOULD WE CHANGE? Lack of integrated test frameworks for Virtualization Avocado and Avocado-VT Pros Cons Can run in bare metal or virtual environment Has extensive functional and regression tests Not packaged for all distros Lot of dependencies ========== Add repo ============= $ sudo curl https://avocado project.org/data/repos/avocado fedora.re o /etc/yum.repos.d/avocado.repo ======= Install Avocado ======== $ dnf install python avocado $ dnf install avocado plugins vt ======= Bootstrap Avocado ====== $ avocado vt bootstrap vt type =[qemu libvirt..] ======== Pick the tests ========= $ avocado list vt type libvirt wc l 12097 $ avocado list vt type qemu wc l 3419 ======== Run the tests ========= $ avocado run /path/to/test 11

HOW WILL IT WORK? 12

HOW WILL IT WORK? 13

HOW WILL IT WORK? QEMU Functional tests added to developer workflow Have access to a predefined VM self.vm The VM is a QEMUMachine instance (from scripts/qemu.py) Add command line arguments with add_args() Launch the VM with launch() Send QMP commands with command() Called using make check-acceptance Cleber Rosa's talk: https://sched.co/fzud $ cd qemu $ tree tests/acceptance/ tests/acceptance/ avocado_qemu init.py boot_linux_console.py README.rst version.py vnc.py $ avocado run tests/acceptance OR $ make check acceptance 14

HOW WILL IT WORK? libvirt libvirt-tck test suite from Perl-Sys-Virt-TCK Functional, integration tests for libvirt drivers Wasn't actively maintained...we will be changing that Supports and runs a wide range of tests domain storage nwfilter, etc. Packaged for Fedora ====== Install the TCK tests ========= $ dnf install perl Sys Virt TCK enablerepo=updates testing ====== Run the tests ========== $ libvirt tck v 15

WHERE WILL IT RUN? 16

WHERE WILL IT RUN? I strongly encourage the use of bare metal environments of Virt testing ci.centos.org CentOS CI infrastructure They have 38 x86_64 bare metal nodes available for CI Also have 64 aarch64 and ppc64le VMs Can be requested using duffy CentOS is working on adding aarch64 hardware to this infrastructure. 17

WHERE WILL IT RUN? Get onboard with Fedora's CI initiative Tie in functional tests with existing environments Both avocado_qemu and libvirt-tck can run in virtual environments Create a meaningful feedback loop for developers and feature owners 18

SUMMARY QEMU and libvirt CI runs a lot of 'make' Only unit and basic acceptance tests Let's start running functional, integration tests for QEMU and libvirt Will provide more coverage, run on additional architectures Have a functional CI for Virt packages 19

THANK YOU QUESTIONS? More questions? Yash Mankad <ymankad@redhat.com>