AutoQA and You Will Woods, Fedora QA Architect FUDCon Toronto 2009.

Slides:



Advertisements
Similar presentations
EECS 470 Lecture 8 RS/ROB examples True Physical Registers? Project.
Advertisements

Week 6: Chapter 6 Agenda Automation of SQL Server tasks using: SQL Server Agent Scheduling Scripting Technologies.
Welcome to the MIRC & NoName Script Tutorial Created by Buzz & Jet 1/31.
MICROCONTROLLED HOME Keith Jones EKU Deparment of Technology CEN.
Agenda Model migration vs MDS upgrade Model migration overview Model migration – how does it work? Model package Demo.
#RefreshCache CI - Daily Builds w/Jenkins – an Open Source Continuous Integration Server Nick Airdo Community Developer Advocate Central Christian Church.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Software Deployment at Johnston Community College Lauren Bradley | Windows System Administrator at Johnston Community College Lauren Bradley | Windows.
A primer on version control at OTN
Utilities, Customers & SMS Rudi Leitner. Who in this room has a mobile phone? Who in this room has ever sent a text (SMS) message?
CERN Manual Installation of a UI – Oxford July - 1 LCG2 Administrator’s Course Oxford University, 19 th – 21 st July Developed.
…using Git/Tortoise Git
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
AEgir Maintain your Drupal sites. The name: AEgir “In Norse mythology, AEgir was the god of the oceans and if Drupal is a drop of water, AEgir is the.
New perfSonar Dashboard Andy Lake, Tom Wlodek. What is the dashboard? I assume that everybody is familiar with the “old dashboard”:
Diagnostic Pathfinder for Instructors. Diagnostic Pathfinder Local File vs. Database Normal operations Expert operations Admin operations.
PerfSONAR-PS Functionality February 11 th 2010, APAN 29 – perfSONAR Workshop Jeff Boote, Assistant Director R&D.
WinCvs. WinCVS WinCvs is a window based version control system. Use WinCvs when  You want to save every version of your file you have ever created. CVS.
Version Control and SVN ECE 297. Why Do We Need Version Control?
1. Starting 1 Let’s Learn Saenthong School, January – February 2016 Teacher: Aj. Andrew Davison, CoE, PSU Hat Yai Campus
Galaxy in Production Nate Coraor Galaxy Team Penn State University.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Luke Macken [ bodhi ]. ● History of Fedora updates ● bodhi ● goals ● features ● architecture ● using ● testing/qa ● hacking ● future ideas [ overview.
Git Girish Git VCS that I have used ClearCase, cvs, svn Happy p4 user.
April 1st, 2009 Cobbler Provisioning Made Easy Jasper Capel.
An Introduction to. Where did Fedora come from? Boxed set every 6 months == Failed business model [
CSC 108H: Introduction to Computer Programming Summer 2011 Marek Janicki.
Less manual testing for Fedora Kamil Páral Presented by Fedora QA team License: CC-BY-SA AutoQA introduction.
New Tools Used by the Scientific Linux Team
Architecture Review 10/11/2004
SharePoint 101 – An Overview of SharePoint 2010, 2013 and Office 365
Getting & Running EdgeX Docker Containers
Tonga Institute of Higher Education IT 141: Information Systems
Stress Free Deployments with Octopus Deploy
Information Systems and Network Engineering Laboratory II
Anti Virus System i-Specific Anti-Virus Product
Scholarly Workflow: Federal Prototype and Preprints
Introduction to Eclipse
Version Control with Subversion
Shared Services with Spotfire
Project Center Use Cases Revision 2
Project Center Use Cases
Learning to Program D is for Digital.
Rebuilding Modules and Containers
LCGAA nightlies infrastructure
test automation for Fedora
Project Center Use Cases Revision 3
Spacewalk and Koji at Fermilab
Fedora QA: What we do and how you can help
Modular Infrastructure Design with Messaging
Project Center Use Cases Revision 3
Multi-Factor Authentication (MFA)
WEBINAR “Automation of document generation and document processing with AutoMerge” Atlanta, 10/21/2013 Clint Higley I would like to welcome everyone to.
DUCKS – Distributed User-mode Chirp-Knowledgeable Server
02 | Hosting Services in Windows Azure
Let's Learn Python and Pygame
Automating reports with Python
Tonga Institute of Higher Education IT 141: Information Systems
Michael Stephenson DevOps empowered by Microsoft Flow
Exploring the Power of EPDM Tasks - Working with and Developing Tasks in EPDM By: Marc Young XLM Solutions
Module 01 ETICS Overview ETICS Online Tutorials
Coding Concepts (Basics)
Tonga Institute of Higher Education IT 141: Information Systems
Git CS Fall 2018.
Discussing an OVS/OVN Split
…and web frameworks in general
The Future of Database Development
Blazor A new framework for browser-based .NET apps Ryan Nowak
Web Application Development Using PHP
The Future of Database Development (with containers)
Presentation transcript:

AutoQA and You Will Woods, Fedora QA Architect FUDCon Toronto 2009

Overview / Hot Dog ● History of AutoQA ● Current State ● Future Plans ● Getting Involved / Contributing Tests ● Resources

AutoQA History

Big Problems ● Broken Rawhide ● Broken Repos ● Broken Deps ● Broken Hearts

Poor ESR “After thirteen years as a loyal Red Hat and Fedora user, I reached my limit today, when an attempt to upgrade one (1) package pitched me into a four-hour marathon of dependency chasing, at the end of which an attempt to get around a trivial file conflict rendered my system unusable.” Eric S. Raymond

Big Solutions? ● Beaker (testing.108.redhat.com)

Breaking It Down ● FUDCon “What is Rawhide” discussion – What makes Rawhide “broken” or “good”? – Can we write code to check that? – How can we run that code automatically? ● FUDCon AutoQA discussion/hackfest – “When stuff happens, run tests” ● FAD: Is Rawhide Broken proposal – Rawhide Acceptance Test Plan

JFDI ● FUDCon hackfest for autoqa 0.1 – Event watcher, test harness, and one test ● Adopted autotest for job scheduling etc. – Nobody really wants to write their own test harness / test machine provisioning system / job scheduler / etc. ● Rewrote autoqa in Python ● Standardized event hooks and tests

AutoQA: Current State

Overall Design ● Event-driven automated testing – “When something happens, run some tests” ● Well-defined event hooks – Define the event/trigger – Define test inputs ● Tests are independent – Can run outside of the test system

Current Implementation ● Event watcher for each hook ● 'autoqa' harness script ● Per-test control file – Required to queue a new autotest job ● Autotest picks a test host and runs test according to control file instructions ● Test can report results however it likes – Autotest saves output/results

Current Hooks ● post-repo-update – Runs when repo metadata changes ● post-tree-compose – Runs when new installer images appear ● post-koji-build – Runs when a package build finishes

Current tests ● post-repo-update – conflicts, repoclosure, rats_sanity ● post-tree-compose – rats_install ● post-koji-build – rpmlint, rpmguard (in progress)

AutoQA Python Library ● Package of useful Python modules for writing watchers and tests. – util, config, rats, virtguest, repoinfo, koji_utils

israwhidebroken.com ● Test result database ● TurboGears frontend ● Store and display results for the 14 test cases defined by RATS ● Answers the question “is Rawhide broken?” ● We can use these results to select the Last Known Good Rawhide images

Current Setup ● Internal pilot instance – Test server, 5 test hosts – Israwhidebroken running on test server – Simple test results ed to autoqa-results mailing list – Full test results saved on autotest server

Future Plans

Coming Soon ● Public Autotest instance – FAS authentication required ● post-bodhi-update hook – Run tests when a new update is added or requests a push ● AutoQA Depcheck Test – No more broken deps in public repos!

Coming Soon..ish ● Easy AutoQA for packagers – Add post-koji-build or post-bodhi-update tests right in pkgcvs - “make new-test” ● post-iso-build hook – Lets us start to automate our huge install test plan ● Use Fedora Message Bus, not watchers

Coming Eventually Someday Probably Maybe ● Multi-host / networking tests – httpd, nfs, etc. ● Functional testing for GUIs – But how do we script that? ● World Domination

Getting Involved

How To Contribute Tests ● WRITE THE TEST FIRST. – Don't worry about AutoQA yet. ● Write a test that you can run on its own –./radtest ARG1 ARG2... ● Until you are satisfied with the way the test works you don't need to know anything about AutoQA 1,2

1 Except perhaps for some helpful test assumptions ● Tests will have a resultsdir and a tempdir ● Tests will have high-speed network access to all Fedora repos ● Koji, Bodhi, etc. will be reachable ● There isn't any state stored between tests

2 And some details about the current hooks ● post-tree-compose args: – Tree name, URL, arches ● post-repo-update args: – Repo name, URL, arches, parent repo names ● post-koji-build args: – Package name, NVR, koji tag, arches

References ● ● ● ● ● ● ●

Questions?