Presentation LinuxCon Europe 2012 lmr

Embed Size (px)

DESCRIPTION

Deploying a kernel test grid using the autotest project. This presentation was given during LinuxCon Europe 2012, in Barcelona.

Citation preview

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Assembling a kernel test grid with autotest

    Lucas Meneghel [email protected]

    LinuxCon Europe 2012November 5th, 2012

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    1 Introduction

    2 Autotest

    3 Demo

    4 Roadmap

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    The case for automated testing

    Linux moves fast

    Thousands of new commitsper week

    Thousands of potential newbugs per week

    Its better if theyre spot onquickly

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    The case for automated testing

    Linux moves fast

    Thousands of new commitsper week

    Thousands of potential newbugs per week

    Its better if theyre spot onquickly

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    The case for automated testing

    Linux moves fast

    Thousands of new commitsper week

    Thousands of potential newbugs per week

    Its better if theyre spot onquickly

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Test soon, test frequently

    Linux development anddeployment

    Months from patchsetaccepted to user runningcode

    Submaintainers are good,but not perfect

    More testing made beforecode gets to maintainers is awin

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Test soon, test frequently

    Linux development anddeployment

    Months from patchsetaccepted to user runningcode

    Submaintainers are good,but not perfect

    More testing made beforecode gets to maintainers is awin

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Test soon, test frequently

    Linux development anddeployment

    Months from patchsetaccepted to user runningcode

    Submaintainers are good,but not perfect

    More testing made beforecode gets to maintainers is awin

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Autotest

    Open source project, containing:

    Userspace tools

    Libraries Test modules Designed for the kernel,

    useful for userspace too

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Autotest

    Open source project, containing:

    Userspace tools Libraries

    Test modules Designed for the kernel,

    useful for userspace too

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Autotest

    Open source project, containing:

    Userspace tools Libraries Test modules

    Designed for the kernel,useful for userspace too

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Autotest

    Open source project, containing:

    Userspace tools Libraries Test modules Designed for the kernel,

    useful for userspace too

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Autotest structure

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Autotest modules

    Client: Executes tests intest machines

    Server: Copies client codeto the test machines

    Scheduler: Schedules testjobs according to user input

    Frontends: Allows users torun jobs and visualize results

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Autotest modules

    Client: Executes tests intest machines

    Server: Copies client codeto the test machines

    Scheduler: Schedules testjobs according to user input

    Frontends: Allows users torun jobs and visualize results

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Autotest modules

    Client: Executes tests intest machines

    Server: Copies client codeto the test machines

    Scheduler: Schedules testjobs according to user input

    Frontends: Allows users torun jobs and visualize results

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Autotest modules

    Client: Executes tests intest machines

    Server: Copies client codeto the test machines

    Scheduler: Schedules testjobs according to user input

    Frontends: Allows users torun jobs and visualize results

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Install recipe

    Ingredients

    Two machines, runningFedora 17 (or Ubuntu 12.04)

    Download the install scriptand execute it

    Optional: Cobbler server

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Install recipe

    Ingredients

    Two machines, runningFedora 17 (or Ubuntu 12.04)

    Download the install scriptand execute it

    Optional: Cobbler server

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Install recipe

    Ingredients

    Two machines, runningFedora 17 (or Ubuntu 12.04)

    Download the install scriptand execute it

    Optional: Cobbler server

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Install Demo

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Machine Control

    How to controlpower/serial/provisioning

    Console - Conmux

    Provisioning - Cobbler Both can do machine power

    control

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Machine Control

    How to controlpower/serial/provisioning

    Console - Conmux Provisioning - Cobbler

    Both can do machine powercontrol

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Machine Control

    How to controlpower/serial/provisioning

    Console - Conmux Provisioning - Cobbler Both can do machine power

    control

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Autotest KVM PPC lab

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Kernel testing (no machine install)

    from a u t o t e s t . c l i e n t . s h a r e d i m p o r t g i td e f s t e p i n i t ( ) :

    j o b . n e x t s t e p ( [ s t e p t e s t ] )re po = g i t : / / g i t h u b . com/ f o o / l i n u x . g i t r e po = g i t . G i t R e p o H e l p e r ( u r i=re po )re po . e x e c u t e ( )k e r n e l = j o b . k e r n e l ( re po . d e s t i n a t i o n d i r )k e r n e l . b u i l d ( )k e r n e l . i n s t a l l ( )k e r n e l . boot ( )

    d e f s t e p t e s t ( ) :j o b . r u n t e s t ( kernbench )

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Kernel testing (machine install)

    c o n t r o l = s t r i n g w i t h p r e v i o u s c o n t r o l d e f run ( machine ) :

    h o s t = h o s t s . c r e a t e h o s t ( machine )p r o f i l e = Fedora17x86 64 t i m e o u t = 3600h o s t . m a c h i n e i n s t a l l ( p r o f i l e=p r o f i l e ,

    t i m e o u t=t i m e o u t )at = a u t o t e s t r e m o t e . A u t o t e s t ( h o s t )at . run ( c o n t r o l )

    j o b . p a r a l l e l s i m p l e ( run , machines )

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Limitations: Embedded

    Lots of autotest were designedwith Intel in mind:

    Machine provisioning

    Boot selection Serial Console Help needed to implement

    embedded

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Limitations: Embedded

    Lots of autotest were designedwith Intel in mind:

    Machine provisioning Boot selection

    Serial Console Help needed to implement

    embedded

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Limitations: Embedded

    Lots of autotest were designedwith Intel in mind:

    Machine provisioning Boot selection Serial Console

    Help needed to implementembedded

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Limitations: Embedded

    Lots of autotest were designedwith Intel in mind:

    Machine provisioning Boot selection Serial Console Help needed to implement

    embedded

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    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] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    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] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    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] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    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] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Roadmap

    What now?

    Advanced machinescheduling

    Evolve RPC applications API for automated bisecting Better support for

    embedded/SoCs

    You all are welcome to help

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Roadmap

    What now?

    Advanced machinescheduling

    Evolve RPC applications

    API for automated bisecting Better support for

    embedded/SoCs

    You all are welcome to help

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Roadmap

    What now?

    Advanced machinescheduling

    Evolve RPC applications API for automated bisecting

    Better support forembedded/SoCs

    You all are welcome to help

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Roadmap

    What now?

    Advanced machinescheduling

    Evolve RPC applications API for automated bisecting Better support for

    embedded/SoCs

    You all are welcome to help

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Roadmap

    What now?

    Advanced machinescheduling

    Evolve RPC applications API for automated bisecting Better support for

    embedded/SoCs

    You all are welcome to help

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Questions?

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

  • OutlineIntroduction

    AutotestDemo

    Roadmap

    Resources and contact

    http://autotest.github.com irc://irc.oftc.net/#autotest [email protected] [email protected] Autotest mailing list ([email protected])

    Lucas Meneghel Rodrigues [email protected] Assembling a kernel test grid with autotest

    IntroductionAutotestDemoRoadmap