Initial version of kerneltest ARC investigation

This is an initial version of the ARC investigation document for kerneltest
initiative.

It contains:
* index document with info, requirements for the project and what this
initiative needs to address
* repository enhancement investigation - what is missing in the repository
itself
* Complete rewrite stub - needs to be updated
* V2 reuse investigation - thorough investigation what is available in current
codebase, which wasn't released

Signed-off-by: Michal Konečný <mkonecny@redhat.com>
This commit is contained in:
Michal Konečný 2022-08-29 17:05:01 +02:00
parent 59d2375847
commit ed89fe6173
5 changed files with 171 additions and 0 deletions

View file

@ -0,0 +1,59 @@
.. _continue_from_v2:
Use v2 Code Of kerneltest Application
=====================================
There is already a work in progress rewrite of kerneltest application started by Jeremy Cline,
which was never finished. This document is investigating if this option is feasible
and we should continue on the code already written.
From meeting with Justin Forbes this code is not 100% ready, which is the reason it was never
been released.
What is in v2
-------------
* Some unit tests in `kerneltest/tests` (not covering everything,
but at least part of the code is covered) using tox
* API calls for `/api/v1/results`
* GET method to retrieve tests information
* POST method to add new test run to db
(authentication scopes doesn't seem to be set correctly)
* Sending Fedora message when adding a new test run
* Basic OIDC implementation using `flask_oidc` library
* Configuration file loading and defaults
* Forms for updating/creating release and submitting logs are in place
* Web routes implemented
* `/index`
* `/login`
* `/logout`
* `/release/<release>` - information about specific fedora release
* `/kernel/<kernel>` - information about specific kernel version
* `/results/<test_run_id>` - information about specific test
* `/upload` - test result uploading
* `/stats`
* `/admin/new` - add new release (does emit fedora message)
* `/admin/<release>/edit` - edit existing release (does emit fedora message)
* DB models for Test, TestRun and Release
What is missing in v2
---------------------
* Documentation
* No support for uploading logs yet
* Web interface revitalization
* Code itself more than 3 years old, there could be some issue with newer libraries
The Good Points
---------------
1. Not starting from scratch = less work
The Bad points
--------------
1. Make familiar with existing code = more time needed