ApportInUbuntuServer

Differences between revisions 6 and 7
Revision 6 as of 2009-06-03 16:43:47
Size: 5632
Editor: 208-151-246-43
Comment:
Revision 7 as of 2009-06-03 16:49:13
Size: 5817
Editor: 208-151-246-43
Comment:
Deletions are marked like this. Additions are marked like this.
Line 45: Line 45:
 * log to syslog that a crash has been captured by apport

=== most desirable per-package hooks ===

 * mysql: integrate for mysql-bug script.
 * samba (samba-panic)
 * openldap

Summary

Discussion with server team about including apport by default as well as increasing Apport coverage for server packages.

Release Note

Rationale

We have targeted apport/ubuntu-bug as the common way to report bugs in ubuntu along with per-package collection hooks to try to minimize the number of information gathering steps required to get a bug report into a state useful for a developer to work on. However, apport is not installed by default on ubuntu-server and there are fewer apport hooks implemented for server oriented packages, making it a less convenient and effective tool for reporting bugs in ubuntu-server.

User stories

  • Stephanie, a system administrator, installs a development milestone of Ubuntu Server for testing purposes. Upon logging in via ssh, landscape-sysinfo notifies her via the motd that there is a crash dump in /var/crash for a server application. She uses apport-cli to review the information in the crash dump, and launches a browser on the Launchpad URL it prints to finish filing a bug report.
  • Chris, a system administrator, is running Ubuntu Server Edition in production, and notices that one of his applications is crashing. He enables apport by editing /etc/default/apport (XXX and installing gdb?), then waits for the crash to happen. He then examines the debug information in /var/crash/... and uses apport-retrace to get a full stack trace.
  • Nick, a system administrator, is running Ubuntu Server Edition on a staging server. He enables apport via /etc/default/apport so that any crashes are captured before development code is rolled out to production.

Assumptions

The ubuntu-server user community desires that installations contain as small a disk-space footprint as possible, and thus installing large debugging packages like gdb by default is undesirable.

The ability to file bug reports external to the system the bug report information was collected from is highly desirable.

Design

You can have subsections that better describe specific parts of the issue.

Implementation

apport changes

  • move gdb recommendation to apport-gtk and apport-qt and off of apport/apport-cli
  • modify apport to allow an admin to review/edit the collected report before submission to remove any sensitive information that may have leaked through
    • force an active ACK on review of the report
    • admins' need to edit carefully not to break the format of the report
    • may also be desirable for gui tools as well, at least in a tick-box "include this item" form
  • hookutils.attach_hardware_info() should use sysfs instead of HAL (hal may not exist on server installs)
  • log to syslog that a crash has been captured by apport

most desirable per-package hooks

  • mysql: integrate for mysql-bug script.
  • samba (samba-panic)
  • openldap

notifications and plugins

  • a command to list/process pending crash reports
  • landscape
  • nagios
  • screen/byobu

UI Changes

Should cover changes required to the UI, or specific UI that is required to implement this

Code Changes

Code changes should include an overview of what needs to change, and in some cases even the specific details.

Migration

Include:

  • data migration, if any
  • redirects from old URLs to new ones, if any
  • how users will be pointed to the new way of doing things, if necessary.

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.

Unresolved issues

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

BoF agenda and discussion

Apport in Ubuntu Server

Cost of enabling apport

  • gdb (recommended) gets installed on servers
    • Still useful without it though (use apport to report bugs)
    [ACTION] Steve will followup with Martin to disable gdb by default

Use case: Company-Internal bug reporting

  • Possibility in apport to send bugs somewhere else
  • Using retracers to generate gdb info from a system not in production
  • setup an internal retracer infrastructure using an internal archive

Confidentiality issues

  • Sensitive config info
  • Being able to review/edit info before it's sent
  • Force review of report to get active ACK from reporter ?

Changes to apport

  • hookutils.attach_hardware_info() should use sysfs instead of HAL
  • add landscape sysinfo plugin to show pending crash reports
  • Nagios plugin ?
  • Might be nice to have a command to list/process pending crash reports
  • Processing a crash report could be simpler than apport-cli -c /var/crash/...
  • byobu plugin
  • Consider logging to syslog to inform sysadmin when a crash has been captured
  • Investigate if any CIM indication could also be hooked into apport ?
  • EC2: clean up /var/crash on boot as crash dumps stored there wouldn't be relevant to the running instance.

Package hooks

  • mysql: integrate for mysql-bug script.
  • samba (samba-panic)
  • openldap


CategorySpec

QATeam/Specs/ApportInUbuntuServer (last edited 2009-06-10 12:56:25 by cpc4-oxfd8-0-0-cust39)