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

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.