kvm-autotest

38
Outline Problem Framing Resolution strategy KVM autotest: It is not just a QA tool anymore Lucas Meneghel Rodrigues [email protected] KVM Forum 2012 November 5th, 2012 Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

Upload: lucas-meneghel

Post on 26-May-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

OutlineProblem Framing

Resolution strategy

KVM autotest: It is not just a QA tool anymore

Lucas Meneghel [email protected]

KVM Forum 2012November 5th, 2012

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

1 Problem Framing

2 Resolution strategy

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

The juggler dillema

It is hard to juggle

• Code/new featuredevelopment

• Bug handling

• Write tests for all thefeatures

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

The juggler dillema

It is hard to juggle

• Code/new featuredevelopment

• Bug handling

• Write tests for all thefeatures

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

The juggler dillema

It is hard to juggle

• Code/new featuredevelopment

• Bug handling

• Write tests for all thefeatures

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

How can we accomodate testing?

Test tools have to be easy

• To understand

• To hack

• To do useful things with

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

How can we accomodate testing?

Test tools have to be easy

• To understand

• To hack

• To do useful things with

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

How can we accomodate testing?

Test tools have to be easy

• To understand

• To hack

• To do useful things with

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

QA vs developer level testing

If the testing tools (written forQA) are hard to understand:

• “Ok, I’ll write my own tool”.

• It is fine. Then you startrepeating things over andover.

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

QA vs developer level testing

If the testing tools (written forQA) are hard to understand:

• “Ok, I’ll write my own tool”.

• It is fine. Then you startrepeating things over andover.

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

KVM autotest: The hard path

KVM autotest was written withfocus on QA level testing

• It has grown to cover libvirtand other virt backends

• It can do migration, virtioconsole, hotplug, amongothers

• But has a steep learningcurve

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

KVM autotest: The hard path

KVM autotest was written withfocus on QA level testing

• It has grown to cover libvirtand other virt backends

• It can do migration, virtioconsole, hotplug, amongothers

• But has a steep learningcurve

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

KVM autotest: The hard path

KVM autotest was written withfocus on QA level testing

• It has grown to cover libvirtand other virt backends

• It can do migration, virtioconsole, hotplug, amongothers

• But has a steep learningcurve

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

How to solve the problem

Layered approach

• Keep the code base workingfor the original cases

• Get rid of useless things forthe development use caseand expose the essentials

• “I don’t care about autotest,just give me a test suite”

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

How to solve the problem

Layered approach

• Keep the code base workingfor the original cases

• Get rid of useless things forthe development use caseand expose the essentials

• “I don’t care about autotest,just give me a test suite”

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

How to solve the problem

Layered approach

• Keep the code base workingfor the original cases

• Get rid of useless things forthe development use caseand expose the essentials

• “I don’t care about autotest,just give me a test suite”

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Split test modules from autotest core

Going after the layered approach

• Autotest will provide astable test API

• Test modules are developedindependently

• Merged all virt types in asingle test module

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Split test modules from autotest core

Going after the layered approach

• Autotest will provide astable test API

• Test modules are developedindependently

• Merged all virt types in asingle test module

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Split test modules from autotest core

Going after the layered approach

• Autotest will provide astable test API

• Test modules are developedindependently

• Merged all virt types in asingle test module

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Turn virt tests into a separate suite

Virt tests still have all the codeto work under autotest

• It works as a separatetestsuite, with autotest deps

• After a bootstrap stage, justexecute a simple runner

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Turn virt tests into a separate suite

Virt tests still have all the codeto work under autotest

• It works as a separatetestsuite, with autotest deps

• After a bootstrap stage, justexecute a simple runner

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Minimize deps: JeOS

Nowadays this is anotherbuzzword: “Just enough OS”

• In real life, people need asmall guest to run tests on

• Very small Fedora 17 x86 64sparse image

• Easy to maintain, fairlysmall compared to a fullDVD

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Minimize deps: JeOS

Nowadays this is anotherbuzzword: “Just enough OS”

• In real life, people need asmall guest to run tests on

• Very small Fedora 17 x86 64sparse image

• Easy to maintain, fairlysmall compared to a fullDVD

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Minimize deps: JeOS

Nowadays this is anotherbuzzword: “Just enough OS”

• In real life, people need asmall guest to run tests on

• Very small Fedora 17 x86 64sparse image

• Easy to maintain, fairlysmall compared to a fullDVD

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Test runner

Present the tests in aminimalistic way

• Terse, unittest like output

• Can list available tests

• Provide a qemu path and atest list and you’re good

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Test runner

Present the tests in aminimalistic way

• Terse, unittest like output

• Can list available tests

• Provide a qemu path and atest list and you’re good

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Test runner

Present the tests in aminimalistic way

• Terse, unittest like output

• Can list available tests

• Provide a qemu path and atest list and you’re good

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Demo

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Changes in autotest (last year)

Lots of work under the hood

• Namespace fixes andcleanups

• Improved releasemanagement

• Fedora packaging work done

• Stand alone RPC client

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Changes in autotest (last year)

Lots of work under the hood

• Namespace fixes andcleanups

• Improved releasemanagement

• Fedora packaging work done

• Stand alone RPC client

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Changes in autotest (last year)

Lots of work under the hood

• Namespace fixes andcleanups

• Improved releasemanagement

• Fedora packaging work done

• Stand alone RPC client

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Changes in autotest (last year)

Lots of work under the hood

• Namespace fixes andcleanups

• Improved releasemanagement

• Fedora packaging work done

• Stand alone RPC client

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Roadmap

What now?

• Allow to run tests written onany language

• Evolve core functionalityinto libraries

• Run tests out of tree (say,qemu tree)

• You all are welcome to help

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Roadmap

What now?

• Allow to run tests written onany language

• Evolve core functionalityinto libraries

• Run tests out of tree (say,qemu tree)

• You all are welcome to help

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Roadmap

What now?

• Allow to run tests written onany language

• Evolve core functionalityinto libraries

• Run tests out of tree (say,qemu tree)

• You all are welcome to help

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Roadmap

What now?

• Allow to run tests written onany language

• Evolve core functionalityinto libraries

• Run tests out of tree (say,qemu tree)

• You all are welcome to help

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Questions?

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore

OutlineProblem Framing

Resolution strategy

Contact

[email protected]

[email protected]

• Virt test devel list ([email protected])

Lucas Meneghel Rodrigues [email protected] KVM autotest: It is not just a QA tool anymore