ServerLucidBugZapping
3831
Comment: initial page
|
4932
tbd week 19
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
Line 8: | Line 9: |
Line 10: | Line 12: |
=== And the Ubuntu LTS Server === |
|
Line 13: | Line 13: |
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. |
|
Line 22: | Line 20: |
== User Stories == | 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. |
Line 26: | Line 24: |
== Design/Implementation == 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 |
|
Line 67: | Line 26: |
== Test/Demo Plan == | == 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'': [[http://bugs.launchpad.net/ubuntu/+source/qemu-kvm|qemu-kvm]], [[http://bugs.launchpad.net/ubuntu/+source/libvirt|libvirt]], [[http://bugs.launchpad.net/ubuntu/+source/lxc|lxc]], ||<#E47A7A> /!\ '''UserInterfaceFreeze''' || || || 19 || March 8th || || ((''File/Print sharing'': [[http://bugs.launchpad.net/ubuntu/+source/samba|samba]]??)) -- TBD ||<#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 will take place IRC at #ubuntu-server * Development will be done in Bazaar/Launchpad * Builds will be published for testing in PPAs |
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.
I see nowadays there's a more proactive approach -- an electrically charged tennis racket, also called a "bug zapper":
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.
== 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 |
|
|||
19 |
March 8th |
|
((File/Print sharing: samba??)) -- TBD |
|
|
20 |
March 15th |
||||
21 |
March 22nd |
UEC: eucalyptus, euca2ools |
|
||
April 2010 |
|||||
22 |
March 28th |
|
|
||
23 |
April 5th |
|
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
- prioritize all bugs according to a defined formula for that package, generally:
- 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 will take place IRC at #ubuntu-server
- Development will be done in Bazaar/Launchpad
- Builds will be published for testing in PPAs
Unresolved Issues
Discussion
ServerLucidBugZapping (last edited 2010-03-05 14:43:26 by lns-bzn-48f-81-56-218-246)