Foundations Team Updates - Thursday 2024/08/01

Previous status: Foundations Team Updates - Thursday 2024/07/25
Next status: Foundations Team Updates - Thursday 2024/08/08

1 Like

imagecraft

  • PR # 47 - Migrate to core24 and python3.12
    • Merged. Even though the bug in craft-application is not fixed, considering imagecraft is in early “alpha” we are OK to be limited running on 24.04 only.
  • PR # 51 - Make the snap able to run on systems without python3.12
    • Done, reviewed and merged. Thanks @tigarmo.
  • PR # 50 - Document imagecraft commands
    • Done, reviewed and merged.
  • PR # 53 - Make imagecraft build an image
    • WIP. Fixing several small bugs one after another to each time go a step further in the build process.
    • Also documenting how to build an image at the same time.

ubuntu-image

  • GPT header handling
    • PR # 230 - GPT header rework - Refacto 3
      • Reviewed by @mwhudson.
      • Comments addressed.
      • Some bugs found by Alfonso, fixes submitted and improvements on tests added. Waiting for it to be tested by Alfonso.
      • Reviewed and merged. Some more work will be needed but let’s see how many bugs it fixes.
  • PR # 237 - Fix YAML validation to enable having no gadget and no artifact at the same time
    • Small bug I found while making imagecraft work
    • Done, reviewed and merged.

Misc.

  • Attended mid-cycle meetings
1 Like

Distro

Apport

I spent a lot of time on apport-retrace needs more than 1 GB memory (when using sandbox). apport-retrace builds a dictionary that maps paths to Debian packages. For jammy there will be eight million entries in the dict consuming 1.7 GB of memory. I distilled down that code path and wrote different implementation using different databases (SQLite, LevelDB, LMDB, NDBM, GNU DBM). Benchmarks for them can be found on apport/Benchmark.md at benchmark-databases · bdrung/apport · GitHub. SQLite was the fastest on a Raspberry Pi Zero 2W. For SQLite I implemented different database layouts (from simple key-value to normalized directory,name,package). Result of that: You can trade creation time with saved disk space. Since I was too curious I spend some nights on rewriting those SQLite benchmarks in Rust. The Rust implementation is obviously faster. Surprisingly the creation time for the different database layouts is nearly the same. So I conclude that increased creation times in Python are caused by the Python code (and not by the more complex SQL statements).

Sponsoring

+1 maintenance

1 Like

NVMe/TCP PoC

  • Making more progress on automating the deployment of VMs and documenting the steps to take to run the PoC.
  • In an effort to SRU https://bugs.launchpad.net/ubuntu/noble/+source/virt-manager/+bug/2073461 to noble, I ran into multiple issues that are causing the package to FTBFS in noble. The main problem is that python-argcomplete is broken on noble (see bug 2063129 and bug 2075315. I filed an SRU for python-argcomplete and submitted a patch (need a sponsor :))
  • I opened a MP for virt-manager, but I marked it as an hold since it requires the python-argcomplete fix to land first.

distro

  • Requested rebuild of netgen (and other packages) against mpi-defaults 1.17. The default implementation changed from openmpi to mpich on 32-bit arches.
1 Like

Upcoming hardware

  • Configure and package vendor kernel
  • Build live installer image

Mid cycle sprint

Greenhouse

  • Review applications
1 Like

Distro

Sponsoring

Misc

  • Conducting interviews
1 Like

iso testing

  • Lots of retriggering flaky tests to help with image promotion
  • pinged flavors re cinnamon build failure

autopkgtest-cloud

  • Deploying new charms after @uralt 's new changes
  • Investigating issues with bos01-s390x
  • Investigation into any issues and/or improvements to our statistics page
  • Continuing work on moving from mojo to terraform
  • Cherry picking recent changes to autodep8 and placing them on the ubuntu-release master branch for usage in autopkgtest-cloud
  • statistics analysis on the performance of bos03-s390x - seems pretty healthy :slight_smile: at least much healthier than expected!
  • Fixing an issue with bos03-s390x not being able to reach salsa

hardware-installer-testing

  • Wrote and tested the OEM installation testcase - all is well
  • Wrote testcase for TPM FDE installation - untested as of yet
  • New changes to testflinger which makes the hardware-installer-testing jobs more production ready - previously was testing from first slide of installer, now I have all the resources required to run a job from any state, download and flash iso, and boot into live session!
  • This also required a bit of refactoring in my repository, there will be quite a few changes in the coming days but we’re looking close to production ready :slight_smile:

+1 maintenance

  • submitted a patch upstream for freerdp2 which fixes the recent failing tests
1 Like

TCK on armhf/lxd

  • Completed investigation of failures (2/2) in openjdk-21 FFI tests (thanks to help from @liushuyu-011). Both seem to be expected failures and have already been excluded.
  • Investigation pending for an apparent template interpreter failure, related to volatile longs in Java.

Java OpenSSL FIPS Provider

OpenJDK CRaC

GraalVM

  • Put up a braindump of a specification for GraalVM snaps

Distro

Merge task for user-setup.

Misc

Spec reviews
Visa appointment prep

1 Like

Couple of weeks here as I was off in the middle:

  • Worked on adding FIT support to u-boot-rpi
  • More work on Boards Documentation
  • Patch Pilot shift on Monday
  • Merged simplified branch of the classic pi-gadget
    • Also merged changes to enable gnome-initial-setup in oracular
  • Did a little sphinx debugging for imagecraft
  • Worked on u-boot merge from debian (LP: #2075352); merge now finished but dealing with FTBFS on armhf
  • More investigation of build failures on arm64+raspi images
    • It’s not a snapd issue (as first thought)
    • … or an adduser issue (second try)
    • … or a systemd issue (third time was notably not the charm)
    • It is LXD failing to launch (useable) oracular containers under focal’s 5.4 kernel (works fine from jammy onwards under 5.15)
    • And no, the latest LXD doesn’t fix the issue so either LXD needs fixing to work under 5.4, or the image builders need to be running some later
    • Filed GitHub issue to track, and provided some further debug logs on request
  • Interviews & take home tests
  • Meetings
  • Customer Pi compatibility work
1 Like

.NET

  • packaging .NET 9 for oracular
  • drafting release process spec
  • attended .NET security partners meeting

Documentation

  • working on git-ubuntu command reference for the Ubuntu packaging guide
  • working on how-to patch management for the Ubuntu packaging guide

Distro

1 Like

dotnet

  • Attended the weekly .NET partners sync meeting.
  • Investigating the behavior of updates to .NET under the new snap architecture and how the .NET Installer will handle and update systemd-mount unit changes in the content snaps.
  • Ran autopkgtests on the stage 2 .NET ppc64el package to start SRU process, but decided to hold off on it until the next security servicing release lands in Aug 13th to avoid that version superseding the current one in case the SRU does not finish by then.
1 Like

Documentation

Netplan

  • Review: PR#494 - Add netplan try to netplan tutorial

Launchpad

SRU docs

  • Figuring out Launchpad + ReadTheDocs integration
  • Setting up docs checks through lpci
1 Like

Subiquity

  • PR: #2037 - Update autoinstall reference with usage examples for a few different autoinstall keys
  • Refresh PR: #1901 - use legacy behavior for the validation script in CI until we can fix existing bugs that are uncovered by this change
  • Bug triage

Distro

  • Continued work on my ubuntu-meta SRU to fix a bug where openssh-server is always installed on ubuntu-server (LP: #1974483)
    • Now also requires a livecd-rootfs SRU - MP: #470438
  • Investigating apport autopkgtest regressions on s390x
1 Like

autopkgtest-cloud

ubuntu-dev-tools

  • Updated my MP, further improving import-bug-from-debian (no new feature, just code quality)

curtin

  • Checked the availability of nested virtualization on every datacenter/arch (not available for arm64 and s390x :/)
1 Like

openjdk:

  • reviewing openjdk-{17,21}-crac packaging
  • working on lintian warnings cleanup, one more MR in progress
  • prototyped openjdk ROCK
  • did a small investigation on enabling -dbgsym packages for openjdk

-fno-omit-framepointer:

1 Like

autopkgtest-cloud

  • Added a new page for viewing the results of a single test by UUID
  • Turned test UUIDs in the package results page into links to the new endpoint

autopkgtest

  • Worked on improvements to the autopkgtest-buildvm-ubuntu-cloud UX, mainly focusing on not having to redownload an ISO only to waste it due to missing dependencies or lack of space.
  • In a similar vein, implemented caching for downloaded images to stop redundant downloads.

Hi all, this is my first post here. I’m Ural and I recently joined the Ubuntu Release Management team as a Graduate Software Engineer. I’ve been mostly learning the ropes over the past month, but I’m excited to get to contribute more as time goes on.

3 Likes

openjdk:

openjdk-crac:

OpenJDK ROCKS:

  • raised MP to forward port openjdk slices to 24.40
  • raised MP with a smoke test for openjdk-8-jre-headless slice
  • working on openjdk-21 slices.

distro:

  • raised removal bug for tools-nrepl-clojure after removing it from reverse build dependencies
  • investigating boost vs cmake build failures on armhf.

misc:

  • finished phoronix orchestrator
1 Like