We need statistical analysis and key performance indicators to describe the lifetime of maintenance and release requests in IBS, for example:

  • How long does an update take starting from the time the first maintenance request is created and stopping at the time the update is released to customers?

  • How long does it take for a maintenance request to pass all required reviews?

  • How often do reviews succeed or fail, respectively?

  • How long does it take to create a release request after a maintenance incident has been created?

  • How do these values look, on average, across different code streams?

  • What is the absolute number of requests opened (or closed) in a given time period (per code stream)?

This information is particularly important for the Emergency Updater Team, which defines success and failure partly through the time it takes to release an update to customers.

Almost all of that information is available in IBS (OBS) in one way or another, but it is hard to retrieve the data in a format that's easy to analyze.

The aim of this Hackweek project is to remedy that issue by writing one or several tools that query IBS/OBS and generate a relational database in Sqlite3 or MySQL that contains all necessary information for further analysis with standard tools, like R, scripting languages, or spread sheets in a simple format (schema). The focus of this effort would be to support build.suse.de (IBS), but we assume that supporting build.opensuse.org (OBS) as well will be feasible, if not even trivial.

There is a relevant FATE issue at https://fate.suse.com/319971 that we'll need to take into consideration.

This project was initially discussed during the MaintSec 2016 workshop, and most of the original notes are still available at https://etherpad.nue.suse.com/p/TeamSaturn. Since then, some research and experimentation has taken place under the umbrella of https://redmine.nue.suse.com/issues/5785 and https://redmine.nue.suse.com/issues/4276.

Looking for hackers with the skills:

obs buildservice

This project is part of:

Hack Week 15

Activity

  • about 8 years ago: vitezslav_cizek liked this project.
  • about 8 years ago: tgoettlicher joined this project.
  • about 8 years ago: tgoettlicher liked this project.
  • about 8 years ago: osukup joined this project.
  • about 8 years ago: hennevogel liked this project.
  • about 8 years ago: hurhaj liked this project.
  • about 8 years ago: osukup liked this project.
  • about 8 years ago: psimons added keyword "obs" to this project.
  • about 8 years ago: psimons added keyword "buildservice" to this project.
  • about 8 years ago: pluskalm liked this project.
  • about 8 years ago: psimons started this project.
  • about 8 years ago: psimons originated this project.

  • Comments

    • hennevogel
      about 8 years ago by hennevogel | Reply

      Nice project! You are aware that the BS-Team has implemented the data gathering part of this feature? It's not yet in production but it's on the way -> Pull Request #2507

      BTW if you want to do this inside the OBS and not with an external tool I would be interested in introducing you to OBS development and helping you during hackweek. Let me know :-)

    • leonardocf
      about 8 years ago by leonardocf | Reply

      You might find https://gitlab.suse.de/maintenance/pymaint useful

    Similar Projects

    Implement a full OBS api client in Rust by nbelouin

    Description

    I recently started to work on tooling for OBS using rust, to do so I started a Rust create to interact with OBS API, I only implemented a few routes/resources for what I needed. What about making it a full fledged OBS client library.

    Goals

    • Implement more routes/resources
    • Implement a test suite against the actual OBS implementation
    • Bonus: Create an osc like cli in Rust using the library

    Resources

    • https://github.com/suse-edge/obs-tools/tree/main/obs-client
    • https://api.opensuse.org/apidocs/


    Learn about OSB and contribute to `kustomize` and `k9s` packages to add ARM arch by dpock

    Description

    There are already k9s and kustomize packages that exist for openSUSE today. These could be used as the source for these binaries in our rancher projects. By using them we would benefit from CVE fixes included in our distribution of the packages not in cluded upstream. However they are not providing arm package builds which are required.

    Goals

    • [ ] Update the kustomize package in OBS to use the newest version and send change request

    Resources

    • k9s: https://build.opensuse.org/package/show/openSUSE:Factory/k9s
    • kustomize: https://build.opensuse.org/package/show/openSUSE:Factory/kustomize
    • Learning Docs: https://confluence.suse.com/display/packaging/Training%2C+Talks+and+Videos


    Research openqa-trigger-from-obs and openqa-trigger-from-ibs-plugin by qwang

    Description

    openqa-trigger-from-obs project is a framework that OSD is using it to automatically sync the defined images and repositories from OBS/IBS to its assets for testing. This framework very likely will be used for the synchronize to each location's openqa include openqa.qa2.suse.asia Beijing local procy scc scc-proxy.suse.asia(although it's not a MUST to our testing) it's now rewriting requests to openqa.qa2.suse.asia instead of openqa.suse.de, the assets/repo should be consistent the format Beijing local openQA is maintaining an own script but still need many manually activities when new build comes, and not consistent to OSD, that will request many test code change due to CC network change

    Goals

    Research this framework in case it will be re-used for Beijing local openQA, and will need to be setup and maintained by ourselves

    Resources

    https://github.com/os-autoinst/openqa-trigger-from-obs/tree/master https://gitlab.suse.de/openqa/openqa-trigger-from-ibs-plugin

    beijing :rainbow machine


    Learn obs/ibs sync tool by xlai

    Description

    Once images/repo are built from IBS/OBS, there is a tool to sync the image from IBS/OBS to openqa asset directory and trigger openqa jobs accordingly.

    Goals

    Check how the tool is implemented, and be capable to add/modify our needed images/repo in future by ourselves.

    Resources

    • https://github.com/os-autoinst/openqa-trigger-from-obs
    • https://gitlab.suse.de/openqa/openqa-trigger-from-ibs-plugin/-/tree/master?ref_type=heads


    Automation of ABI compatibility checks by ateixeira

    Description

    ABI compatibility checks could be further automated by using the OBS API to download built RPMs and using existing tools to analyze ABI compatibility between the libraries contained in those packages. This project aims to explore these possibilities and figure out a way to make ABI checks as painless and fast as possible for package maintainers.

    Resources

    https://github.com/openSUSE/abi-compliance-checker

    https://github.com/lvc/abi-compliance-checker

    https://sourceware.org/libabigail/