Project

General

Profile

Actions

tickets #162092

open

Prepare openSUSE:infrastructure* for 15.6

Added by crameleon 6 months ago. Updated 5 months ago.

Status:
Workable
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
2024-06-11
Due date:
% Done:

0%

Estimated time:

Description

Add a build target for 15.6 to all our OBS projects and repair any resulting build failures.


Checklist

  • Repair minimal VM Kiwi build
  • Repair container builds
  • Repair Helios build
  • Repair Kanidm build

Related issues 1 (1 open0 closed)

Precedes openSUSE admin - tickets #162326: Leap 15.6 upgrade diaryBlockedcrameleon2024-06-12

Actions
Actions #1

Updated by crameleon 6 months ago

  • Private changed from Yes to No
Actions #2

Updated by crameleon 6 months ago

  • Status changed from New to In Progress
  • added to all projects except for o:i:redmine => requires 15.6 in devel:languages:ruby:extension first, asked in #opensuse-factory
  • asked @dimstar regarding home:dimstar:hw19 (used on osc-collab.i.o.o) => should move to a subproject of o:i to comply with our policy and to allow for inclusion in our process
  • created o:i:Images:15.6 for new Kiwi build
Actions #3

Updated by crameleon 6 months ago

  • Checklist item Repair minimal VM Kiwi build added
Actions #6

Updated by crameleon 6 months ago

  • Checklist item Repair container builds set to Done

Containers repaired.

Actions #7

Updated by crameleon 6 months ago

Actions #8

Updated by crameleon 6 months ago

  • Checklist item Repair Kanidm build added

Kanidm is not shipped with Leap 15.6, linked from Factory to o:i, but build against Leap fails:

https://build.opensuse.org/package/live_build_log/openSUSE:infrastructure/kanidm/15.6/x86_64

Actions #9

Updated by crameleon 6 months ago

Actions #10

Updated by crameleon 6 months ago

  • Checklist item Repair Kanidm build set to Done

Kanidm build worked around, details in #162326.

Actions #11

Updated by crameleon 6 months ago

  • Checklist item Repair minimal VM Kiwi build set to Done
  • Assignee set to crameleon

VM image is building now, required commenting out the <keytable> setting (I assume some required files are no longer shipped by default or included in a package no longer pulled in by another package) and removing the removal of /var/lib/systemd/random-seed (file does not exist albeit being owned by udev, maybe Kiwi takes care of removing it now or it is only created through some logic during first boot now?).

Actions #12

Updated by crameleon 6 months ago

Helios requires three packages no longer shipped with 15.6:

  nothing provides python3-django-webtest
  nothing provides python3-django-picklefield
  nothing provides python3-validate_email

I linked these from devel:languages:python:backports to openSUSE:infrastructure:helios.opensuse.org. Unfortunately, django-pytest down in the chain now only builds against Python 3.11 (I tried building it against 3.6 by removing sle15_python_module_pythons, but it failed) but we use Helios on the system Python stack (3.6). I then linked an old version from openSUSE:Backports:SLE-15-SP5, but it fails to build, with the test suite complaining about the missing sqlite3 module:

[   22s] ImportError: Module 'sqlite3' is not installed.
[   22s] Use:
[   22s]   sudo zypper install python36
[   22s] to install it.

There does not seem to be a package for it at all and the suggestion to install Python, well, there is Python, otherwise Pytest wouldn't run at all. ;-)

Skipping all the tests needing sqlite3 would require lots of decoration, I then patched python-pytest-django and python-django-webtest to not run any tests, which brought the effort a bit further, but now there's python-picklefield and python-validate_email again only building against 3.11.

I think we are better off switching the Helios stack to 3.11.

Actions #13

Updated by crameleon 5 months ago · Edited

Attempted to build helios-server against Python 3.11 (using sle15_python_module_pythons):

  • many dependencies exist in 15.6 backports, but do not have sle15_python_module_pythons in their .spec file yet - after linking various newer versions to o:i:elections.o.o the chain was found to be too big -> settled with building against devel:languages:python:backports directly (which is not ideal, as it requires adding that at runtime as well, but also not terrible)
  • python-boto no longer exists, not sure if python-boto3 would work
  • python-oauth2client no longer exists, removed from factory with log entry "deprecated upstream, no users" (no users, very funny)
  • python-rollbar missed sle15_python_module_pythons in d:l:p:bp, submitted as https://build.opensuse.org/request/show/1187338
  • python-django-webtest misses sle15_python_module_pythons in d:l:p:bp, but so do many of the dependencies in its chain - would require lots of patches - can be worked around by patching out the WebTest class in Helios
  • python-Django in d:l:p:bp is too new (Helios requires 2.2.24, we are already at 5.x) -> linked 2.x from 15.5 backports and patched to build with Python 3.11, but various tests fail (unsure how serious, but likely not a good idea to just patch out)
Actions #14

Updated by crameleon 5 months ago

  • Status changed from In Progress to Workable
Actions

Also available in: Atom PDF