Skip to content

Commit

Permalink
changelogs for initial 3.0 and 4.0 version
Browse files Browse the repository at this point in the history
  • Loading branch information
renormalist committed Aug 24, 2012
1 parent 24ddc06 commit 48d50d7
Show file tree
Hide file tree
Showing 2 changed files with 200 additions and 0 deletions.
118 changes: 118 additions & 0 deletions Changes-3.0.md
@@ -0,0 +1,118 @@
## Tapper release 3.0 2011-03-02 (first public release)

Tapper is an infrastructure for all aspects of testing inclusive
Operating Systems and Virtualization.

## Tapper contains

* Automation
* Machine Scheduling
* Command line utils
* Web Frontend application
* Support for writing tests
* Powerful result evaluation API
* Testplan support with TaskJuggler
* Many use-cases from tracking test results to benchmarking to full OS testing including virtualization

## Feature overview

### Automation

* Network boot (PXE + TFTP + NFS)
* Machine self-setup driven by abstract specfiles
* Image-based or kickstart/autoyast based installation
* Lightweight status API to easily plug in foreign installers
* Support for virtualization setups (Xen and KVM)
* Inject packages, programs, files into hosts/guests
* Control execution of test scripts in hosts/guests
* Interdependent setup and sync of co-operating machines
* Complex timeout handling for complete test cycle, inclusive virtualizated guest
* Reboot handling
* Console logging
* Hardware reset

### Scheduling

* Optimize utilization of pools with "not enough" machines for "too many use-cases"
* Multiplex queues of freely definable use-cases (e.g., Xen, KVM, baremetal kernels, ad-hoc tests, benchmarks) with different bandwidths
* Pluggable core scheduling algorithm (default "Weighted Fair Queuing")
* Feature driven host matching (by memory, cores, vendor, etc. or complex combinations)
* Dynamic queue and host management (add, delete, de/activate)
* Host/queue binding for dedicated scheduling
* Auto re-queuing for continuous testing
* Multi-host scenarios

### Web Application

* Frontend to 2 databases: testruns and reports
* Providing a "management view" and high-level test result evaluation
* Overview lists and detailed zoom-in, GREEN/YELLOW/RED coloring
* Filters over time, testsuites, machines, success status
* RSS feeds on such filters
* Visualize groups of connected results (virtualized neighbour guests)
* Control start of testruns

### Result Evaluation

* Programmable complement to the web frontend
* Allow complex queries on the test result database
* No client side toolchain neccessary
* Easy API to send and get back queries embedded in templates
* API allows SQL and XPath like queries in an abstract way
* Presentation about the query interface at the YAPC::Europe 2009

### Testplan Support

* Testplans combine many Tapper features into concise points of interest
* Manage testplan hierarchy allowing specfile reuse for complex testplan matrix
* Interoperation with TaskJuggler on dedicated QA tasks for automatic scheduling and reporting
* Consequently a complete focused QA life cycle of planning, execution and reporting

### Support for writing tests

* Format test results based on standard Test Anything Protocol (TAP)
* Existing standard TAP toolchains available for about 20 programming languages
* Dedicated Tapper support for Shell, Perl, Python available

### Many use-cases

* Kernel testing (stress, function, reboot)
* Virtualization Testing (Xen, KVM)
* Test matrix of host/guest combinations
* Distribution testing (like OS or compilers)
* Multi-machine scenarios
* Complex result evaluation

### Technology

* Test Anything Protocol (TAP)
* Core system written in Perl and CPAN
* DB independent via OR mapper, developed on MySQL and SQLite
* HTML/CSS, cautious Javascript
* Language agnostic testing (e.g, Perl/Python/Shell test suites)
* PXE, GRUB, TFTP, NFS boot automation
* Strong decoupling of functional layers (webgui, testsuites, automation) to allow you amalgamate own infrastructures

## Correlation to autotest.kernel.org

The main focus of autotest.kernel.org project is on testing the Linux
kernel. It provides a broad coverage of kernel functionality testing
and wrappers of many existing test suites.

Tapper provides many complex scenarios, like virtualization (Xen/KVM),
distribution testing (RHEL, SLES, Debian), SimNow testing and
benchmarking. Tapper can schedule them all multiplexed with according
bandwidths over large or small machine pools. The autotest.kernel.org
client can be used in a Tapper infrastructure via a thin wrapper that
utilizes the TAP export we provided to the autotest project. Tapper
then complements it with Testplan support, a result database and a
homogeneous result evaluation API. More information about Tapper:
Downloading Tapper

* https://github.com/amd
* search.cpan.org/~amd

## Tapper Support

* IRC: #tapper (irc.freenode.net)
* Mailing List: tapper@amd64.org
82 changes: 82 additions & 0 deletions Changes-4.0.md
@@ -0,0 +1,82 @@
* 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-16

### Automation

* 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)

### Testsuites

* 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")

### Web GUI

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

### CLI

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

### misc

* 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

0 comments on commit 48d50d7

Please sign in to comment.