Tim Andersson | Ubuntu Contributing Developer Application
About Me
Hello! My name’s Tim Andersson. I’m a Canonical employee for about 14 months now, in the Ubuntu Release Management Team (fka Canonical Ubuntu QA Team).
My journey with ubuntu started in something like 2020 (time is a blur sometimes). I was doing my masters degree in Robotics at the time. We were using bionic
and ros
(Robotic Operating System, for those who don’t know).
This was my first ever usage of a Unix system. One of the first things I did, early on in the masters course, after getting irritated by having to write sudo
all the time, was changing the ownership of my /
partition. Lesson learnt. Reviving my machine only sparked my interest more!
Since then, I’ve used Ubuntu for every piece of development since. I worked in a factory with mobile robots for a little while, all running bionic
, and then after that I was working in a company developing surgical robots, also using ubuntu
.
I’d like to apply to become a Contributing Developer.
Contributions - present and past
-
Attending each release sprint in London with the release team - isotesting and small release tasks such as validating torrents
-
Attended MiniDebConf in Cambridge
-
Fixing bugs and fighting fires for upstream stakeholders of autopkgtest.ubuntu.com
autopkgtest
autopkgtest-cloud
-
Introduced a CI pipeline for
autopkgtest-cloud
with linting, charm building, and the like. The commit here doesn’t denote the latter, but this was the start -
automated the building of the
autopkgtest-cloud
documentation -
Introduced uuid’s for each individual test - the commits before and after this one show the full feature
-
Added api keys for
autopkgtest-web
so recurrent users can bypass SSO -
Added a duplicate check when requesting tests via the webpage as to disallow users to queue the same thing twice - did the same thing for upstream github jobs
-
stopped the long standing issue of permanently looping tests - commit
-
added a user specific page - viewable here with your launchpad username: https://autopkgtest.ubuntu.com/user//
-
fixed an issue which caused new dependencies to not get installed in prod
-
minor bugfixes and reliability/performance improvements such as this and this and this and this and this
-
added an admin page which at the time helped us identify tests using up too many resources or failing in obscure ways
-
started backing up our database
-
fixed an issue with ppa testing introduced by noble
-
fixes related to incorrect metric reporting such as this
-
fix for testbeds that wouldn’t get killed when the test was killed
-
made a script for monitoring our apache2 requests - now visualised in grafana
-
QoL fix, restarting services on a charm update
-
Making network names flexible to make migrating to new datacentres easier
You can see my full list of commits on this repo here
britney
-
Fixed an issue with the content-length header of our db by making britney check the checksum instead
-
Fixed an issue wherein britney was queue-ing countless useless i386 tests, which was heavily eating into our amd64 capacity at autopkgtest.ubuntu.com
-
I’ve also responded to pings r.e. security-britney and regular britney
meta-release
-
Introducing pre-commit and LPCI for
meta-release
ubuntu-archive-tools
-
I automated one small step of the release process a torrent checking script
-
I have an MP open right now which adds a script for parsing britney logs
+1 maintenance
-
I’ve done a lot of requeue-ing of autopkgtests with different triggers etc in an effort to get the tests to pass
-
Recently force-badtest’d python-oauth2client - the package is being deprecated and is blocking other packages from migrating
-
Made a bug to remove
python-certbot-dns-google
from the archive for oracular - due to issues with python-oauth2client
LPCI
LPCI isn’t a core part of my role, but I’m working on it for fun
upgrade testing
I work regularly on auto-upgrade-testing, monitoring the jobs with my team, as well as reproducing any reported upgrade related bugs on my test laptop
iso testing
-
Hundreds of desktop installer tests
-
isotracker maintenance (iso.qa.ubuntu.com) - updating testcases and suites and liaising with flavor leads etc
-
Currently working on a new greenfield project which automates installer testing on hardware we have in a lab - I wrote all of the scripts and jenkins jobs surrounding the testing, as well as the test scripts themselves. The repo is here, and is nearly production ready just ironing out some small issues towards the end of this project. Soon, we should have a wide range of coverage for all installer testing! Yay! Please ignore my commit history on that branch btw, it needs squashing hehe
-
Wrote openqa tests for the desktop installer also - we should have an openqa instance in the future so I wrote a suite of tests in preparation
-
I also attend monthly meetings with members of the openqa community from various distros - you can see info on this monthly meeting here
cdimage
- Added CI to ubuntu-cdimage
ubuntu-release-upgrader
- fixed a bug in the upgrader
Goals for future contributions
-
Something I’ve had my eyes set on recently, is to help out with maintenance and development of LPCI. I’ve started this work recently -
autopkgtest-cloud
and other projects I work on utilise LPCI, and it’s very widely used around the entirety of Launchpad. I hope to become an active contributor in the near future - I’ve spoke with some maintainers of the project and my next steps are to start solving any bugs that have been left unattended. -
I’d like to contribute in some way to OpenQA. I attended a talk last month, with members from all around the OSS community that utilise and employ OpenQA in some way. The talk is monthly and I’ll continue to attend, and hopefully apply the insight garnered from these talks to our own OpenQA instance for Ubuntu. My hope is that as I get more familiar with OpenQA, and use it regularly, I’ll become competent enough with it to become an active contributor.
-
I’d like to start doing more +1 maintenance for the desktop and foundations teams. I’ve done a bit in the past, but not enough.
-
Smooth out the release process wherever I can - even just small scripts to make tedious steps faster is a bonus!
-
Further refactoring and improvement for
autopkgtest-cloud
- a lot of work has been done in the last year, however, there’s still a lot left to do! -
Continued work on the hardware-installer-testing - I want to see it production ready and reliable in the coming weeks. I hope it will provide developers with plenty of data to fix installer bugs, and help us find installer bugs a lot faster.