Tapper @ FLOSS-weekly

Shameless plug.

We (renormalist & caldrin) were invited to Randal Schwartz' FLOSS-weekly to talk about Tapper - The all-embracing test infrastructure.

So have a look and learn what my favorite language and editor is... :-)


Tapper repositories moved

To all who follow us on github: The Tapper repositories are moved from http://github.com/amd to http://github.com/tapper. Please adapt your "follow subscriptions".

Tapper is an all-embracing test infrastructure, see http://tapper.github.com/Tapper.

Currently we (renormalist and Caldrin) work on a more out-of-the-box usage based on the raw CPAN modules, to minimize the necessi…

Tapper release 4.1 "Cagney & Lacey"

Lacey: Looks like a young Omar Sharif.
Cagney: He's got crooked teeth.
Lacey: You know, Christine, you're very critical. That's your trouble with men. You want them all to be perfect.
Cagney: No, I just have a thing about teeth.

-- Cagney & Lacey, "Let Them Eat Pretzels" (1983)

Tapper release 4.1 codename "Cagney & Lacey"

We just finished a new release of "Tapper", our all-embracing test infrastructure, used for Linux and virtualization testing in the OSRC and the infrastructure behind Perl::Formance.

Changelog for this release:


  • refactoring to also work with PostgreSQL


  • scheduler 10x speedup
  • host blacklisting per queue
  • beginning Cobbler support


  • CLI command harmonization


  • migrated to POD for maintainability
  • complex precondition and testplan examples


  • overall cleanup to sync with upstream technologies
    • autotest 0.14.x
    • Perl 5.16
    • Catalyst 5.9


Kudos as usual to the CPANTESTERS infrastructure which allows us to test over a wide variety of platforms.

Kind regards,

Tapper release "Columbo"

From now on we try to regularly post release announcements of our Tapper test infrastructure here.

For now let's start with the latest release. It actually happened in May 2012 but we had some polishing cycles to get the CPANTESTERS matrix green. Thanks to the CPAN testers people for helping us there. The rest was quite the usual amount of work thet made me forget the announcement.

Here we go:

  • She's mad at everybody. She's even mad at the ice cream man. "Why does the ice cream truck have to come just before lunch or just before dinner, spoil the children's appetite?" I have to listen to that. I hear that 3 time a week, you know that's 12 times a month.

    Columbo, "The Most Crucial Game" (1972)

Tapper release 4.0 codename "Columbo" 2012-05


  • better linux32 chroot/exec support
  • persistent automation layer, based on event-queues (Tapper::MCP, Tapper::MCP::MessageReceiver)
  • introduce SSH-connect to test without complete machine setup
  • support suspend/resume testing; via abstract central 'actions' to be called from remote clients (Tapper::Action)
  • conditionally trigger notifications on incoming results (Tapper::Notification)
  • keep-alive mechanics for broken hosts
  • much better scriptability everywhere to support strangest requirements
  • reworked TaskJuggler/Testplan bridge (Tapper::Testplan)


  • Tapper-autotest wrapper:
  • now send+upload virtually all result details+files
  • allow use snapshots to not suffer from upstream changes
  • Tapper-autoreport: better virtualization support (probably the world's current best Xen/KVM host/guest detection heuristics, really)
  • better Perl::Formance benchmarking integration

Reports database

  • store attachments bzip2 compressed (optionally compress already existing attachments)

Reports API

  • allow passthrough of incoming results to 3rd party applications (e.g. extract benchmark results and pass them along them to external graph rendering - aka. "level 2 receivers")
  • more robust TAP::Archive support

Query API

  • easier attachment downloading
  • QueryAPI now available in testplan template to allows generate testruns based on older results (think of "use last successful aka. known-good Xen changeset for another complicated test")


  • user authentication (via PAM)
  • reworked filter framework
  • better show current scheduling state
  • configurable site customizations for non-OSRC instances


  • new frontend tool 'tapper'
  • more subcommands for user/notification/testplan handling
  • testplan development support


  • better configurable control over grub entry writing
  • utils to fake/test the automation layer (Tapper::Fake)

Hacking on Tapper

  • we now use Dist::Zilla to author Perl libs
  • plugins:
    • Dist::Zilla::PluginBundle::AMD
    • PodWeaver::PluginBundle::AMD
    • Task::BeLike::AMD


  • We currently work on big speed enhancements and PostgreSQL support.