~ WORK IN PROGRESS ~
I, Paride Legovini, apply for Ubuntu Core Developer
PGP key fingerprint
1BD8 86F2 46FD 4908 79D4 E150 5A09 B457 6DE8 080E
paride (Libera, OFTC)
https://launchpad.net/~paride (CoC signed)
Who I am
I am an Ubuntu Server Developer and I do Quality Assurance in Ubuntu Server team. I am part of the Canonical Server Team since January 2019. I'm also a Debian Developer (NM page) maintaining several packages.
My time is split in two main branches, which in good part reflect the team structure. From one side I do QA on the Ubuntu Server distribution, doing bug triage and general bug work, ISO testing and distribution testing mainly for what concerns the server package set, especially around release time. On the other side I follow the development of curtin and cloud-init, maintaining their testing and CI infrastructure, helping the team with the SRU verification efforts and doing bug triage. I also maintain the team's Jenkins instances, job definitions, worker nodes and development machines.
I have a master's degree in Physics from the University of Padua, Italy, and PhD in Geophysics from the University of Bologna, Italy. In my university and research work I always worked on the IT/data analysis/numerical side of things, trying to tie two great passions of mine, but at some point time came to follow the greatest one. I currently live in Padua, about 40km west of Venice.
My Ubuntu story
I began using GNU/Linux in the late 90s, mainly Slackware back then. The reason was in good part technical: coming from a DOS/Windows background it gave me unprecedented control on my system, extremely powerful tools (the unix toolchain), and unlimited things to learn. I quickly understood how the possibility to share software and knowledge with others was important, and I began to frequent the local Free Software Users Group and introduced several persons to GNU/Linux. In the following years I also installed and used BSD systems and Debian, but Slackware still was my main distribution.
I switched to Debian in 2004, and the main reason for the switch was ‘apt’: while the Slackware school taught me a lot I didn't want to manually resolve dependencies anymore. At some point I had enough experience to taught some GNU/Linux introductory courses a “student initiative” of my University. I also held seminars at Linux Days and similar events, and contributed founding a (now quiescent) hackerspace.
Since its early releases Ubuntu has been my go-to distribution to introduce less experienced users to GNU/Linux, so I promoted and installed it at large, joining the general effort to help fixing Ubuntu's bug number 1. Who could imagine how history was going to surprise us!
In 2015, after a decade of daily usage, I felt it was time to give back to the Debian community, and I began maintaining my first package, which later became unexpectedly popular. From there my involvement and experience grew steadily and I first became Debian Maintainer and then full Debian Developer. Now I maintain several packages in Debian, including some very popular ones (e.g. iw, irqbalance).
In late 2018 I decided to leave the academia and work full time on software engineering and in early 2019 I joined the Canonical Server Team as QA engineer for Ubuntu Server. The very nature of my role means that my work is made of several scattered contributions; below I'll try to summarize what I believe are the most important ones.
Areas of work
- The Ubuntu Server package set (mostly bug related work, with more packaging work planned).
- The Ubuntu ISO testing infrastructure and the Ubuntu Server ISO testing jobs and result submission to the ISO tracker.
- Ubuntu Server performance and adoption metrics
- Ubuntu OCI image testing
Examples of my work / Things I'm proud of
ISO testing. I maintain and run the ubuntu-test-cases for Ubuntu Server, both for the Subiquity live images (bzr branch) and for the legacy debian-installer images (bzr branch) across all the supported architectures. I co-maintain the UTAH testing framework, to which I added support for new architectures and Ubuntu Server releases. I recently converted the project to Python3 and Git. I regularly submit the automated and manual test results to the Ubuntu ISO tracker. I also help testing new features in the subiquity installer.
Release sprints. I regularly flank the Ubuntu Release Team during the Release Sprints, taking responsibility for the quality of the Ubuntu Server images.
GitHub migrations. I migrated the pycloudlib and cloud-utils projects from Launchpad to GitHub, setting up CI procedures based on GitHub Actions. I help with code review for both the projects and refactored the cloud-utils packaging.
cloud-init. I maintain and monitor the test infrastructure of cloud-init (mainly these Jenkins jobs), used to maintain the Jenkins based CI (replaced by Travis when the project was moved to github), engage in the daily bug triage activities, help doing code reviews and in the SRU validation process, see for example LP: #1893064.
cloud-utils. A set of tools for interacting with clouds development and maintained by the Server Team. I do code review for the project, drove the release of new versions with a procedure similar to the cloud-init one, maintain the cloud-utils Ubuntu packaging and do sponsored uploads to the Ubuntu archive.
Bug triage. I regularly participate in the Server Team daily bug triage rotation. See my activity on the Launchpad bug tracker.
Infrastructure. I maintain the Jenkins nodes used for development and testing of the Server Team projects and used to run the Ubuntu Server ISO tests across all the architectures. I also do the general maintenance (updates/upgrades/reboots/cleanup/...) of the team's development machines.
OCI images. I took part in the team effort of setting up automated testing for the Ubuntu OCI images by doing code review for the proposed tests, implementing test cases, and setting up Jenkins jobs to automatically run them. See the tests repository and Jenkins jobs repository.
Seeds. Small contributions, but I count them under "things I'm proud of": I did touch the Ubuntu seeds a (platform: fb93501, ubuntu: 5c9a4cc). Working on the seeds also brought me to touch the ubuntu-seeds package, bringing it in sync with the seeds (ubuntu-meta 1.460). When working on ubuntu-seeds I spotted a bug in germinate (LP: #1905987) and proposed a fix for it.
Upload history (devel)
Also available in the udd.
Uploads to main:
[2020-12-15] apache2 2.4.46-2ubuntu1 [merge, pkgset: ubuntu-server]. This upload was stuck in proposed due to an "always failed" autopkgtest that passed once as a fluke, then started failing again but now counted as a regression. The package with the failing test is libapache2-mod-auth-pubtkt (autopkgtests). Unblocking the apache2 migration required adding a force-reset-test britney hint (commit).
[2021-07-28] nss 2:3.68-1ubuntu1 [pkgset: core] (sponsor: utkarsh). Merge from Debian of a new upstream version, plus inclusion of a fix for LP: #1931104. Finding out that the dogtag-pki autopkgtest regression was caused by dpkg enabling LTO by default required an interesting ride. I forwarded the bug upstream.
[2021-08-09] postfix 3.5.6-1ubuntu1 [pkgset: core, bugfix] (sponsor: sergiodj). Fix fox LP: #1906970 and its duplicates (LP: #1934381, LP: #1933845, LP: #1931801, LP: #1929786). Bug and fix forwarded to Debian (debbug #991950, salsa MR).
[2021-09-16] strongswan 5.9.1-1ubuntu3 [pkgset: ubuntu-server]. To ensure Ubuntu doesn't diverge from Debian I first got the change merged in the Debian packaging, and then cherry-picked the same commit. The upload required a FFe, see LP: #1940079.
Uploads to universe:
[2020-12-03] isc-kea 1.8.0-0ubuntu1 (sponsor: paelzer). Fairly complex go-ahead-of-Debian "merge", multiple binary packages, refreshed and dropped patches, new patches (one cherry-picked from upstream, one written from scratch, DEP-3 compliant), fixed the tests run, and other improvements.
Upload history (SRU)
Main Inclusion Requests (MIR)
MIR bugs I filed and drove:
LP: #1936970: [MIR] libnet-snmp-perl as a dependency of amavisd-new. Accepted.
LP: #1934510: [MIR] fuse3 as a dependency of qemu 6.0. This grew in scope as it was determined that aim for Ubuntu is to fully replace fuse with fuse3 in main, and indeed the bug title is now [MIR] fuse3 as a dependency of qemu 6.0 and GNOME apps, and the task is being handled by Foundations. My MIR bug got the ball rolling for the switch and is still the reference bug for it.
I wrote autopkgtests or enabled upstream tests to run as autopkgtests on the installed package for several packages I maintain in Debian:
In Ubuntu I fixed existing autopkgtests and unblocked migrations, see for example:
LP: #1931104: Test of dogtag-pki is failing on s390x due to LTO being turned on by default.
LP: #1906970: Postfix bug causing autopkgtest failures in packages depending on postfix and in specific virt-servers (e.g. sbuild and autopkgtest-virt-qemu).
LP: #1942476: Invalid DATETIME test failure with mysql-8.0 >= 8.0.24, preventing the migration of mysql-8.0 uploads.
I also unblocked migrations held by autopkgtest issues by adding britney hints, see the dedicated section below.
force-reset-test libapache2-mod-auth-pubtkt/0.13-1 (devel/f81d257)
force-reset-test backuppc/3.3.2-3/armhf (focal/bdda2c2)
force-reset-test backuppc/3.3.2-3/armhf (hirsute/a216896)
Things I could do better
- Be more proactive in picking merge MPs to review.
Allocate some time to better communicate what I'm working at, e.g. by doing discourse posts.
- Split time more evenly between the two Server Team squads.
Plans for the future
- Keep expanding the Ubuntu Server testing infrastructure, adding more scenarios in which ISO images are tested and doing more integration testing of typical server software stacks. Experiment with different testing tools.
- Setup automated testing for server "package stacks".
- Do more packaging work and merges from Debian, especially for the Ubuntu Server packages or packages I already maintain in Debian.
- Get upload rights for the above!
Get more involved in distribution-wide activities like the the +1 maintenance rotation.
What I like least in Ubuntu
- Information on the Ubuntu development processes is scattered and it's often difficult to tell if (say) a given wiki page is outdated or not. Without my shell history and browser history I'd be lost!
Resources are also scattered and are very inhomogeneous: http://people.canonical.com/~ubuntu-archive/proposed-migration/update_excuses.html, https://people.canonical.com/~ubuntu-archive/pending-sru.html, https://launchpad.net/ubuntu/focal/+queue, https://bileto.ubuntu.com/, https://platform-qa-jenkins.ubuntu.com/, http://iso.qa.ubuntu.com/, https://merges.ubuntu.com/, http://reqorts.qa.ubuntu.com/reports/, http://reqorts.qa.ubuntu.com/reports/rls-mgr/rls-ff-incoming-bug-tasks.html (not linked from /reports/!), ...
If you'd like to comment, but are not the applicant or a sponsor, do it here. Don't forget to sign with @SIG@.
As a sponsor, just copy/paste the following template (without the curly braces) above of the === TEMPLATE === line and fill it out.
=== <SPONSORS NAME> === ==== General feedback ==== ## Please fill us in on your shared experience. ## (How many packages did you sponsor? How would you judge the quality? ## How would you describe the improvements? Do you trust the applicant?) ==== Specific Experiences of working together ==== ## Please add good examples of your work together, ## but also cases that could have handled better. ## ## Full list of sponsored packages can be generated here: ## https://udd.debian.org/cgi-bin/ubuntu-sponsorships.cgi ==== Areas of Improvement ==== ----