Server bug zapping

Registered by Dustin Kirkland  on 2009-11-10

When I was a kid, we had one of these things hanging outside, an eerie blue light called a "bug zapper". Some bugs were hopelessly draw to it, would fly into the light, and be electrocuted, leaving a nasty smell of ozone behind.
 * http://www.lightingpro.com.au/catalog/images/bug-eater.jpg

I see nowadays there's a more proactive approach -- an electrically charged tennis racket, also called a "bug zapper":
 * http://www.croquet-uk.com/Application/images/Electroswat/bug-zapper-lg.jpg

For many server packages in Ubuntu, we simply wait around for bugs to be fixed. Sometimes they get fixed upstream. Sometimes someone drives by and drops off a patch. It's like waiting for the bugs to hurl themselves at the blue light.

But given Lucid's LTS status, I think we should take a more proactive approach. I think we should arm a platoon of Ubuntu Server Developers and Community Members with electric rackets, and send them out on timed, coordinated missions, focusing all efforts on a particular package or group of packages for about a week at a time.

As an example, several members of the Server Team and Community focused on fixing Eucalyptus bugs (and only Eucalyptus bugs) for a short period. In the month of October, we uploaded Eucalyptus 10 times, fixing 60 bugs. Now this, of course, was a special case for many reasons. But I believe that the concept should apply.

I suggest that we produce a schedule for the entire Lucid cycle, defining a particular package, or group of packages within the Ubuntu Server Seed, that the team and community will focus on both Triaging and Fixing the bugs for the specified period of time. Some examples:
 * database (mysql, postgres)
 * LAMP-stack-stuff (apache2, php5)
 * virtualization (libvirt, qemu-kvm, virt-manager)
 * java
 * etc.

So as an example, let's imagine the week of January 11 - 15 is dedicated to qemu-kvm.
Week: January 11 - 15
State: Alpha1 -> Alpha2
Package(s): qemu-kvm
Uploader(s): kirkland
Zappers(s): kirkland, mathiaz, smoser, jsalisbury
Bzr Branch Location: lp:wherever
Bug URL: http://bugs.launchpad.net/ubuntu/+source/qemu-kvm
Test PPA: wherever

For that package, do the following:
 * Monday - total bug triage
  - prioritize all bugs according to a defined formula for that package
  - confirm any bugs in the "new" state
  - triage any bugs in the confirmed state, where the fix or workaround is known
  - expire any bugs that are invalid, or fix-release any bugs that cannot be reproduced on the latest code
  - assign yourself (or others) triaged bugs that they can fix
 * Tuesday - Friday
  - working from bzr branches, the specified Uploaders merge fixes from the Zappers
  - prepare a package upload to Lucid (or to a Proposed PPA, depending on how far into the Lucid Cycle we are)
  - packages build with elevated priority (ideally)
  - All Uploaders and Zappers test the new package, confirming each other's fixes, and ensure there are no regressions
  - If the package was in a PPA for testing, now the Uploader pushes it to Karmic
 * Friday
  - Generate a report
   + from the package(s) changelogs, showing the number of uploads and bugs fixed in those packages that week
   + the LP bug list before and after triaging

Some care needs to be taken around freezes. Also, it would be helpful to get participation from the QA team as well as the community.

Blueprint information

Status:
Complete
Approver:
Jos Boumans
Priority:
Medium
Drafter:
Dustin Kirkland 
Direction:
Approved
Assignee:
Dustin Kirkland 
Definition:
Discussion
Series goal:
Accepted for lucid
Implementation:
Implemented
Milestone target:
milestone icon ubuntu-10.04-beta-2
Started by
Dustin Kirkland  on 2009-11-10
Completed by
Dustin Kirkland  on 2010-05-20

Related branches

Sprints

Whiteboard

jib review 2010-02-24: Define a maximum of 1 project per week during beta1 & beta2. Solicit participation from interested upstreams for the project.

ttx review: the agenda for the next weeks should be announced once in advance at the start of the subcycle. Also remember that Beta1Freeze and Beta2Freeze should be hard freezes, so it might disrupt the process a little.

Status:
(not updated yet)

Work items for ubuntu-10.04-beta-1:
[kirkland] Define bugzapping projects for week #18-#20: DONE
[kirkland] Announce project & solicit participation for week #18: DONE
[ttx] Announce project & solicit participation for week #19 (samba): DONE
[kirkland] Announce project & solicit participation for week #21: DONE

Work items for ubuntu-10.04-beta-2:
[kirkland] Announce project & solicit participation for week #21 (eucalyptus, euca2ools): DONE
[mathiaz] Announce project & solicit participation for week #22 (mysql): DONE
[kirkland] Announce project & solicit participation for week #22.5 (~libvirt): DONE

(?)

Work Items