package list generator gains drop list generation

The new pkglistgen.py, used by Leap 15.0 gained integration of the drop list generator which adds weakremover(package_name) to the openSUSE-release package to cleanup packages that were provided in previous Leap releases, but are no longer available. The initial batch of changes was fairly significant. The release corresponding to the packages that are no longer provided can be seen as comments in 000product/obsoletepackages.inc. With the drop list integrated the last piece to the upgrade puzzle should be in place and the openQA upgrade tests should be satisfied.

Additionally, as part of the drop list integration a set of functions for determining projects within a product family were added which should be useful for abstracting leaper.py to avoid hard-coding potential request project sources.

Tumbleweed snapshots: update and Mesa postmortem usage

Up until now I had been watching over the snapshotting process manually to gauge when to trigger the full snapshot and ensure things worked properly. Part of the reason was still having to rely on a non-stage.opensuse.org mirror and ensuring the mirror was fully in-sync before snapshotting. After observing the process I went ahead and added a two-phase update mechanism as had been my intention. When a new snapshot is detect the meta-data and redirection rules are immediately updated, but the actual snapshotting is delayed by 4 hours. This allows end-users to immediately begin using the latest snapshot since it will redirect to the mirror network even though the files have not been snapshotted.

Unfortunately, I discovered AWS S3 static website hosting has a limit of 50 redirection rules which therefore limits the number of snapshots to 50 as well. As such a count limiter was added to the expiration routine and the first snapshot 20171115 was removed. Going forward a rolling 50 snapshots will be kept unless proper openSUSE hosting is provided which can use a different redirection mechanism without the limit.

As many of your are likely aware Mesa 18.0.0-rc3 caused quite some issues for Tumbleweed users due to on disk cache corruption issues. As part of the postmortem Tumbleweed snapshots were used to compare released versions of Mesa to verify assumptions and behaviors of Mesa to aid in fully resolving the problem upstream.

leaper no longer requires maintainer review for Factory submissions

Based on feedback from maintainers the leaper bot will no longer require maintainer review for automated submissions from Factory to Leap. Expect this to be deployed early next week.

request splitter grouping by hashtag

An interesting use-case of the request splitter grouping functionality the CaaSP staging master inquired about allowing submitters to place a hashtag, or similar, in request descriptions which could be used to group them together in a single staging. Given the flexible nature of the request splitter the capability already exists so it was added as an example in the documentation. It may also make sense to create a strategy to look for certain hashtags and automatically group in such a manor.

osc staging select --filter-by 'contains(description, "#Portus")'

repo checker improving turnaround time

One of the goals in making comments on devel packages was to notify maintainers of problems that made it past the staging process and to hasten providing a fix. Obviously, the preference being the problems never make it past staging, but given the nature of the process this cannot be guaranteed. Through observation of the comments made by the repo checker and the corresponding problems being removed from the overall list of issues one can observe some rather fast turnaround times (adding to metrics.o.o would be interesting). One such example can be seen with the cinnamon package which had the fix already accepted into Factory by the time a user reported the problem. Certainly an encouraging result and much thanks to the maintainer.

last year

A variety of long-standing bugs and feature requests were handled with regards to factory-auto.

  • #673: source-checker: handle add/remove changes files for patch diff check.
    • packages with multiple subpackages and .changes files would cause error when removing a .changes files
  • #679: check_tags: warn when issue references are removed (plus other fixed)
    • the existing code was backwards among other things
  • #682: check_source: allow self-submission.
    • allows for reverting a package by submitting a previous revision of itself

On a related note the underlying ReviewBot code was refactored to improve re-use.

  • #684: ReviewBot: refactor leaper comment from log functionality.
    • layed the ground-work for a many future improvements to ReviewBot comment handling
  • #685: ReviewBot: use super().check_source_submission() in subclasses.

The request splitter saw a number of bug fixes post-porting and follow-ups to ported behavior.

  • #662: Remove source devel project check carried over from flawed adi logic
  • #674: request_splitter: delete requests should always be considered in a ring.
  • #676: request_splitter: house keeping (and fix for SLE [non-ring] workflow)
  • #681: adi: map wanted_requests to str() before passing to splitter.

A major performance improvement was made to the staging tools along with documentation improvements and a link to the staging dashboard to increase visibility to submitters.

  • #654: stagingapi: Avoid search/package query to determine devel project.
  • #683: stagingapi: update_status_comments() include link to dashboard.
  • #686: osc-staging: add missing documentation and correct/clean existing

The issue diffing tool, for reporting issues fixed in SLE that have not yet been merged into Factory, was enhanced to inteligently pick a user to which to assign the auto-generated bugs.