UbuntuCoreDeveloperApplication


I, Paride Legovini, apply for Ubuntu Core Developer

Contact Information

Email

<paride@ubuntu.com>

PGP key fingerprint

1BD8 86F2 46FD 4908 79D4 E150 5A09 B457 6DE8 080E

IRC

paride (Libera, OFTC)

Launchpad

https://launchpad.net/~paride (CoC signed)

Ubuntu Wiki

ParideLegovini

Who I am

I am an Ubuntu Server Developer and I am part of the Canonical Server Team since January 2019. I'm also a Debian Developer (NM page), maintaining several packages.

My work within the team 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, 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 cloud-init and of ubuntu-advantage-client, maintaining their test and CI infrastructure, helping the team with the SRU verification efforts and doing bug triage. I used to do the same with curtin, but as the development is now driven by the Foundations team I just maintain the CI infrastructure in Jenkins. I also maintain the team's Jenkins instances, job definitions, worker nodes and development machines.

I have a scientific background: 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 involvement

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.
  • 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.

  • Launchpad CI tools. I've been maintaining the jenkins-launchpad-plugin (history) and tarmac (history) packages, which are used by several Ubuntu and Canonical teams (the Server Team among these).

  • 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.

  • Ubuntu Server performance and adoption metrics (boot-speed KPI)

Examples of my work / Things I'm proud of

Upload history (devel)

Uploads to main:

Synchronised packages:

Indirect uploads to main (via Debian):

Uploads to universe:

Quasi-uploads:

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 and GNOME apps. Accepted. This MIR grew bigger than I initially expected and I can't claim of having driven it alone, however I've got the ball rolling and did a good part of the assessment (see the discussion in the bug).

One "anti-MIR" I filed to justify why a package doesn't meet the MIR criteria, so no MIR for it, despite the cost of having to maintain a likely long-lived Ubuntu delta to drop a Debian Build-Dep:

Autopkgtest development

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.

  • LP: #1945634: fixed failing tests in ulfius. The root cause is that the Ubuntu autopkgtest environment doesn't have ::1 in the no_proxy environment variable; I added an auto-package-testing task to the bug to track this.

I also unblocked migrations held by autopkgtest issues by adding britney hints, see the dedicated section below.

Britney hints

  • 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)

Transitions

  • liburing: liburing1 -> liburing2 SONAME bump (LP: #1944037). Simple transition that turned out more interesting than expected, as it was blocked by a missing package in the i386 seed (see my request to add it) and by the intersecting transition of fluidsynth, triggered by an auto-sync. To complete the migration I asked the Archive Admins to temporarily pull fluidsynth from -proposed (LP: #1952918), and verified that it got synced again after liburing migrated. Uploads (all sponsored by utkarsh):

    • liburing 2.1-2: sync from Debian dropping all the Ubuntu delta/ (see the transition tracking bug for the verification).

I helped with the OpenSSL 3.0 transition by fixing a FTBFS in the strongswan package, see LP: #1946213. The issue was reported and fixed upstream (see https://github.com/strongswan/strongswan/issues/759).

+1 maintenance

Per PlusOneMaintenanceTeam/Specs/Priorities dealing with ISO smoke test issues is one of the +1 maintenance duties, and something I've been doing regularly for the Ubuntu Server images since I joined the team.

On helping with migrations, I did "+1 maintenance shadowing" during some weekly rotations. Summary:

As part of doing +1 maintenance I tried to improve the Ubuntu development tooling:

Things I could do better

  • Better and more consistent participation in the +1 maintenance. Hopefully being Core Dev will help with this, as being able to trigger autopkgtest runs is one of the main things I miss.
  • Allocate some time to better communicate with the wider Ubuntu community, e.g. by doing discourse posts.

  • Split time more evenly between the two Server Team squads, and in general be better in communicating.

Plans for the future

General

  • Do exploratory work setting up openQA to test the Ubuntu ISO images.

  • 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".
  • As we now have a revamped backports process, do some backports! This is another area where being Core Dev will be immediately useful.

What I like least in Ubuntu

Comments

If you'd like to comment, but are not the applicant or a sponsor, do it here. Don't forget to sign with @SIG@.

Łukasz Zemczak

Sadly, I can't officially endorse Paride's application as I have not been a sponsor of any of his packages, since otherwise I would wholeheartedly recommend him for the Ubuntu Core Developers team. Paride is a long time Ubuntu release participant, representing the server team on almost every possible Ubuntu release since many years. Whether it's a full Ubuntu release, or an LTS point-release, Paride is always there to make sure the server images for the milestone are working as expected and that all server features are ready. Every time we work together Paride demonstrates great knowledge about Ubuntu and it's ecosystem, always helping out when there's work to be done. I am confident that Paride would make an excellent addition to the core-dev team. -- sil2100 2021-11-24 13:36:48

Endorsements

Sergio Durigan Junior

General feedback

Paride is my teammate in the Ubuntu Server team. Our team is composed of two squads: one (let's call it X) is responsible for taking care of the distro packages. The other (let's call it Y) is responsible for maintaining cloud-init, u-a-tools and other software we ship. Paride helps both squads with his QA expertise, which is great. Talking specifically about squad X, which is also the squad I'm part of, Paride consistently helps us by taking part in our bug triage rotation, and also by fixing packages and doing SRUs.

Specific Experiences of working together

I personally have sponsored a few packages for him and I can say that he is ready to become a Core Developer. He is always very conscious when doing packaging work, concerned about doing things right, and attentive to details. Technically speaking, his contributions are solid and he understands what he has to do in order to achieve a good result. The fact that he is also a Debian Developer certainly contributes to his technical excellence. I'm happy with his knowledge about SRUs, and I like to see that he goes the extra mile when verifying that a certain fix is indeed correct for the bug he's working on.

I personally really like debugging stuff, and I think Paride also enjoys doing that.

On a side note, and not particularly related to Ubuntu packaging work, Paride has also helped a lot in the OCI project by setting up a CI environment for us and also taking part in writing some tests for a few images. Although this does not involve packaging work, it goes to show how much Paride values a test-oriented approach to development, which ultimately benefits Ubuntu a lot.

Areas of Improvement

I think the next steps for him after obtaining his Core Developer status are working on a few large transitions, and also helping with +1 maintenance. I'm looking forward to having his help with the latter!

-- sergiodj 2021-11-17 18:01:00

Christian Ehrhardt

General feedback

I have sponsored a bunch of packages for him and think he is ready to become a Core Developer. He is well-considered and comes with plenty of expertise from Debian.

Specific Experiences of working together

He also participates in our peer reviewing so he has seen and thought into way more uploads than his own already. And TBH for my Debian uploads I consider him one of the common go-to-reviewers. He also shadowed my on a +1 week and was a great help at that.

The Team has ensures to pass him through the ubuntu-special things like seed changes, MIR, SRUs and all such and I'm confident that he is ready for a core-dev role. Furthermore he has my trust to not mis-use those powers and I know him that I'm confident to ask instead of breaking something with his new core-dev powers.

Areas of Improvement

I agree to his listing of QA work, not that he has to grow much but I hope he can combine his experience with Ubuntu's needs to bring some of our tests a bit forward into the future. Also doing more general Archive work would be great, but he already listed +1 Duty on his next steps and I think he'd be great for that.

-- paelzer 2021-11-18 13:44:56

Lucas Kanashiro

General feedback

I work with Paride in the Ubuntu Server team and he's presented himself as a great engineer, capable of handling any issue that might arise. Paride is already a Debian Developer and I really trust him to become a core-dev and help us even more in the Ubuntu community.

Specific Experiences of working together

I sponsored a single package in Ubuntu for Paride:

https://udd.debian.org/cgi-bin/ubuntu-sponsorships.cgi?render=html&sponsor=Lucas+Kanashiro&sponsor_search=name&sponsoree=Paride+*&sponsoree_search=name

I do have worked with him doing some QA on the HA stack, where we have been setting up a testbed to test Corosync/Pacemaker clusters and some resources used in this context. Paride is very helpful, providing fixes even when you don't expect them, and he is also careful with every piece of code he writes, which increases the quality of his work. BTW he has made some great reviews which helped to spot some interesting stuff, his debugging/investigation skills are awesome.

This is not too much packaging work but I've seen other people reviewing his work and I know Paride has enough skills to become a core-dev.

Areas of Improvement

I believe Paride already identified some gaps and he's been tackling them, like driving a transition and going through the MIR process. I'd say he needs to get his hands (more) dirty once he gets core-dev rights.

-- lucaskanashiro 2021-11-23 11:58:56

dann frazier

General feedback

I've sponsored a few uploads of simplestreams for Paride - a combination of new upstream releases and SRUs of fixes back to older releases. I wouldn't trust someone to give a full throated endorsement based on that, so this is not one. I'll leave that to others who have worked with Paride more closely and regularly. But I can say that my experiences with Paride's work have been positive. I recall no issues in my reviews of those simplestreams packages. Paride was communicative and responsive to feedback during the process (feedback was about which releases to target, not issues w/ the changes themselves). fwiw, I'm happy to see that Paride is an active Debian Developer Smile :)

Specific Experiences of working together

None other than the above.

Areas of Improvement

I've no suggestions for areas of improvement.

-- dannf 2021-11-25 01:02:25

Bryce Harrington

General feedback

I've worked with Paride as part of the server team for a few years now and trust him to make good judgements with packaging. I agree with other endorsers that he would make a great coredev.

Specific Experiences of working together

Today I've sponsored his exim4 (4.95-2ubuntu2) upload, which reverts a change done by debian. This was well-considered and coordinated with the rest of the server team to ensure the right approach was taken, and the only review feedback I gave was some elaboration in the changelog entry. As usual his packaging work is well-tested and without error.

More broadly, I've interacted with him more via bug reports where he's done triage and/or analysis. He's got a great intuition for isolating causes of problems, and typically any comment from him on a bug will move it forward towards resolution significantly.

Areas of Improvement

As others have also mentioned, gaining some experience with +1 maintenance work would be a perfect match to his expertise with testing. I'd love to see his analytical eye applied to some of our tougher package migration blocks - and in particular improving some of the many DEP8 tests to be more reliable and more effective.

-- bryce 2021-12-01 22:15:59


Utkarsh Gupta

General feedback

I've sponsored a dozen of packages for Paride, be it a regular -devel upload or an SRU or a rebuild or just a case of syncing. I've worked with him for quite some time and in different areas as well, and never have I ever had any problems doing that, mostly because the quality of Paride's work is excellent. The sponsorship process has always been smooth and he got back really timely and quickly whenever I raised something or had any concerns. As others have already noted, Paride is amazing engineer and technically very skilled. He knows his tools and stuff and always gets the work done. Not only is he a great engineer, but he is also a wonderful and a kind person! Big Grin :)

I'm very confident that he's ready for becoming a core dev already and that making him on will be a net win for Ubuntu! \o/

Specific Experiences of working together

As I previously mentioned, I've worked with Paride in the following different areas:

  • Bug triaging: I've learned bug triaging myself by doing a couple of pairing sessions with him. The depth to which Paride goes to understand and triage the bug is simply great! I've learned so much from him and he's still my go-to person whenever I get an odd bug to triage.

  • Bug fixing & SRUs: Not only is he a great triager of bugs, but he also knows how to squash 'em as well! I've worked and sponsored his uploads and the quality has always been outstanding!

  • Transitions: I've recently worked with Paride on a small src:liburing transition. Whilst that was small in itself, it got entangled with other transitions and it turned out to be a bit messy. But even then, Paride went to great depths in unblocking everything that was blocking the transition and wasn't hesitant to reach out for help, whenever he needed it, and also showed a great bit of communication and co-ordination with the Release team and the Archive Admins. You can clearly see this thread on ubuntu-devel@ as an example.

  • Other(s): We did work on other smaller things here and there, like debugging, et al, and he always brings his A game. It has always been a pleasure working with him! \o/

Areas of Improvement

Whatever Paride does, he does well! But that said, I'd be interested to see him participating and leading some major transitions, like the PHP and Ruby transitions. His great debugging and technical skills would make him a great candidate for +1 maintenance, too, so I'd like for him to be involved there as well. But other than that, he's already well versed with the stuff he does. Big Grin :)

-- utkarsh 2021-12-07 07:50:10


TEMPLATE

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 ====
----

CategoryUniverseContributorApplication

ParideLegovini/UbuntuCoreDeveloperApplication (last edited 2021-12-12 12:15:00 by paride)