powersj

Differences between revisions 12 and 13
Revision 12 as of 2017-10-23 20:06:22
Size: 6159
Editor: powersj
Comment:
Revision 13 as of 2017-10-23 20:18:26
Size: 5871
Editor: powersj
Comment:
Deletions are marked like this. Additions are marked like this.
Line 19: Line 19:
I work on the Canonical Server team as the QA engineer. I work on the Canonical Server team as the QA engineer. I swap my time between the cloud-init and curtin development team where I work on the testing and quality of those projects and the Server team where I work on bug triage, SRUs, git-ubuntu, and general distribution test efforts.
Line 27: Line 27:
=== Bugs Triage, Resolution, and Meetings ===
 * Complete daily [[ServerTeam/KnowledgeBase#Bug_Triage|triage of the Ubuntu Server]] related package defects.
 * As a part of this triage I have developed a set of [[DebuggingServer|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.
=== Bugs Work and Meetings ===
 * Complete daily [[ServerTeam/KnowledgeBase#Bug_Triage|triage of the Ubuntu Server]] related package defects; I have developed a set of [[DebuggingServer|response templates]] based on previous responses used by the server team
Line 32: Line 30:
 * Write each week's [[https://github.com/canonical-server/dev-summary|server team development]] summary
Line 34: Line 33:
 * I am responsible for the Ubuntu Server ISO testing for amd64, i386, powerpc, and ppc64el  * I am responsible for the automated Ubuntu Server ISO testing for amd64, i386, powerpc, and ppc64el
Line 43: Line 42:
=== 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.
=== Testing ===
 * Make the [[https://jenkins.ubuntu.com/server/|Ubuntu Server Jenkins]] is now publicly available and add additional 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 [[https://github
.com/canonical-server/jenkins-jobs|public repo]] organized for re-use
Line 49: Line 47:

== Learning ==
Areas that I am still working on:

 * More packaging work to expand my experience with different types of source packages and learn additional cases for packaging
 * Share more knowledge learned via blog posts (e.g. commands, processes, etc.)
 * Get more automated tests (via dep8) in place for specific packages with high importance and impact
=== cloud-init ===
 * Design and impliment CI and integration test suite with KVM and LXD, working on cloud-based testing
 * Participating in daily new bug responses and triage
Line 59: Line 52:
 * Help users to restore system when they reach specific error messages. For example, if a package is badly misconfigured 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 expects the fix to come from us.
 * More packaging work to expand my experience with different types of source packages and learn additional cases for packaging
 * Continue to share knowledge learned via blog posts (e.g. commands, processes, etc.)
 * Get more automated tests (via dep8) in place for specific packages with high importance and impact
 * Help users to restore system when they reach specific error messages. For example, if a package is badly misconfigured 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. Adding additional bug patterns would be good here.

Joshua Powers (powersj)

Location

Washington, USA

Time Zone

Pacific Standard (UTC-0800) or Daylight (UTC-0700) Time

Launchpad Page

~powersj

Email Address

josh dot powers at canonical dot com

IRC Nick

powersj on freenode & OFTC

Personal Website

https://powersj.github.io/

Twitter

@mrpowersj

GitHub

powersj

Image

/powersj.png

About Me

I work on the Canonical Server team as the QA engineer. I swap my time between the cloud-init and curtin development team where I work on the testing and quality of those projects and the Server team where I work on bug triage, SRUs, git-ubuntu, and general distribution test efforts.

I have an 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 Economics and Computer Science.

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 based-servers, and completed network performance work on scale-up x86_64 systems. My experience with Linux began in high school when I helped to convert my school systems to an all Linux-based system.

Contributions

Bugs Work and Meetings

Ubuntu Server ISO Testing

  • I am responsible for the automated 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, report results to the ISO tracker, monitor ISO size, and report defects as necessary

Packaging

Testing

  • Make the Ubuntu Server Jenkins is now publicly available and add additional 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

  • Design and impliment CI and integration test suite with KVM and LXD, working on cloud-based testing
  • Participating in daily new bug responses and triage

Future Goals

  • More packaging work to expand my experience with different types of source packages and learn additional cases for packaging
  • Continue to share knowledge learned via blog posts (e.g. commands, processes, etc.)
  • Get more automated tests (via dep8) in place for specific packages with high importance and impact
  • Help users to restore system when they reach specific error messages. For example, if a package is badly misconfigured 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. Adding additional bug patterns would be good here.
  • 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)