2017 was a busy year for the Bodhi project. This post explains a bit about what Bodhi does, highlights, and goals for 2018.

Wait, what is Bodhi?

Bodhi is designed to democratize the package update testing and release process for RPM-based Linux distributions. It provides an interface for developers to propose updates to a distribution, and an interface for testers to leave feedback about updates through a +1/-1 karma system.

Bodhi’s main features are:

  • Provides an interface for developers and release engineers to manage pushing out package updates for multiple distribution versions.
  • Generates pre-release test repositories for end users and testers to install proposed updates.
  • Gives testers an interface to leave feedback about package updates, leading to higher quality package updates.
  • Announces the arrival of new packages entering the collection.
  • Publishes end-user release notes known as errata.
  • Generates yum repositories.
  • Queries ResultsDB for automated test results and displays them on updates.

Highlights for Bodhi in 2017

A lot of things happened in 2017 in Bodhi. Here are the highlights.

Support for other content / packages apart from RPMs & ISOs

This increases Bodhi’s workflow from just RPMs / ISOs. Meaning, if it can be tagged in Koji, it can be Accepted in Bodhi.

For more details, visit this wiki or this issue.

Bodhi-Client command-line interface

Bodhi-Client for the command-line-interface was reworked for better usability. The Bodhi CLI was not only reworked and brought to feature parity with Bodhi 0.9 CLI, but some new features were added as well.

For more details visit this and this pull request.

Increase in Line Test coverage

Improvement in line test coverage went from 81% to 93% within the year. Bodhi development branch line test coverage already at 95%. The project aims for 100% completion in the next 12 months.

For more details, see these pull requests.

 

Theming Web UI

The Web UI currently features counters on the homepage – also the Web UI was themed to fedora-bootstrap. It’s more usable – the information you want to see when viewing an update is right at the top.

For more details visit this pull request and this

Updates can be batched/readied ahead of time.

This means updates that are readied or meet the stability requirement have a place to sit. In other words, they can be uploaded ahead of the next weekly batch push. This also means Updates can go out immediately when the Karma threshold is reached. This also means that non-critical updates can be released once a week, on Tuesdays, giving end users less update churn. For more details, read this mailing list thread and this pull request.

Top goals for Bodhi 2018

It has been a good year for the Bodhi team and project. However, some features did not make it this year but are scheduled for completion or integration next year.

  1. Integrating with Greenwave for Continuous Integration testing and gating
    1. It’s an almost completed goal, it was completed later this year but had to be turned off due to stability issue. For more detail, read this wiki page.
  2. Currently supports Modularity but modular-server is not ready, it is not used but is fully supported. Modularity support in Bodhi for release f27 delayed to releasef28.
    1. For more details, read this milestone, etherpad#1, etherpad#2 and issue.
  3. Support of Containers
    1. While Bodhi adds support for packages other than RPMs & ISOs, it currently does not support containers. The support for containers is being scheduled for 2018
    2. For more details, read this project overview

Conclusion

Regardless the past year has been good, if not great, for Bodhi and its team of contributors. The comprising contributors have made super progress and in no particular order are…

This list does not do justice to the numerous contributors who made pull requests, created issues and helped with Bodhi in every way. Thanks for your Contributions and Involvement & See you in 2018!