Highlights of the OBS frontend development – Sprint 20

Here are the results the OBS frontend team has achieved in the last two weeks (2017-07-10 to 2017-07-21).

openQA

Some of you already know openQA, the automated test tool for operating systems and the engine at the heart of openSUSE's automated testing initiative. As we also release a full appliance of the Open Build Service, we started to use openQA to test these images last year. Using openQA was a great addition to our quality assurance process as we're now able to test the OBS Appliances we build with OBS. This made it for instance possible to test the whole combination of OBS packages with the software stack of (Rails, MySQL, Apache, etc.) the distribution we build against.

However, in mid of June the tests started failing and getting unreliable. As it turned out, the main reason was that the we started the appliances with only 2GB of memory in openQA. As soon as the machine reached a peak (e.g. some background job starts), it killed the OBS worker or scheduler which caused the package build test to fail. We raised the memory now to 4GB and will keep an eye on this issue.

If you're interested in our openQA tests, have a look at the OBS Group or the tests here and here

Updated SUSE sponsor logo

SUSE is one of the sponsors of our reference server. They recently changed their logo and we have updated it now.

Database import script

Nate Berkopec, a famous Ruby on Rails performance consultant, just recently tweeted: Nate Berkopec tweet

Why is that so important? Imagine that a database query works perfectly fine when your database is small in development. However, in production when your database is usually several gigabytes, this query can take several seconds and slow down your whole application. Not a very nice user experience.

A few weeks ago we also released a post mortem report about a downtime caused by a wrong data migration. As we stated out in the post mortem, one reason this happened was that we didn't test this migration with production like data before. Therefore we invested some time in this sprint to develop a script to import database dumps as easy as possible in development environment.

Analyze LDAP test cases

If you're hosting your own Open Build Service instance there are several methods to setup authentication like a local user database or a LDAP server. However, using LDAP as authentication method is currently not official supported.

As more and more of people start now to use LDAP as authentication method of choice, we decided to investigate about the current state in OBS and the quality of the tests to officially support LDAP in the near future. You can read about the result in this trello card.

Event/Notification Architecture Review

Working on the notification features in the previous sprints has turned out to be difficult with the current event and notification architecture. This sprint we've inspected our current event & notification system and researched how to improve it. As a result we wrote down 3 alternatives how we could do so in our developer wiki.