I, Christian Ehrhardt, hereby (re-)apply for core-dev to enhance my ability to drive tasks for the server team and Ubuntu in general. I climbed up the ladder with PPU permissions, Server-dev uploads, MOTU permissisons and it should be time to reconsider a full core-dev membership again.


Christian Ehrhardt

Launchpad Page


Wiki Page


Who I am

I'm member of Canonical in the Server Team since late 2015 and working there primarily on virtualization and automation related things like DPDK packaging and testing, Cloud-init/Curtin development, but recently was mostly busy by full scale qemu/libvirt maintenance. Also I work a lot on merging new versions of server related packages and cleaning out bugs in them along our regular triage and bug squashing activities. From my former Job I also have a long history in System z regarding Linux Performance Analysis and due to that also work on s390x or performance related issues every now and then.

In "the other life" I'm a 36 years old rather tall guy with the default family model: wife, son, daughter. And as all of us struggling to keep my hobbies of biking and playing saxophone alive in between work and family.

My Ubuntu story

My Linux story starts with Gentoo around 2003. It suited my nature of optimizing things and emerge was a great package management tool at the time. Since around 2008 I changed all my systems to Ubuntu as it was just easier to consume in so many ways. Over time the full range from small embedded or HTPC to reasonable Server installations as well as on many of my Desktops were based on Ubuntu. I was closer to the Kernel for a while with a Thesis about I/O Schedulers in 2004. Then I worked with Linux as a performance analyst in IBM since 2004, but that was focused on System z where for a long time only Suse and RedHat existed. Yet that brought me into contact with so many benchmark, packages and the Kernel. A typical jack of all trades - expert in none but skilled in everything approach - causing a few fixes here and there around the open source community. I was switching between Performance analyst and a KVM Developer Role in between to further bolster my set of experiences. When the chance to join Canonical showed up in 2015 I saw the opportunity to combine my IBM Linux history with really working on free software. Since then I grabbed and worked on many Server issues matching our regular triage and fixing schedule. And furthermore are responsible for DPDK, Qemu and Libvirt for a while now.

My involvement

Examples of my work / Things I'm proud of

  • Optimizing KVM on s390x to outperform the classic z/VM Hipervisor in various areas up to 5x - full range from tuning to kernel patches.
  • Identifying several complex performance issues over the years from faulty chip design up to sub-optimal cross application interactions.
  • making DPDK available on Ubuntu in (IMHO) the first user consumable way (

  • founding and driving joint packaging group to continue evolving DPDK in a colaborating way for Debian and Ubuntu (

  • Taking over and not only maintaining but also clearing a lot of technical debt in Libvirt and Qemu
  • It is a lot of pain to list things I'm proud of, seems not to be "in-character" for me :-/

Areas of work

Since joining Canonical I was part of the Server Team and are:

  • working on Curtin with Scott Moser
  • working on Subiquity with Ryan Harper
  • working on various s390x issues with Dann Frazier and Dimitri Ledkov
  • taking over DPDK completely from Stefan Bader
  • working on openvswitch-dpdk with James Page
  • working on various merges/fixes with James Page, Chris Arges, Martin Pitt, Adam Conrad, Robie Basak, ... (many more now)
  • initially working with Rbasak on the Server Teams git workflow (taken over by Nish for a while now)
  • Working on various power related issues for the Server Team
  • Libvirt maintenance
  • Qemu maintenance
  • Openvswitch co-maintenance with the OpenStack Team

  • multipath-tools co-maintenance with cyphermox
  • Adding CI/Regression automation for DPDK
  • Adding CI/Regression automation for Qemu/Libvirt

And while it is true that maybe 80% of my work are fine with the permissions I have every now and then I cross core-dev permissions. I tracked for a few months bugs that would have needed core-dev to progress faster and there are enough (I surely forgot a few) to qualify:

  • bug 1675770 lvm more than 8 stripes
  • bug 1668093 openssh ssh-keyscan -H clobber
  • bug 1670745 openssh ssh-keyscan port
  • bug 1673491 libnl crash
  • bug 1630516 logrotate fails to overwrite
  • bug 1683237 krb5 fix sync for dev release and prep SRU
  • bug 1690730 postgres MREs - face it, they often need retriggers of dep8 for other packages
  • bug 1593907 ntp pre Xenial is core-dev
  • bug 1540323 ubuntu-virt* changes in seeds
  • bug 1702823 help on systemd
  • Also often on Triage some bug task management is blocked on being a core-dev
  • Finally it would allow to help more with our review and merging process in the server Team (usdi)

Things I could do better

There are still a lot of hidden "this is the way it is done in Ubuntu" gems that I have to uncover and adapt. But it gets better with every bug/upload/discussion I work on. I got the feeling recently that the last bunch of merges went by far smoother and easier.

Other than that I really want to be even more active in "helping people" - I continued to keep an eye on IRC channels and askubuntu for that and it feels good - I just think that makes Ubuntu better overall.

I appreciate that in our regular triage we can help the community, but sometimes there just isn't enough time to fix everything for everybody - every % of more efficiency at work will help in that area.

Plans for the future


IMHO Linux in general has a very bad swapping spike behavior when passing into memory shortage that I really hate. I have quite some ideas about a triple watermark design and low prio async writers and all that stuff that I want to work on one day. That is a long term thing I still carry from my performance times and I don't know if I can ever tackle this - but it is one particular thing in the back of my mind.

Also more recently DPDK needs a new way to work-everywhere-but-optimize-for-local-system. That is just a meta-level or two above "-march X -O3". I'm driving a few discussions about various ways to do so - hope that will work some way. That clearly is something that I'd like to see improved.

Furthermore I drove a (still continuing) effort to reduce libvirt delta - which helps maintenance and reduces awkward errors due to undetected bit-rot.

I also added more dep8 tests to several packages that I have experience with, but again while we could do so much more time is limited.

What I like least in Ubuntu

I was a bit shocked when I saw the huge amount of open bugs. No offense to anybody, it is just more than anyone can handle. And to a huge part it can be covered with triaging and prioritization alone, but sometimes I just think there should be more effort on that. When I had the time to focus on a particular package I found that most of the time 80% of the bugs never/no-more apply and could be closed - maybe all of Canonical should do that for a week one day. For myself I hope that I can continue to have the opportunity to work on more packages to get an even broader feeling and set of experience of the Linux world. That way I can do my part to reduce the amount of open issues.

Probably somewhat related to my feelings about open bugs, I also think we should make more use of the adt infrastructure. So many packages have no or outdated dep8 tests - i'd really like to see some effort to improve these.

I guess I can't deny my QA related performance Analyst history Smile :-)


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


James Page

General feedback

I've worked extensively with Christian over the last 6 months on the integration of DPDK with Open vSwitch, sponsoring his changes to the DPDK package into the archive.

He demonstrates a highly professional attitude to the maintenance of DPDK, participating actively in the upstream DPDK community and taking strong ownership of both the packaging and testing of DPDK in Ubuntu.

I'd trust him with upload rights in Ubuntu.

Specific Experiences of working together

Lots of DPDK uploads; I did the counterpart changes into Open vSwitch (some of them provided by Christian):*&sponsoree_search=name

Areas of Improvement

I'd like to see Christian diversify the packages he's helping with across Ubuntu; I think he will be a valuable asset in the Ubuntu Community in terms of his own work and his ability to support other developers. I'd like to see him participate in the patch pilot programme ASAP!

Chris J Arges

General Feedback

I've reviewed and sponsored some of Christian's work on DPDK. He's shown attention to detail, great communication, and quick understanding of Debian packaging and Ubuntu processes. I believe that he will be able to effectively handle uploading DPDK without issue.

Specific Experiences of working together*&sponsoree_search=name

In addition I've reviewed some of his SRU's in the queue and those have also been of good quality.

Areas of Improvement

I think Christian can handle more than just DPDK and should work towards being able to upload more packages.

-- arges 2016-06-06 12:57:30

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

Scott Moser

General feedback

I do not think I've sponsored any of Christian's package changes, but he has worked with me on cloud-init and curtin. I also have some experience with his DPDK work. In all cases, the thing that stands out in Christian's work is the effort he puts into testing. He strives to have good code coverage and is careful, methodical and considerate in all his work.

I have no reserve recommending Christian for Core Dev.

Specific Experiences of working together

Christian has worked on cloud-init and curtin through merge proposals at:

Areas of Improvement

Christian has less specific packaging experience than core developer or someone with broader archive access. I do not see that as a real problem due to his willingess to ask questions, and to be careful.


=== 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:
=== Areas of Improvement ===


ChristianEhrhardt/CoreDevApplication (last edited 2017-08-07 14:25:16 by paelzer)