Help for Launchpad Bugs Components
The Launchpad bugs app is often called "malone" which is the old project name on Launchpad.
Bug Imports
- Users provide XML file of data exported from their bug tracker
- Always user initiated
- We have a couple tools to help generate a file in the format we expect
list tools here
- Users should ensure their XML file validates
- Imports require [X] staging test runs, users to confirm data, then production run
See https://help.launchpad.net/Bugs/ImportFormat for more info
Bug Watches
- ./cronscripts/checkwatches.py does all the work
- Referred to as just "checkwatches"
- single threaded and blocking, but can be run multi-threaded
- DB load caused us to fall back to single thread, but this performs well now as is
- LP stats that help track this:
Plugins are used for Trac and Bugzilla < 3.4, Bugzilla 3.4 and later can sync with us
- Page scraping and other ugliness exists for other trackers
- Watches sync status/importance and can sync comments if enabled
Bug task expiring
- ./cronscripts/expire-bugtasks.py
- Runs daily via cron
- Currently running just for Ubuntu due to backlog, but should be updated to run for all now
Bug Heat
- Runs largely via a trigger in app
- Does have one garbo hourly bit running that decays heat for inactive bugs
Bug Mail
- ./cronscripts/send-bug-notifications.py
- Most mail is sent offline
- Subscribing mail notifications happen in web app
Thought there was something else in app but cannot confirm now
- This script does not run in cron for staging/qastaging, so QA requires LOSA to run this for you
Bug Subscriptions
- Under heavy active development, handed off to Yellow Squad
- Two types of subscriptions
- Direct subscriptions to individual bugs
- Structural subscriptions to bug targets (product, project, distribution, etc.)
- Duplicate subscriptions are really just direct subscriptions to a bug looked up via a method
- Several methods build the complete view of subscribers
- Look at all the IBug.get*Subscribers methods or IBug.getSubscription* methods
Filing Bugs
- Duplicate search runs here
- Duplicate search is configurable, so not everyone has to use it noe
- Duplicate search rewritten to perform better but not as "catch all" so sometimes users will ask or comment about this
Editing Bugtask Attributes
- It is not always clear who can change status and opinion with the various roles we have
- Look at the various IBugTask.userCan* methods to work out
Please for the love of all that is holy and good about bug tracking do not add more statuses
Email Interface
- Has yet to be moved into the lp code base
- Lives at lib/canonical/launchpad/mail, interesting bits at canonical.launchpad.mail.commands
Updating CVEs
- ./cronscripts/update-cve.py
- Fills in CVE page on Launchpad based on CVEs linked to bugs