an invention by psimons
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:
This project is part of:
Hack Week 15
Activity
Comments
-
almost 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 :-)
-
almost 8 years ago by leonardocf | Reply
You might find https://gitlab.suse.de/maintenance/pymaint useful
Similar Projects
New features in openqa-trigger-from-obs for openQA by jlausuch
Description
Implement new features in openqa-trigger-from-obs to make xml more flexible.
Goals
One of the features to be implemented: - Possibility to define "VERSION" and "ARCH" variables per flavor instead of global.
Resources
https://github.com/os-autoinst/openqa-trigger-from-obs
Fix RSpec tests in order to replace the ruby-ldap rubygem in OBS by enavarro_suse
Description
"LDAP mode is not official supported by OBS!". See: config/options.yml.example#L100-L102
However, there is an RSpec file which tests LDAP mode in OBS. These tests use the ruby-ldap
rubygem, mocking the results returned by a LDAP server.
The ruby-ldap
rubygem seems no longer maintaned, and also prevents from updating to a more recent Ruby version. A good alternative is to replace it with the net-ldap
rubygem.
Before replacing the ruby-ldap
rubygem, we should modify the tests so the don't mock the responses of a LDAP server. Instead, we should modify the tests and run them against a real LDAP server.
Goals
Goals of this project:
- Modify the RSpec tests and run them against a real LDAP server
- Replace the
net-ldap
rubygem with theruby-ldap
rubygem
Achieving the above mentioned goals will:
- Permit upgrading OBS from Ruby 3.1 to Ruby 3.2
- Make a step towards officially supporting LDAP in OBS.
Resources
obs-service-vendor_node_modules by cdimonaco
Description
When building a javascript package for obs, one option is to use https://github.com/openSUSE/obs-service-node_modules as source service to get the project npm dependencies available for package bulding.
obs-service-vendornodemodules aims to be a source service that vendors npm dependencies, installing them with npm install (optionally only production ones) and then creating a tar package of the installed dependencies.
The tar will be used as source in the package building definitions.
Goals
- Create an obs service package that vendors the npm dependencies as tar archive.
- Maybe add some macros to unpack the vendor package in the specfiles
Resources
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
Bootstrap openSUSE on LoongArch by glaubitz
Description
LoongArch is a new architecture from China which has its roots in the MIPS architecture. It has been created by Loongson and is already supported by Debian Ports, Gentoo and Loongnix.
Upstream support for LoongArch is already quite complete which includes LLVM, Rust, Golang, GRUB, QEMU, LibreOffice and many more. In Debian Ports, where the port is called "loong64", more than 95% of the whole Debian archive have been successfully built for LoongArch.
QEMU support is rather complete and stable such that packages can be built in emulated environments. Hardware can also be requested by Loongson on request for free. Access to real hardware is also provided through the GCC Compile Farm.
Goals
The initial goal should be to add LoongArch to OBS and build a minimal set of packages.
Resources
- Introduction to LoongArch: https://docs.kernel.org/arch/loongarch/introduction.html
- LoongArch community on Github: https://github.com/loongarchlinux
- Debian Ports repository for loong64: http://ftp.ports.debian.org/debian-ports/pool-loong64/main/
- Gentoo stage3 for loong: https://www.gentoo.org/downloads/#loong
Results
- An initial set of packages for openSUSE loongarch64 has been successfully bootstrapped
- An OBS project has been set up to build packages for openSUSE loongarch64 with more than 3000 packages being built already
- A work-in-progress guide on how to bootstrap a new openSUSE port from Debian has been created
- A work-in-progress guide on how to add a new target to the openSUSE toolchain has been created
Acknowledgements
- Thanks to Adrian Schröter and Rüdiger Oertl for the help with setting up the FTP space and OBS project
- Thanks to Dirk Müller for the input on how to get started with a new port
- Thanks to Richard Biener for quickly accepting my submit requests to add loongarch64 support to the toolchain