DeveloperApplicationPPU

I, Ryan Harper, apply for Per-Package Upload rights for package(s) <X>>.

  • cloud-init
  • curtin

Name

Ryan Harper

Launchpad Page

https://launchpad.net/~raharper

Wiki Page

RyanHarper

Who I am

Hi, I'm Ryan Harper, a member of the Ubuntu Server team. I'm a core contributor to cloud-init and curtin projects responsible for new feature development, documentation, bug fixing and triage, unit and integration testing. In addition to these specific projects, I've an extensive background in OpenVirtualization technologies starting with Xen and KVM, and more recently working with LXD and other container-based solutions.

My Ubuntu story

I first encountered Ubuntu when an colleague of mine, Scott Moser, shared an Ubuntu 5.04 install cd which I booted up on my IBM Thinkpad and everything Just Worked (TM). It was a huge turning point to have an experience where the distro didn't just take the package defaults, but rather expressed a tasteful opinion of how things should work. Ubuntu had a level of integration and consistency not seen in any of the other distros at the time. It's been my primary development environment since.

My involvement

While I've been a long time user, I only became directly involved with the development of Ubuntu (rather than upstream) after joining Canonical. Since then I've been working with the Server Team on keeping Ubuntu Server up-to-date through package merges, bug triage, bug fixing and SRU's as needed.

Examples of my work / Things I'm proud of

  • curtin vmtest used for continuous integration exercising curtin with hundreds of configuration choices across all supported Ubuntu Releases which provides close to 1500 individual tests to help prevent regressions in curtin's behavior.

  • curtin and cloud-init's net module for advanced network configuration which supports multiple distro output formats

  • curtin's documentation at http://curtin.readthedocs.io/en/latest

  • cloudinit-analyze. This tool parses cloud-init logs and provides a systemd-analyze style output to help track where cloud-init spends it time during boot. This has been very useful in uncovering places where we can make Ubuntu boot faster in various clouds and environments

Areas of work

  • Canonical's OpenStack Integration Lab (OIL). I worked with Openstack deployments, Juju, juju-deployer, Jenkins, and helped deploy the production service that runs 24/7 deploying thousands of OpenStacks a day. While working on OIL I worked with (Jason Hobbs, Greg Lutostag, Ashley Lai, Andres Rodriguez, James Page, Ryan Biesner, Corey Bryant). It was great working with such a skilled team.

  • Curtin. Initial development work was implementing curtin's advanced network configuration which consumed a YAML input which described a network configuration and curtin would render an /etc/network/interfaces file such that upon first boot, the system would have the correct configuration described in the YAML. I worked primary with Scott Moser on curtin.
  • Cloud-init. For cloud-init, one of my first development features in cloud-init was to allow cloud-init to convert OpenStack network_data.json format into eni. I worked with Scott Moser on cloud-init.

Bug Fixes sponsored

Package

Version

Bugs

Action

Notes

vgabios

0.7a-5

sru

facter

2.3.0-0ubuntu1

upgrade

samba

2:4.1.6+dfsg-1ubuntu2.14.04.8

1257186

php5

5.5.9+dfsg-1ubuntu4.12

1474276

qemu

1:2.3+dfsg-5ubuntu6

1006655 1491972 1493049 1495895

libvirt

1.2.16-2ubuntu10

1495895

qemu

1:2.3+dfsg-5ubuntu10

1508466

libnl3

3.2.21-1ubuntu1

1511735

network-manager

0.9.8.8-0ubuntu7.3

1539634

tgt

1:1.0.62-1ubuntu2

strongswan

5.3.5-1ubuntu1

1309594 1330504 1333655 1448870 1451091 1470277 1505222

multipath-tools

0.5.0+git1.656f8865-5ubuntu1

941874 1431650 1432062 1479929 1489379 1492425 1503286 1526984 1540401 1540407 1543430 1551952

squid3

3.5.12-1ubuntu2

1473691

tgt

1:1.0.63-1ubuntu1

1555700

tgt

1:1.0.63-1ubuntu1.1

1547060

tgt

1:1.0.63-1ubuntu2

1547060

bridge-utils

1.5-9ubuntu2

1576858 1576870 1576876

tgt

1:1.0.43-0ubuntu4.1~14.04.3

1518440

augeas

1.2.0-0ubuntu1.2

1491406

curtin

0.1.0~bzr399-0ubuntu1~16.04.1

1551937 1588547 1590846 1592149

sru

libvirt

1.3.1-1ubuntu10.2

1571068

curtin

0.1.0~bzr425-0ubuntu1~16.04.1

sru

resolvconf

1.78ubuntu4

resolvconf

1.78ubuntu3

resolvconf

1.79ubuntu3

resolvconf

1.79ubuntu1.1

systemd

229-4ubuntu14

systemd

229-4ubuntu17

cloud-init

0.7.9-243-ge74d775-0ubuntu1

upgrade

cloud-init

17.1-13-g7fd04255-0ubuntu1

upgrade

cloud-init

17.1-17-g45d361cb-0ubuntu1

upgrade

curtin

0.1.0~bzr532-0ubuntu1

upgrade

cloud-init

17.1-25-g17a15f9e-0ubuntu1

upgrade

curtin

0.1.0~bzr541-0ubuntu1

upgrade

curtin

17.0~bzr552-0ubuntu1

upgrade

btrfs-tools

3.12-1ubuntu0.2

curtin

17.1-6-g8b145067-0ubuntu1~16.04.1

curtin

17.1-6-g8b145067-0ubuntu1~17.10.1

curtin

17.1-6-g8b145067-0ubuntu1

upgrade

curtin

17.1-11-ga4c9636b-0ubuntu1~16.04.1

curtin

17.1-11-ga4c9636b-0ubuntu1~17.10.1

mdadm

4.0-2ubuntu1

curtin

17.1-51-gbd40234f-0ubuntu1

upgrade

curtin

18.1-1-g45564eef-0ubuntu1~17.10.1

curtin

18.1-1-g45564eef-0ubuntu1~16.04.1

curtin

18.1-5-g572ae5d6-0ubuntu1

upgrade

curtin

18.1-17-gae48e86f-0ubuntu1~18.04.1

curtin

18.1-17-gae48e86f-0ubuntu1~17.10.1

curtin

18.1-17-gae48e86f-0ubuntu1~16.04.1

cloud-init

18.3-38-gd47d404e-0ubuntu1

upgrade

cloud-init

18.3-39-g757247f9-0ubuntu1

upgrade

cloud-init

18.3-44-g84bf2482-0ubuntu1

upgrade

cloud-init

18.3-46-gbb60f61b-0ubuntu1

upgrade

curtin

18.1-52-g5f0082d1-0ubuntu1

upgrade

curtin

18.1-59-g0f993084-0ubuntu1

upgrade

curtin

18.2-0ubuntu1

upgrade

Things I could do better

Staying on top of triage for packages that matter. Together as a team this has improved but every so often, something not critical to my workload but impacts other Ubuntu Server users does and it really stinks when you feel like you've dropped the ball for users. Making more realistic projects on delivery of features in the 6-month dev cycle; while I'm getting better I still find that I don't scale back (or increase the sizing) to deal with the inevitable hot bug or critical situation which then delays one or more of our promised features.

Plans for the future

General

I plan to eventually become a CoreDev and expand the set of packages in which I feel confident that I understand the code and use-cases.

What I like least in Ubuntu

The amount of delta in many of the packages that Ubuntu carries. In many of the packages, there are some very reasonable changes/fixes that we tend not to get upstream. This impacts not just the cost of maintaining the delta on the Ubuntu side, but sometimes is perceived as not caring about upstream development.


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

As a sponsor, just copy the template below, fill it out and add it to this section.


TEMPLATE

Scott Moser

General feedback

Ryan and I have worked together for probably 10 years across two companies and many projects. He and I together probably share the majority of curtin annotated lines of code, and he's among the top 3 or 4 for cloud-init. Since Ryan has full commit access to both of these projects I have exactly zero hesitation suggesting he be able to upload them to Ubuntu.

Specific Experiences of working together

Ryan and I share development of cloud-init and curtin. I've also worked with him on several of the bugs and upload's he listed above.

Areas of Improvement

Ryan's debian package experience is probably somewhat limited, but both curtin and cloud-init are generally "done" with packaging at this point, so that is not a problem. Additionally, Ryan is willing to ask for help and knows when to do so.

Serge Hallyn

General feedback

Ryan has terrific expertise relating to virtualization, and in my experience has always been very cautious. I wholeheartedly endorse him for this PPU, and really hope he find time to work toward coredev.

Christian Ehrhardt

General feedback

I'm very pleased whenever I work with Ryan from attitude, via communication to documentation and the code that he creates. I fully endorse his PPU to cloud-init/curtin two times over!

Specific Experiences of working together

Ryan and I have worked together at IBM and Canonical. For virtualization at first and later where cloud-init or curtin meet s390x or the KVM stack. I'd have no doubt to add him to any PPU that he'd request, but cloud-init/curtin is his recent major area so it fits even better.

Areas of Improvement

While Ryan's .deb packaging experience might be not the longest list, I've seen him do fixes and uploads nicely. Furthermore this PPU is restricted to exactly his home turf, so I'm convinced he will do great. He'll probably even grow from doing that more often into some more related packages over time - I'd appreciate if he sooner or later would get like ubuntu-server-dev to upload some more package fixes when he runs into them.

Chad Smith

General feedback

I've been working with Ryan since I joined the Ubuntu Server team near 2 years ago. He is a seasoned software developer who has depth in understanding of networking, storage and virtualization. All of these assets contribute to his excellent ownership of both the curtin and cloud-init projects.

He is a strong python developer with a keen eye toward making solid architecture decisions which make the code in curtin and cloud-init easier to maintain and extend. His experience uploading multiple project beyond curtin and cloud-init frameworks give him the additional context when encountering issues with package maintenance.

I only have praise for his thoughtful approach to package management and cautious decision which preserve the integrity and quality of Ubuntu for projects he maintains.

Selfishly, approving his PPU application will help him support me when I run into my own configuration issues in maintaining these projects. These projects are both in need of additional maintainership to help out with the fairly frequent package SRUs we undergo.

Specific Experiences of working together

Ryan has helped onboard me as an Ubuntu Server team member. He is patient, complete and correct in all of my interactions with him. He has a mastery of both cloud-init and curtin projects and understands the needs of the consumers of those packages. It has provided me with the context and intent I needed to maintain curtin and cloud-init properly. I look forward to sharing the upload rights to these projects as I know his decisions are sound and his response time is fast in the event of an issue.

Areas of Improvement

As we build and broaden Ryan's upload history, I'd like also to see him try to gain coredev upload rights so he can better assist packaging maintainership of other projects in Ubuntu.

== <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:
## http://ubuntu-dev.alioth.debian.org/cgi-bin/ubuntu-sponsorships.cgi?
=== Areas of Improvement ===


RyanHarper/DeveloperApplicationPPU (last edited 2019-01-10 16:58:18 by chad.smith)