== 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. == 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'': [[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 10-11 || ChuckShort, ThierryCarrez || [[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 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 ==