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
Superuser should use api token or similar(no password login required)
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)
Documentation
OpenShift deployment
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:
Conclusions
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.
Proposed Roadmap
Step 1 - Update the development environment
Step 2 - Rewrite the kerneltest app with tests + documentation
Step 3 - OpenShift migration
Step 4 - Database migration
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.