ServerLucidBugZapping

Differences between revisions 2 and 5 (spanning 3 versions)
Revision 2 as of 2010-02-25 23:10:26
Size: 4722
Editor: cpe-66-69-226-228
Comment: add schedule
Revision 5 as of 2010-02-25 23:47:48
Size: 5658
Editor: cpe-66-69-226-228
Comment:
Deletions are marked like this. Additions are marked like this.
Line 28: Line 28:
== Design/Implementation == == History ==
Line 32: Line 32:
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.
== Design/Implementation ==
=== Schedule ===
Line 39: Line 35:
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
This snippet is lifted from the LucidReleaseSchedule, and indicates all relevant freezes.

|| ''Week'' || ''Date'' (Monday) || ''Uploaders'' || ''Packages'' || ''Status'' || ''Notes'' ||
|| 18 || March 1st || DustinKirkland || ''Virtualization'': [[http://bugs.launchpad.net/ubuntu/+source/qemu-kvm|qemu-kvm]], [[http://bugs.launchpad.net/ubuntu/+source/libvirt|libvirt]], [[http://bugs.launchpad.net/ubuntu/+source/virt-manager|lxc]], [[http://bugs.launchpad.net/ubuntu/+source/virt-manager|virt-manager]] ||<#E47A7A> /!\ '''UserInterfaceFreeze''' || ||
|| 19 || March 8th || || ''File/Print sharing'': [[http://bugs.launchpad.net/ubuntu/+source/samba|samba]] ||<#E47A7A> /!\ '''Beta1Freeze''', /!\ '''KernelFreeze''' || ||
|| 20 || March 15th || MathiasGug || ''Databases'': [[http://bugs.launchpad.net/ubuntu/+source/postgres-8.4|postgres]], [[https://bugs.edge.launchpad.net/ubuntu/+source/mysql-dfsg-5.1|mysql]] ||<#E47A7A> /!\ '''Beta1Release''' || '''[[http://www.ubuntu.com/testing/lucid/beta1|Beta 1]]''' ||
|| 21 || March 22nd || MathiasGug, DustinKirkland || ''UEC'': [[http://bugs.launchpad.net/ubuntu/+source/eucalyptus|eucalyptus]], [[http://bugs.launchpad.net/ubuntu/+source/euca2ools|euca2ools]] ||<#E47A7A> /!\ '''DocumentationStringFreeze''' || ||
||<-5 #eeeeee> April 2010 ||
|| 22 || March 28th || ||<#E47A7A> /!\ '''Beta2Freeze''' || ||
|| 23 || April 5th || ||<#E47A7A> /!\ '''Beta2Release''' || '''[[http://www.ubuntu.com/testing/lucid/beta2|Beta 2]]''' ||

=== Plan ===

 * Monday - total bug triage
  * prioritize all bugs according to a defined formula for that package, generally:
   * '''Critical''' = data loss, corruption, or serious security problem
   * '''High''' = totally prevents the package from functioning, workarounds impractical
   * '''Medium''' = most bugs, non-ideal behavior, perhaps workarounds prevent from being 'high'
   * '''Low''' = other bugs, with workarounds, affecting fewer users
   * '''Wishlist''' = cosmetic, feature requests, nice-to-have's
  * confirm/reproduce any bugs in the "new" state
  * triage any bugs in the confirmed state, ie, identify the problem, test workarounds or solutions
  * expire any bugs that are invalid
  * fix-release any bugs that cannot be reproduced on the latest code
  * assign yourself (or others) triaged bugs that they can fix
  * time permitting, start working on fixes
 * Tuesday
  * bzr branch the latest lucid code
  * work on fixes, pushing to lp:~yourname/thepackage/bugnumber
  * build a package in your PPA for testing
  * get some else to verify your PPA build
  * uploader will roll all fixes into an upload for that day
 * Wednesday
  * same as Tuesday
 * Thursday
  * same as Tuesday, rolling toward a "final" release by the end of the day
 * Friday
  * Comprehensive regression testing
  * Generate status report on total uploads, bugs triaged, bugs fixed, participation
  * Post to ubuntu-server@ mailing list, ubuntu-server blog

=== Details ===

 * Communication: #ubuntu-server in IRC
 * Bazaar:
 * PPA for uploads and testing
Line 50: Line 83:
 * 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
Line 67: Line 94:
== Schedule/Plan ==

This snippet is lifted from the LucidReleaseSchedule, and indicates all relevant freezes.

|| 18 || March 4th || [[http://bugs.launchpad.net/ubuntu/+source/qemu-kvm|qemu-kvm]], [[http://bugs.launchpad.net/ubuntu/+source/libvirt|libvirt]], [[http://bugs.launchpad.net/ubuntu/+source/virt-manager|virt-manager]] ||<#E47A7A> /!\ '''UserInterfaceFreeze''' || ||
|| 19 || March 11th || ||<#E47A7A> /!\ '''Beta1Freeze''', /!\ '''KernelFreeze''' || ||
|| 20 || March 18th || ||<#E47A7A> /!\ '''Beta1Release''' || '''[[http://www.ubuntu.com/testing/lucid/beta1|Beta 1]]''' ||
|| 21 || March 25th || [[http://bugs.launchpad.net/ubuntu/+source/eucalyptus|eucalyptus]], [[http://bugs.launchpad.net/ubuntu/+source/euca2ools|euca2ools]] ||<#E47A7A> /!\ '''DocumentationStringFreeze''' || ||
||<-5 #eeeeee> April 2010 ||
|| 22 || April 1st || ||<#E47A7A> /!\ '''Beta2Freeze''' || ||
|| 23 || April 8th || ||<#E47A7A> /!\ '''Beta2Release''' || '''[[http://www.ubuntu.com/testing/lucid/beta2|Beta 2]]''' ||

Summary

The Anecdote

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.

Release Note

During Beta1 and Beta2, the Ubuntu Server Community triaged and fixed XXX bugs during a concentrated push to solidify several sets of key server packages (foo, bar, baz).

Rationale

Given Lucid's LTS status, we should take a more proactive approach to fixing Ubuntu Server bugs. 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.

User Stories

== Assumptions ==

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.

History

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 October 2009, we uploaded the Ubuntu eucalyptus package 10 times, fixing 60 bugs.

Design/Implementation

Schedule

This snippet is lifted from the LucidReleaseSchedule, and indicates all relevant freezes.

Week

Date (Monday)

Uploaders

Packages

Status

Notes

18

March 1st

DustinKirkland

Virtualization: qemu-kvm, libvirt, lxc, virt-manager

Warning /!\ UserInterfaceFreeze

19

March 8th

File/Print sharing: samba

Warning /!\ Beta1Freeze, Warning /!\ KernelFreeze

20

March 15th

MathiasGug

Databases: postgres, mysql

Warning /!\ Beta1Release

Beta 1

21

March 22nd

MathiasGug, DustinKirkland

UEC: eucalyptus, euca2ools

Warning /!\ DocumentationStringFreeze

April 2010

22

March 28th

Warning /!\ Beta2Freeze

23

April 5th

Warning /!\ Beta2Release

Beta 2

Plan

  • Monday - total bug triage
    • prioritize all bugs according to a defined formula for that package, generally:
      • Critical = data loss, corruption, or serious security problem

      • High = totally prevents the package from functioning, workarounds impractical

      • Medium = most bugs, non-ideal behavior, perhaps workarounds prevent from being 'high'

      • Low = other bugs, with workarounds, affecting fewer users

      • Wishlist = cosmetic, feature requests, nice-to-have's

    • confirm/reproduce any bugs in the "new" state
    • triage any bugs in the confirmed state, ie, identify the problem, test workarounds or solutions
    • expire any bugs that are invalid
    • fix-release any bugs that cannot be reproduced on the latest code
    • assign yourself (or others) triaged bugs that they can fix
    • time permitting, start working on fixes
  • Tuesday
    • bzr branch the latest lucid code
    • work on fixes, pushing to lp:~yourname/thepackage/bugnumber
    • build a package in your PPA for testing
    • get some else to verify your PPA build
    • uploader will roll all fixes into an upload for that day
  • Wednesday
    • same as Tuesday
  • Thursday
    • same as Tuesday, rolling toward a "final" release by the end of the day
  • Friday
    • Comprehensive regression testing
    • Generate status report on total uploads, bugs triaged, bugs fixed, participation
    • Post to ubuntu-server@ mailing list, ubuntu-server blog

Details

  • Communication: #ubuntu-server in IRC
  • Bazaar:
  • PPA for uploads and testing

For that package, do the following:

  • 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

Unresolved Issues

Discussion

ServerLucidBugZapping (last edited 2010-03-05 14:43:26 by lns-bzn-48f-81-56-218-246)