UbuntuServerDeveloperApplication

~ APPLICATION ACCEPTED ON 2021-01-11 ~

https://lists.ubuntu.com/archives/devel-permissions/2021-January/001620.html


I, Paride Legovini, apply for Ubuntu Server Developer.

Contact Information

Email

<paride.legovini@canonical.com>

PGP key fingerprint

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

IRC

paride (Freenode, OFTC)

Launchpad

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

Ubuntu Wiki

ParideLegovini

Who I am

I am a software engineer and I do Quality Assurance for Ubuntu Server at the Canonical Server Team since 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.

My involvement

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.

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

  • curtin. I maintain and monitor the CI and test infrastructure of curtin (mainly these Jenkins jobs), engage in the daily bug triage activities and help doing code reviews.

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

  • britney hints. I committed a hint to unblock a migration. Same as the seeds: small contribution, but nice to have done it.

Upload history

Also available in the udd. Most of the uploads are done to main, and the packages are actually a mix between the server and core packagesets (e.g. at, ubuntu-meta, cloud-init, cloud-utils).

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.
  • curtin and cloud-init (bug triage, CI, SRUs, uploads, some code review).

  • Ubuntu Server performance and adoption metrics
  • Ubuntu OCI image testing

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

General

  • 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

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

Endorsements

Christian Ehrhardt

General feedback

I'm working with Paride on the Server team for quite a while now. And while we mostly work on testing/QAing things I also have seen his packaging skills (more on the Debian than the Ubuntu side so far). I didn't sponsor his packages yet, but actually had him accept my changes to irqbalance in Debian.

I doubt that he needs more sponsored packaging experience as he has that, but just in Debian instead of Ubuntu. The work I've seen on the Debian side is great and also in every other work we did together I can summarize that I'd absolutely trust him to be a great Ubuntu Developer as well.

An aspect of my "view" of his work that might be a bit uncommon is that he is on bug.triage duty the day before me. That makes me able to see well how he handles that and he does well. Not only is he kind and helpful to the community members always trying to find a spot in the logs that is helping the bug reporter. No - in addition he also is often awesome in finding a related upstream or Debian fix to a problem that was reported. That means he goes the extra mile of going into the details instead of just deflecting users to "please provide more info". IMHO that is the behavior we want to have in our Community. And eventually having upload rights in Ubuntu would help him to fix up some of these issues he identifies on triage by himself - and I think that would be great.

Areas of Improvement

For improvement or actually "next steps" I'd recommend to slowly ramp up packages to work on, as every package has its own little background details and twists one needs to learn. That way things would grow naturally. I'd encourage to go for UbuntuServerDev upload rights this time (as he is member of the Team) and then pick one or two packages in there.


Bryce Harrington

General feedback

My main interaction with Paride is via working on bug reports he has triaged, for which there are quite a few. I've admired how his replies tend to give good solid advice, his hunches tend to be accurately pointed, and typically includes a workaround or patch (and typically takes the extra step of forwarding the patch upstream, too.)

Areas of Improvement

I'm glad to hear his interest in helping out with +1 maintenance, an area where extra effort is always needed, and one where his QA work and bug triaging skills would be well suited. Such work would also increase his troubleshooting breadth as it'd expose him to a large array of packaging issues.


Sergio Durigan Junior

General feedback

I work with Paride on the Ubuntu Server Team. I can attest to his bug triaging and problem solving abilities, and I can say that he is always interested in helping Ubuntu users by offering thoughtful advices and analysis of problems they reported.

I have not personally had the chance to sponsor many uploads for him, but I've had the opportunity to follow his work closely (as we're part of the same team) and, unsurprisingly (because he's a fellow DD), his packaging skills are also great.

One particular moment that comes to mind was when he and I had to investigate a testcase failure that was happening in one of the unittests we maintain together (telegraf), and I was happy with the way we exchanged messages and ideas, and how active he was in pursuing the root cause of the issue.

I think Paride can become an Ubuntu Core Dev and have unsupervised, unrestricted upload rights, right now.

Areas of Improvement

Being a new Core Dev myself, I can't presume to tell anyone how he or she can improve. Instead, I will tell Paride about the areas where I am trying to improve, and maybe he can have some ideas :-).

One of the next things in my TODO list is to drive a package transition (I will have the opportunity to do that very soon, with net-snmp). Something else that comes to mind is to keep helping with the +1 maintenance (incidentally, I'm doing my +1 shift as I write this), because I know how important this work is. I would also like to be able to help Ubuntu users in other ways, by (for example) replying to questions on askubuntu.


Josh Powers

General feedback

I am writing this as an Ubuntu Member.

I worked with Paride on the Ubuntu Server team. When Paride started it was clear he already had established experience with packaging. I asked Paride to start helping with our daily Ubuntu Server bug triage and cloud-init/curtin triage. He demonstrated that he was able to quickly look at bugs, break down the issues, and provide excellent next steps and advice. I have seen him provide patches and push them upstream and not just drop the task on the floor. His interactions with the community are all positive and it is something he does well.

Areas of Improvement

I am thrilled to see him want to step up and help out with +1 package maintenance. I think that would be a great opportunity for him to get further involved in the project and continue to grow as an engineer. His day job is the QA engineer for Ubuntu Server and I would strongly encourage him to pursue his idea of specific package stack testing or find other ways Ubuntu Server is used and continue to improve those areas.


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/UbuntuServerDeveloperApplication (last edited 2021-01-14 16:44:35 by paride)