powersj

Differences between revisions 3 and 4
Revision 3 as of 2017-03-27 23:16:52
Size: 8154
Editor: powersj
Comment:
Revision 4 as of 2017-05-30 17:52:24
Size: 8634
Editor: powersj
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
||<tablewidth="100%" ^:> {{attachment:/powersj.png}} ||<^> Hi, I'm '''Josh Powers''' <josh.powers@canonical.com> from Fort Collins, Colorado, USA. <<BR>><<BR>>My work with Linux began in high school when I helped to convert my school to all Linux-based systems. Before joining Canonical in 2016, I spent 9 years at HP, where I lead a team developing a small Debian derivative, enabled and tested Linux I/O (network, SAS, fibre channel, and infiniband) on x86_64 and IA64 servers, and completed network performance work on scale-up x86_64 systems.<<BR>><<BR>>I have a MSc. in Computer Science from Georgia Institute of Technology where I did work in artificial intelligence and data science and I completed my undergraduate work at the Colorado State University in Computer Science and Economics.<<BR>><<BR>>When not working I am probably reading up on various artificial intelligence or data science or riding my bicycle. My biggest interest are in data visualization the related activities.<<BR>><<BR>> '''IRC:''' powersj <<BR>> '''Launchpad:''' https://launchpad.net/~powersj <<BR>> '''Blog:''' https://powersj.github.io/|| ||<tablewidth="100%" ^:> {{attachment:/powersj.png}} ||<^> Hi, I'm '''Josh Powers''' <josh.powers@canonical.com> from Fort Collins, Colorado, USA. <<BR>><<BR>>My work with Linux began in high school when I helped to convert my school to all Linux-based systems. Before joining Canonical in 2016, I spent 9 years at HP, where I lead a team developing a small Debian derivative, enabled and tested Linux I/O (network, SAS, fibre channel, and infiniband) on x86_64 and IA64 servers, and completed network performance work on scale-up x86_64 systems.<<BR>><<BR>>I have a MSc. in Computer Science from Georgia Institute of Technology where I did work in artificial intelligence and data science and I completed my undergraduate work at the Colorado State University in Computer Science and Economics.<<BR>><<BR>>When not working I am probably reading up on various artificial intelligence or data science or riding my bicycle. My biggest side-project interest is in data visualization and related activities.<<BR>><<BR>> '''IRC:''' powersj <<BR>> '''Launchpad:''' https://launchpad.net/~powersj <<BR>> '''Blog:''' https://powersj.github.io/||
Line 11: Line 11:
 * If bugs require a Debian bug, and sometimes upstream bug, I will go and submit that as well and add it to the bug for tracking purposes.  * If bugs require a Debian bug, and sometimes upstream bug, I will go and submit that as well and add it to the bug for tracking purposes or tag it appropriately. 
Line 32: Line 32:
 * SRU submissions (e.g. tomcat7, tomcat8, mongodb)

=== Test Automation ===
 * Investigated Ubuntu Server packages for automated tests (e.g. dep8).
 * Setting up automated proposed testing of server packages.
Line 65: Line 70:


== Testimonials ==
'''Note:''' If you have anything nice to say about this person, please do add it below along with @ SIG @ (no spaces). The @ SIG @ command will sign your name and date/time it after you "Save Changes".

/powersj.png

Hi, I'm Josh Powers <josh.powers@canonical.com> from Fort Collins, Colorado, USA.

My work with Linux began in high school when I helped to convert my school to all Linux-based systems. Before joining Canonical in 2016, I spent 9 years at HP, where I lead a team developing a small Debian derivative, enabled and tested Linux I/O (network, SAS, fibre channel, and infiniband) on x86_64 and IA64 servers, and completed network performance work on scale-up x86_64 systems.

I have a MSc. in Computer Science from Georgia Institute of Technology where I did work in artificial intelligence and data science and I completed my undergraduate work at the Colorado State University in Computer Science and Economics.

When not working I am probably reading up on various artificial intelligence or data science or riding my bicycle. My biggest side-project interest is in data visualization and related activities.

IRC: powersj
Launchpad: https://launchpad.net/~powersj
Blog: https://powersj.github.io/

My Involvement

Bugs Triage, Resolution, and Meetings

  • Complete daily triage of the Ubuntu Server related package defects. This involves reviewing all updated bugs for a specific time period and making sure that they are either in progress, waiting for a response, or properly closed. If not, I spend time evaluating the bug and make a determination on the next steps. This could involve asking for more information, explaining how it is a local issue and pointing to a guide or steps to help, or accepting the bug and adding it to the server team backlog.

  • As a part of this triage I have developed a set of response templates based on previous responses used by the server team.

  • If bugs require a Debian bug, and sometimes upstream bug, I will go and submit that as well and add it to the bug for tracking purposes or tag it appropriately.
  • I then work as one of the Ubuntu Server team members who actively work on the triaged server related bugs. These bugs are the collection of identified and confirmed issues that need resolution either upstream, in Debian, and/or in Ubuntu.
  • Rotate as chair of the weekly Ubuntu Server Meeting

Ubuntu Server ISO Testing

I am responsible for the Ubuntu Server ISO testing for amd64, i386, powerpc, and ppc64el. I maintain the automated ISO tests that we use to gate the promotion of new daily ISOs, testing before any new release or point release, and report results to the ISO tracker, and report defects as required.

When I took over the tests in Yakkety were more than 50% failing. Many due to changes in tests that were required, others due to legitimate issues. By the time Yakkety was released the few failures we had were explained or resolved.

For the Zesty cycle I added the ppc64el architecture to the automated tests. This required changes to Utah as well as some of the tests. Also, like Debian, I was happy to see the discontinuation of the powerpc image.

Size monitoring/management

As a part of quality for the ISOs I also monitor the size of the Ubuntu Server ISO to verify it stays contained to a single CD sized ISO. If an ISO grows larger than 700MB then I try to track down what grew or changed that caused this in order to determine if something needs to be fixed or if we are ok with the change.

In Xenial, for example, the 2nd point release added the HWE kernels which grew the ISOs far behind the limit. In Yakkety, a new package brought in a new font dependency growing the image in size, as well as another package grew due to having lots of debugging enabled. Finally, in Zesty, new features in the ISO to allow for additional netboot increased the size of the ISO.

Packaging

  • MIR Request iotop, nicstat, htop
  • Seeded iotop, nicstat
  • Request package sync
  • Numerous merge proposals
  • SRU submissions (e.g. tomcat7, tomcat8, mongodb)

Test Automation

  • Investigated Ubuntu Server packages for automated tests (e.g. dep8).
  • Setting up automated proposed testing of server packages.

Test Infrastructure

  • Ubuntu Server Jenkins is now publicly available https://jenkins.ubuntu.com/server/

  • I have added the following as slaves: an s390x LPAR, bare metal ppc64el Power8, an arm64 development board, and Xeon-based amd64 system. Also have an i386 virtual machine to be able to simulate an i386 environment.
  • All jobs, tests, and deployment scripts are kept in a public repo organized for re-use.
  • Working to start getting individual server-specific package level testing. Worked with cpaelzer to get virtualization and live-migration related tests added to our infrastructure.

cloud-init

  • Focused on getting some initial integration tests and CI for cloud-init running and operational.
  • Added git-based CI that runs various unit tests for every merge proposal with automated launch and testing.
  • Added pylint and flake8 to CI testing
  • With Magicalchicken added initial LXD-backed integration tests to provide coverage for about half the features cloud-init can touch.
  • Working on coverage of unit tests

Things I am Learning

  • Updating documents for new users by removing old releases, or updating to match experience of LTSs + new releases
  • Share more knowledge learned via blog posts
  • More packaging work to expand my experience with different types of source packages and learn additional cases for packaging
  • Get more automated tests in place for specific packages with high importance and impact
  • Fill out more dep8 tests for packages with none

Ubuntu to Me

Strengths of Ubuntu

First and foremost is the people whom you get to work with are incredibly knowledgeable and experienced in many areas leading to lots of opportunities to learn and explore new areas. Secondly, the fact that user experience is a key design factor into the development of Ubuntu. I feel that not only do things generally just work, but that making sure things work is key in underlying design decisions.

Opportunities in Ubuntu

As someone who does a considerable about of bug triage a few of these come directly out of that work:

  • Help users to restore system when they reach specific error messages. For example, if a package is badly mis-configured and should be reconfigured before doing anything else, help them do that. If a bug gets reported enough, even if it ends up due to user error, have a set of commands ready to go to recover from that. Looking at the community forums or other internet forums for the most often visited results may assist with this.
  • Debugging issues on large software packages is not easy. Packages like openvpn, samba, etc. where many systems can be involved and various server-client configurations are also required make for difficult work. Trying to sort out what might be some other network or 3rd party interaction versus what is a legit issue is extremely difficult. Having a set of VMs or containers that have basic setups already defined and created could help with attempting to reproduce issues.
  • Trying to explain to users when software Ubuntu provides may need to have bugs filed upstream to the project, when the user expect the fix to come from us.
  • Availability of some features is not always clear. The best example I can give is the availability of the HWE kernels. I can see how many enterprise customers might have more interest in this, however, providing a better list to new users, or reminders to get those getting interested for the first time a list of relatively new things or a list of “Have you tried these cool things in Ubuntu yet?”. ZFS and LXD are other examples.
  • There is a lot of institutional knowledge as well as decision tree paths to making the best decision sometimes. There are many different wiki pages for knowing how to get started with packaging, some of it with details from long-ago supported releases that is irrelevant now and some that has expired content. For new users this can be frustrating. As we continue to grow new users do not want to push them away or turn them off with bad documents.

Testimonials

Note: If you have anything nice to say about this person, please do add it below along with @ SIG @ (no spaces). The @ SIG @ command will sign your name and date/time it after you "Save Changes".

powersj (last edited 2024-03-04 16:26:07 by powersj)