From Fedora Project Wiki

No edit summary
(24 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= What is ResultsDB =
== What is ResultsDB ==


ResultsDB is a database, in which we'll store results of tests executed by the AutoQA framework.
ResultsDB is a system designed to hold the results of tests executed by the Taskotron framework.


== Motivation behind ResultsDB ==
ResultsDB is only a system for storing test results, different 'frontend' apps can be created using ResultsDB as a data source. These frontends could be anything from a simple tool aggregating recent results for builds, or anything more complicated like a tool for gathering test-related metrics (historical fail/pass ratio of a specific test in a Fedora release, failure rate of critpath packages etc.).


At the moment, all the results are stored on the autoqa-results mailing list [1]. Although this is not really a bad system for storing the results, searching for some particular result (even as simple query as "All results for foobar-1.3-fc15") is not really comfortable. ResultsDB's main purpose is not really to store the data, but to provide easy access to the results via some simple querying API.
== Current state ==


This means, that using the ResultsDB as dabase backend, many 'frontends' can be created. Be it simple tools which will just aggregate most recent results for specified package (maybe a table inside koji/bodhi info pages), some statistical tool for gathering fail/pass ratio of *insert test name of your choice* for given Fedora release, etc.
At the moment, there are two versions of ResultsDB.
* Legacy version - first incarnation of ResultsDB, still required for tools like TestDays App, or AutoQA <https://fedorahosted.org/ResultsDB/>.
* Current development version - intender for the Taskotron project. Reimplemented to provide JSON/RESTful api, and quite slimmed down, in order to remove the relics from the primary draught.


= Current state =
== Current development version ==


From development point of view, there is quite well-defined database schema [2], 'input' API [3], and proof-of-concept TurboGears2 application [4], implementing these two.
The project is split into these parts:
* ResultsDB core <https://bitbucket.org/fedoraqa/resultsdb>, which is the implementation of the datastore, and the API provider.
* ResultsDB Client Library <https://bitbucket.org/fedoraqa/resultsdb_api> providing the easy-to-use python implementation of the ResultsDB API, described here <http://docs.resultsdb.apiary.io/>
* ResultsDB Frontend <https://bitbucket.org/fedoraqa/resultsdb_frontend> - a simple frontend intended for browsing the results via web interface.


I have also started to work on a proof-of-concept frontend [5], which will allow us to create test plans (like Package Update Acceptance Testplan [6]), using mediawiki pages to define the testplan's requirements [7], [8] (this will be covered in more detail further in the text).
[[Category:ResultsDB]]
 
 
= Links =
 
* [1] https://fedorahosted.org/pipermail/autoqa-results/
* [2] https://fedoraproject.org/wiki/AutoQA_resultsdb_schema
* [3] https://fedoraproject.org/wiki/AutoQA_resultsdb_API
* [4] https://www.assembla.com/code/resultsdb/git/nodes?rev=devel
* [5] https://www.assembla.com/code/resultsdb_puatp/git/nodes?rev=master
* [6] https://fedoraproject.org/wiki/QA:Package_Update_Acceptance_Test_Plan
* [7] http://fedoraproject.org/wiki/QA:Test_Plan_Metadata_Test_Page
* [8] https://fedoraproject.org/wiki/User:Jskladan/Sandbox:Package_Update_Acceptance_Test_Plan_Metadata

Revision as of 13:22, 25 June 2014

What is ResultsDB

ResultsDB is a system designed to hold the results of tests executed by the Taskotron framework.

ResultsDB is only a system for storing test results, different 'frontend' apps can be created using ResultsDB as a data source. These frontends could be anything from a simple tool aggregating recent results for builds, or anything more complicated like a tool for gathering test-related metrics (historical fail/pass ratio of a specific test in a Fedora release, failure rate of critpath packages etc.).

Current state

At the moment, there are two versions of ResultsDB.

  • Legacy version - first incarnation of ResultsDB, still required for tools like TestDays App, or AutoQA <https://fedorahosted.org/ResultsDB/>.
  • Current development version - intender for the Taskotron project. Reimplemented to provide JSON/RESTful api, and quite slimmed down, in order to remove the relics from the primary draught.

Current development version

The project is split into these parts: