Beaker Project

automated Testing at red hat

 

Tomas Klohna

Product Owner

What is beaker solving?

What is beaker solving?

Unified testing platform for quality engineers

Support for alternative architectures

hardware filtering

Full-stack testing (metadata > user level)

Result & log collection

complex multi-system test scenarios

Common testing harness - restraint

Inventory management

Inventory management

machine details

Inventory management

Machine history

Inventory management

Access control

Inventory management

hardware pool filtering

Scheduling

Scheduling

JobS & RECIPES

Job

Recipe set

Recipe set

Recipe

Recipe

Recipe

Recipe

TASKS

TASKS

TASKS

TASKS

Scheduling

Job Content

  • XML

<job>
  <whiteboard>Example Job</whiteboard>
  <recipeSet priority="Normal">
    <recipe>
      <distroRequires/>
      <hostRequires/>
      <task name="Task example"/>
    </recipe>
  </recipeSet>
</job>
  • General info

  • Linux distribution

  • Host Filter

  • Tasks

<whiteboard>Example Job</whiteboard>
<partitions>
  <partition type="part" name="var/tmp" fs="xfs" size="25" />
</partitions>
<recipeSet priority="Normal"></recipeSet>
<packages>
  <package name="emacs"/>
  <package name="vim-enhanced"/>
</packages>
<distroRequires>
  <distro_arch op="=" value="ppc64"/>
  <distro_variant op="=" value="Server"/>
  <distro_name op="=" value="RHEL-8"/>
  <distro_method op="=" value="nfs"/>
</distroRequires>
<hostRequires>
  <and>
    <system_type op="=" value="Machine"/>
    <device op="=" type="network" description="Extreme Gigabit Ethernet" />
  </and>
</hostRequires>
<task name="/distribution/check-install" role="STANDALONE"/>

<task name="Boot test" role="STANDALONE">
  <fetch url="https://remotegit.repo"/>
</task>

<task name="Kernel Header Sanity Test" role="STANDALONE">
  <fetch url="https://remotegit.repo"/>
    <params>
      <param name="KILLTIMEOVERRIDE" value="600"/>
    </params>
</task>

Provisioning

Provisioning

Process

Beaker Server

Lab Controller

Machine A

Machine Pool

1. GEnerate PXE ConFIG

2. Power ON

3. Fetch PXE Config

4. initial Boot

5. installation complete

6. reboot

TESTING

TESTING

testing harness - restraint

tasks

task environment

Result reporting

multi-host support

virtual guests

watchdogs

RESULT & LOG COLLECTION

RESULT & LOG COLLECTION

1

3

4

2

How can you contribute

How can you contribute

Project Locations

Contact

Beaker

github.com/beaker-project

beaker-project.org

& restraint

Public

Private

beaker-devel@lists.fedorahosted.org

developers@beaker-project.org

discussions?

tklohna@redhat.com

questions?

THANK YOU!

Beaker Project: Automated Testing at Red Hat

By Tomas Klohna

Internal

Beaker Project: Automated Testing at Red Hat