Florent ‘Skia’ Jacquet - Ubuntu Membership application
Hello there!
I’m Skia and would like to apply to Ubuntu Membership Contributing Developer (edit as per @paride’s suggestion).
About me
My name is Florent Jacquet, but just call me Skia, even IRL, as everyone does.
I first installed Xubuntu 7.10 alternate edition on a 64MB RAM machine in 2008.
The machine was already 10 years old by that time, but the lightweight system made it usable again, and it was great! Since then, I’ve installed a lot of {X,K,}Ubuntu on all my relative’s machines: parents, grand-parents, uncles, cousins, high-school companions, high school’s machines themselves, university
friends and associations, you name it. I’ve personally distro-hoped for a while, but always kept either Debian or Ubuntu on my servers or machines that I wanted stable.
I now work for Canonical as part of Foundations/Ubuntu QA/Release Management team.
Contact information
Launchpad: hyask
Matrix: @skia:matrix.hya.sk
Contributions
Most of my work revolves around automated testing infrastructure.
You can find a quite exhaustive list of my work here, as I post weekly to the Foundations Team Updates.
Since this would probably be a bit inconvenient to review, here are highlights of my most interesting contributions:
autopkgtest-cloud
This is currently the biggest part of my work. This infrastructure is very much central to the Ubuntu development, and keeping that running without hiccup is top priority.
The list of contributions made to that infrastructure is a bit long, but here are some highlights:
Deploying the whole thing locally and improving the developer documentation
To begin my work on this topic, I’ve worked to have a local deployment of the whole infrastructure. That led to many small improvements, mostly oriented towards developers. This also made me familiar with how to self-host and administer a MicroStack.
- Merge into master : skia/local_dev : lp:~hyask/autopkgtest-cloud : Git : Code : autopkgtest-cloud
- Merge into master : skia/readthedocs_graphviz : lp:~hyask/autopkgtest-cloud : Git : Code : autopkgtest-cloud
- https://code.launchpad.net/~hyask/autopkgtest-cloud/+git/autopkgtest-cloud/+merge/456376
Improved UI on per-package pages
This was a welcomed change that added the display of running and queued tests on top of the existing test results for a given package. Further details can be found on the ubuntu-devel
mailing list thread.
- Latest features in autopkgtest-cloud
- Merge into master : skia/improve_browsing : lp:~hyask/autopkgtest-cloud : Git : Code : autopkgtest-cloud
- Merge into master : skia/package_show_queued_jobs : lp:~hyask/autopkgtest-cloud : Git : Code : autopkgtest-cloud
- Merge into master : skia/web_ui_improvements : lp:~hyask/autopkgtest-cloud : Git : Code : autopkgtest-cloud
Many other small improvements and bugfixes
Improved logs displayed for running jobs, by also including the head with the command line and various other useful information.
Added a sensible vimrc
to the production machines to reduce the risk of silly mistakes.
Refreshed the cloud-init userdata file we use to deploy armhf
LXD remotes, and deployed new remotes in the new bos03
datacenter.
- Merge into master : skia/lxd-remote-bos03 : lp:~hyask/autopkgtest-cloud : Git : Code : autopkgtest-cloud
- Merge into master : skia/fix_lxd_userdata : lp:~hyask/autopkgtest-cloud : Git : Code : autopkgtest-cloud
Investigated and fixed a long standing bug causing the RabbitMQ to restart about every two hours when the infra is under high load.
Even more stuff recently, as this is basically my daily job.
autopkgtest
Since this is the core tool around which our infrastructure is built, I’ve also had the opportunity to contribute to autopkgtest
. We have an ongoing effort to upstream the Ubuntu patches, so I help there by providing feedback, tests, and some code review.
I’ve also uploaded the SRUs of 5.32 to Jammy and Mantic to get familiar in the process, and will certainly do more in the future.
auto-upgrade-testing
Besides daily monitoring of the service’s results, and maintaining our list of tested profiles, I’ve also made a few improvements on the software itself.
Improving the crash reporting
The crash reporting script is responsible for checking on the crashes reported by apport, making sure they get pushed to the error tracker, and setting the test status according to what was found. I’ve rewritten the whole script from a tiny piece of bash
to a more readable piece of python
, adding along the way
much improved logging, and support for an “ignore list”.
The ignore list allows us to set back to green tests that have a crash that is already reported and known, so that we more easily catch new issues happening while the first crash is being worked upon.
Support for multi-LTS upgrades
Until recently, the tool was not able to correctly test multiple upgrade in a row, like bionic
→ focal
→ jammy
→ noble
. This is now possible, although not perfect yet, but I’ve already enabled that kind of profile to catch issues happening during upgrades from older Ubuntu releases.
- Allow double LTS upgrades by Hyask · Pull Request #11 · canonical/auto-upgrade-testing · GitHub
- Merge into main : skia/add_multiple_lts_upgrade : lp:~hyask/auto-upgrade-testing-specifications : Git : Code : Auto Upgrade Testing Specifications
curtin
I’ve contributed to getting a baseline of green CI for the vmtests
test suite, mostly by skipping all the broken tests. The goal was to make Jenkins email reports start being useful again by showing regressions to the team of Foundations developers responsible for curtin
development.
- Merge into master : skia/vmtests_baseline : lp:~hyask/curtin : Git : Code : curtin
- Merge into master : skia/disable_flaky_test : lp:~hyask/curtin : Git : Code : curtin
UTAH
I’ve added the arm64+largemem
architecture variant to the automated image promotion system. This was in the end a simple patch (almost a two-line diff ;-)), but required to dig into the code to see what was needed to support architecture variants.
Security Britney
As part of my work on ProposedMigration, I’ve had to extinguish a few fires in Security Britney, which also helped make me more familiar with how Britney is organized in general.
Foundations +1 maintenance
I also regularly participate in Foundations +1 maintenance. It usually mostly consist of helping a package transition by making its tests pass in autopkgtest by (re)running it with the right triggers, but can sometimes lead to some real fixes that need to be uploaded.
Here is the list of my sponsored uploads to Ubuntu.
Future goals
I’m not alone in deciding the roadmap for the team I work with, but here are some ideas of things I would like to work on:
- Continue improving
autopkgtest-cloud
, both from the architecture/infrastructure and the user/Ubuntu developer points of view. There are a lot of friction points that would need to be addressed, and the goal is to reach a point where the infrastructure is stable enough so that the team maintaining it can have time to improve other things. One example is this quite fundamental bug I’ve recently opened, that I’d like to close during the coming months. - Getting started to help maintain stuff around apport and the error tracker, starting with adding some automated integration testing to the apport retracer mechanism.
- Get closer to the Foundations team to provide more general help from a QA perspective.
- Improve my packaging skills to eventually be able to apply to some upload rights and participate more in building Ubuntu itself.