2022-08-29 17:05:01 +02:00
|
|
|
kerneltest
|
|
|
|
==========
|
|
|
|
|
|
|
|
Purpose
|
|
|
|
-------
|
|
|
|
|
|
|
|
This investigation's goal is to address tech debt of kerneltest application.
|
|
|
|
kerneltest applications is used by Fedora QA for submitting test logs for
|
|
|
|
kernel builds in Fedora. It also provides web interface for users to access
|
|
|
|
and upload logs.
|
|
|
|
Currently there is a partial rewrite v2 in repository, which is not functionality
|
|
|
|
complete and was never released.
|
|
|
|
|
|
|
|
Resources
|
|
|
|
---------
|
|
|
|
|
|
|
|
* kerneltest repo: https://github.com/jmflinuxtx/kerneltest-harness
|
|
|
|
* kerneltest web: https://apps.fedoraproject.org/kerneltest/
|
|
|
|
* kerneltest ansible: https://pagure.io/fedora-infra/ansible/blob/main/f/roles/kerneltest
|
|
|
|
* kerneltest wiki: http://fedoraproject.org/wiki/KernelTestingInitiative
|
|
|
|
|
|
|
|
Requirements
|
|
|
|
------------
|
|
|
|
|
|
|
|
* Be able to upload logs anonymously, authenticated, super user
|
2022-09-02 11:49:26 +01:00
|
|
|
* Superuser should use api token or similar(no password login required)
|
2022-08-29 17:05:01 +02:00
|
|
|
* Be able to view logs on front page showing super user ones
|
|
|
|
* When clicking on the release it should show all logs for a release
|
|
|
|
* Stats: https://apps.fedoraproject.org/kerneltest/stats (currently stored in postgres)
|
|
|
|
* Logs needs to be saved in persistent volume
|
|
|
|
* Send Fedora Messages for badges
|
|
|
|
* Size limitation on the uploaded logs (currently hardcoded in code)
|
2022-09-05 12:57:52 +02:00
|
|
|
* Documentation
|
|
|
|
* OpenShift deployment
|
2022-08-29 17:05:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
What Needs To Be Addressed?
|
|
|
|
---------------------------
|
|
|
|
|
|
|
|
* Update authentication library
|
|
|
|
* Switch CI
|
|
|
|
* fedmsg -> fedora messaging (some v2 parts could be used)
|
|
|
|
* python2 -> python3
|
|
|
|
* migration to OpenShift
|
|
|
|
* Documentation - Fedora QA has some
|
|
|
|
* Users don't receive any badges
|
|
|
|
* Update development environment
|
|
|
|
* Web interface (should be revitalized)
|
|
|
|
|
|
|
|
Investigation
|
|
|
|
-------------
|
|
|
|
|
|
|
|
Here is the list of ideas/things we discussed/looked at:
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:maxdepth: 1
|
|
|
|
|
|
|
|
rewrite_of_kerneltest_app
|
2022-09-02 11:49:26 +01:00
|
|
|
current_v1.2.1
|
2022-08-29 17:05:01 +02:00
|
|
|
continue_from_v2
|
|
|
|
enhancement_of_repository
|
|
|
|
|
|
|
|
|
|
|
|
Conclusions
|
|
|
|
-----------
|
|
|
|
|
2022-09-05 12:57:52 +02:00
|
|
|
The best approach for the kerneltest initiative will be the complete rewrite
|
|
|
|
with salvaging what could be salvaged from v1.2.1 and v2 rewrite.
|
2022-08-29 17:05:01 +02:00
|
|
|
|
|
|
|
Proposed Roadmap
|
|
|
|
----------------
|
|
|
|
|
2022-09-05 12:57:52 +02:00
|
|
|
* Step 1 - Update the development environment
|
|
|
|
* Step 2 - Rewrite the kerneltest app with tests + documentation
|
|
|
|
* Step 3 - OpenShift migration
|
|
|
|
* Step 4 - Database migration
|
2022-09-05 16:24:26 +01:00
|
|
|
|
|
|
|
Estimate of work
|
|
|
|
----------------
|
|
|
|
|
|
|
|
A complete rewrite of the backend and Openshift deployment is estimated to take
|
|
|
|
3 developers 12 weeks.
|
|
|
|
The frontend is estimated to take 3 developers 8 weeks, although it may be a
|
|
|
|
project the Fedora Websites and Apps team could consider.
|