2022-08-29 17:05:01 +02:00
|
|
|
.. _continue_from_v2:
|
|
|
|
|
|
|
|
Use v2 Code Of kerneltest Application
|
|
|
|
=====================================
|
|
|
|
|
2023-11-16 08:02:56 +10:00
|
|
|
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.
|
2022-08-29 17:05:01 +02:00
|
|
|
|
|
|
|
What is in v2
|
|
|
|
-------------
|
|
|
|
|
2023-11-16 08:02:56 +10:00
|
|
|
- Some unit tests in `kerneltest/tests` (not covering everything, but at least part of
|
|
|
|
the code is covered) run by tox - failing with never version of libraries
|
|
|
|
- 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
|
2022-08-29 17:05:01 +02:00
|
|
|
|
|
|
|
What is missing in v2
|
|
|
|
---------------------
|
|
|
|
|
2023-11-16 08:02:56 +10:00
|
|
|
- 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
|
2022-08-29 17:05:01 +02:00
|
|
|
|
2022-08-31 10:51:59 +02:00
|
|
|
Notes
|
|
|
|
-----
|
|
|
|
|
2023-11-16 08:02:56 +10:00
|
|
|
- There is a `kerneltest/harness.py` source file in the v2. This could be ignored as
|
|
|
|
it's maintained separately and isn't part of the kerneltest application.
|
|
|
|
- The Vagrantfile introduced with v2 rewrite doesn't start with vagrant 2.2.19, see
|
2022-08-31 13:29:23 +02:00
|
|
|
https://github.com/hashicorp/vagrant/issues/12878
|
2023-11-16 08:02:56 +10:00
|
|
|
- Ansible for vagrant provisioning is missing installation of some packages for database
|
2022-08-31 13:29:23 +02:00
|
|
|
creation (python-alembic, python-toml)
|
2023-11-16 08:02:56 +10:00
|
|
|
- Ansible for vagrant provisioning doesn't create config file. Because of this creation
|
|
|
|
of the database fails
|
|
|
|
- The current state of v2 can't be even started, failing on newer version of wtforms
|
|
|
|
library
|
2022-08-31 10:51:59 +02:00
|
|
|
|
2022-08-29 17:05:01 +02:00
|
|
|
The Good Points
|
|
|
|
---------------
|
|
|
|
|
|
|
|
1. Not starting from scratch = less work
|
|
|
|
|
|
|
|
The Bad points
|
|
|
|
--------------
|
|
|
|
|
|
|
|
1. Make familiar with existing code = more time needed
|
2022-08-30 15:26:37 +02:00
|
|
|
2. Data migration will be difficult, because the db schema is too different from 1.2
|