Diff for "Ubuntu/InfrastructureNeeds"

Not logged in - Log In / Register

Differences between revisions 2 and 3
Revision 2 as of 2009-08-03 21:07:32
Size: 15689
Editor: kfogel
Comment: Bring at least some of this page up-to-date, and add a description bar to the top.
Revision 3 as of 2009-12-10 00:58:24
Size: 8772
Editor: jml
Comment:
Deletions are marked like this. Additions are marked like this.
Line 105: Line 105:
== Done! ==

 1. Filing of bug reports with package metadata (cloakroom)

 1. Copying of source and binaries between pockets (shortcoming relative to former dak infrastructure)

  * Rationale: Currently, packages are built and tested in `-proposed`, then re-uploaded to `-updates`, rebuilt and released to users. This process does not allow for the final build to be tested before being released to users, allowing the possibility of unexpected regressions after testing, and with large packages introduces an unnecessary build delay and mirror push. Additionally, this capability would allow packages to be copied from `-security` to `-updates`, allowing them to be mirrored and saving a substantial amount of archive bandwidth.

  * Specified in LaunchpadWiki:Soyuz/NativeSourceSyncing (TODO: move that spec here, or remove this item if we're not going to do it)

 1. Automatic closing of bugs via upload (shortcoming relative to Debian's infrastructure)

  * Rationale: Each bug must currently be closed manually in Launchpad after making an upload. Bug numbers are automatically extracted from changelogs and included in the .changes file, and making use of that information in Launchpad would avoid all of these manual steps. Debian has had such a feature since sometime in the 1990s and its developers generally consider this a useful invention.
  * Status: .changes already include a structured text field containing the list of bugs to close. What is needed is for this information to be acted upon by Launchpad.

 1. Shorter turnaround for translating a new release

  * Rationale: Ubuntu 6.10 was not translatable until about 8 weeks prior to its release. Ubuntu 7.04 was not translatable until 5 weeks prior to its release. This does not leave enough time for Ubuntu to be well translated, and causes problems for upstreams attempting to translate in Launchpad (including frustrating bug reports about missing/incorrect Ubuntu translations).

  * Status: Ubuntu 7.10 translations opened 18 weeks in advance of release!

 1. Modeling Ubuntu bug workflow in Malone

  * Rationale: The bug workflow employed in Ubuntu is not easily modeled in Malone, and the workflow used in Malone doesn't fit all of the needs of Ubuntu development. We believe that a small number of changes could make a big difference in closing this gap.

  * Specified in UbuntuWiki:BugWorkflow

 1. Bug tracking for commercial repository ([[https://bugs.launchpad.net/bugs/58495|bug 58495]])

  * Rationale: Currently, bugs in packages distributed in the commercial repository cannot be properly filed in Launchpad because the packages are not included in the Launchpad database. This is because this repository is managed outside of Launchpad, by a dak instance.

  * Ideas:
   * Create a new 'commercial' component in Launchpad
   * Import package data from `-commercial` using gina
   * Manage `-commercial` in Launchpad entirely, using a PPA(?)

 1. Building unpublished source (shortcoming relative to former dak infrastructure)

  * Rationale: Source packages currently require at least two publisher runs in order to be published, because the source must be published before it can be built. There is no inherent reason for this, and critical fixes would be ready faster (especially near releases).

  * Specified in LaunchpadWiki:BuildUnpublishedSources
  * https://bugs.launchpad.net/soyuz/+bug/77853

 1. Web interface for Soyuz upload queue processing

  * Rationale: Processing upload queues currently requires privileged shell access to the production archive. The security implications of this (unrestricted write access to the archive) mean that we cannot effectively distribute certain tasks beyond distro team staff: for instance, we cannot delegate management of uploads to the universe and multiverse components to members of the community. This causes extra work and delays near release times.

  * Status:
   * A web interface to the queues is already [[https://launchpad.net/ubuntu/hardy/+queue|partly in place]], and it is possible to inspect uploads (although not as conveniently as it could be; see the package-diff item below).
   * It is not possible to override packages. Archive administrators without privileged shell access can now process the NEW queue to some degree by taking advantage of default component mappings. However, if any changes to the default overrides provided are required, a privileged administrator still needs to step in. A UI for overrides needs to be designed.
   * Targeted for Launchpad 2.0

 1. Automatic diffs of new uploads, relative to the version being superseded

  * Rationale: We currently have no infrastructure for code review in Ubuntu. A system which automatically emailed diffs would provide a feed of changes which reviewers could read and comment on
  * Status: https://blueprints.launchpad.net/soyuz/+spec/package-diff

 1. Security updates in Launchpad (shortcoming relative to former dak infrastructure)

  * Rationale: Security updates are currently processed and built by a dak instance, then hand-fed into Launchpad through a manual process. This requires maintaining redundant infrastructure and limits developer participation.

  * Specified in LaunchpadWiki:Soyuz/SecurityPocketSupport

  * Status
   * Will be done by the end of 2007 (Kiko)
   * Targeted for Launchpad 2.0

 1. Package-specific hints for reporting a bug
  * Rationale: Many packages have associated [[UbuntuWiki:DebuggingProcedures|written instructions]] in the wiki which explain how to debug problems, which are valuable to bug reporters and triagers. However, there is no link from Launchpad to this information, so it is only used when the user has prior knowledge of it. For triagers, this means an extra round-trip to ask the user to read the document and follow its instructions. Launchpad should contain a simple (1 paragraph) hint for a category of packages (desktop, xorg, kernel) and an optional link to the wiki page.
  * https://bugs.launchpad.net/malone/+bug/43893

  * Status:
   * Committed in RF 7300; will test once it lands in production
   * RF 7529 adds web UI, now available on edge (e.g. https://edge.launchpad.net/ubuntu/+source/man-db/+edit)
   * Unfortunately requires ubuntu-drivers to edit (https://bugs.launchpad.net/malone/+bug/315582)


 1. Support for attaching apport data to an existing bug

  * Rationale: Most bugs are reported directly to Launchpad, and so do not benefit from the automatic submission of system data to Launchpad. Some bugs are not reported from the system where the bug was observed (e.g., on servers).

  * Status:
   * Filed as bug [[https://bugs.launchpad.net/malone/+bug/85040|85040]], [[https://bugs.edge.launchpad.net/bugs/124338|124338]]
   * Was under consideration for Launchpad 2.0. Was it done?
   * Could be implemented by the distro given good APIs for Malone.
[[/Archive|Historical infrastructure needs]]

This page discusses ways Launchpad could better serve the Ubuntu community. Please contact us with thoughts or questions.

High Priority

  1. Monitoring of Debian bugs
    • Rationale: Nearly all Debian bugs also affect Ubuntu, and Debian's larger base of developers can find and fix a higher volume of bugs. We should be informed of these bugs so that we can make a decision about whether to act on them.
    • Status:
      • A script exists to import bugs from debbugs into Launchpad (DebianBugImport)

      • Launchpad can already import comments from debbugs, and send replies back to debbugs. A separate issue is whether or not we proactively import ALL Debian bugs into Launchpad, or whether we only import a subset of bugs (say, RC bugs), or whether we only import Debian bugs which have been manually correlated to Ubuntu bugs.
      • https://blueprints.launchpad.net/malone/+spec/upstream-bug-searching-and-filing. The expensive implementation depends on bugzilla-launchpad-identification.

        • Depends on BugTrackerImport.context

        • From also-affects-upstream:
          • Offer link to search first and say "(opens in new window)"
          • Group in sections:
            • "Didn't find your bug?": Offer a button that says "Report bug upstream (requires account in bugzilla.gnome.org) (opens in new window)"
            • Offer a box to enter the existing bug URL
        • Post to enter_bug.cgi form containing:
          • description (include URL to Launchpad bug) - summary
          • product (which comes from BugTrackerImport.context)

        • User is redirected to login, he uses his credentials and then bug is filed.
        • Less cheap would include a special plugin for GNOME bugzilla to provide a URL to redirect the end-user to a special URL. The "from-launchpad" keyword would be useful as well.
        • If we import bugs regularly, bug watches can be created at scan time.
    • Ideas:
      • Create non-Launchpad infrastructure to monitor bugs - Where to get notification addresses? Scrape launchpad?
      • MoM's bug notifications could be the basis of a partial solution
  2. Semi-automatic bug forwarding to upstream bug trackers
    • Rationale: Ubuntu receives a very high volume of bug reports which should be forwarded upstream. Making this process more efficient would improve both the quality of Ubuntu and its relationships with upstream projects.
    • Status: Some of the steps for this to happen are implemented. Additional work includes:

Medium Priority

NOTE: Some of this section may be already implemented. We're porting over notes from early 2009; it's now mid 2009.

  1. Rebuild testing in Launchpad
    • Rationale: Rebuild testing is currently performed using a dak instance. Failures must be processed manually by a buildd admin and the relevant developers notified. This requires maintaining redundant infrastructure and more manual work than should be necessary.
    • Status
  2. Web interface for syncing source packages in Soyuz, accessible to those with corresponding upload privileges
    • Rationale: "Syncing", i.e. copying source packages verbatim from one distribution to another, is a very common operation in Ubuntu, and is often requested by developers either after automatic syncs from Debian stop a couple of months into the release cycle, or when all changes have been incorporated into Debian and the Ubuntu changes may be discarded. At present, this operation is restricted to those with privileged shell access to the production archive. Conceptually, it should only require upload access to the corresponding component. Allowing uploaders to perform this task would save on the order of an hour a day of archive administrator time performing trivial requests. Syncing should also be possible from PPAs
    • Status:
      • Debian sources now available in Launchpad database, updated twice daily, making this more feasible
      • syncSource method available in API
      • Some problems with changelog presentation in web UI and in mails to -changes lists; https://bugs.launchpad.net/soyuz/+bug/55795 documents part of this

Low priority

  1. Opening a new distrorelease before releasing the previous one (shortcoming relative to former dak infrastructure)
    • Rationale: When opening a new distrorelease, uploads must be temporarily blocked until the toolchain and other basic infrastructure are in place. Opening the new release early would allow this work to happen in parallel, so that the new release would be immediately open for development.
    • see https://bugs.launchpad.net/soyuz/+bug/87012

    • Status:
      • PPAs make it possible to do some of the preparatory work for a new distro series
      • Fully handling this was not targeted for Launchpad 2.0
  2. Improved activity logging
    • Rationale: The current activity log in the Launchpad bug tracking system does not capture milestone changes. This presents a problem for release managers, who have no way to tell whether the milestone on a bug was set by somebody they trust, or whom to contact about it if the person who milestoned the bug omitted to leave a comment.
    • Note that milestones are not designed to be tightly controlled, we have tight control of release-critical bugs targeted to the specific series, where only drivers can approve the bug as RC.
    • Status: Apparently needs a rewrite of the activity log.

    • https://bugs.launchpad.net/malone/+bug/65660 (Joey: Fix Released)

    • Not targeted in Launchpad 2.0
  3. Temporarily adding the uploader as a bug contact for the package being uploaded
    • Rationale: Our development model is such that packages are often uploaded by a developer who has no ongoing relationship with the package. Because they do not receive bug reports for the package, it is easy for them to be unaware of having introduced a regression.
    • Status:
  4. Visual distinction between bug comments from authoritative Ubuntu people and bug comments from random Launchpad users
    • Rationale: Users who view and file bugs in Launchpad are not always familiar with the way bug tracking works in a large community project like Ubuntu. When they receive a comment which is inappropriate, erroneous or poorly presented, they assume that it came from someone representing the project, when in fact anyone with an email address can post a response. Users who find these bugs via web searches have difficulty telling the difference between comments from users and authoritative information from developers and QA. We want to avoid this confusion and misrepresentation, while still allowing everyone to participate, by visually showing the user whether the commenter is a member of an official team (such as Ubuntu QA), perhaps by showing the team badge next to their name.
    • Status:
  5. Notifying the release team of new milestone targets
    • Rationale: The release team tracks outstanding targets for milestones and their resolution. However, they currently must poll in order to obtain this information. Asynchronous notification would be more efficient.
    • Status:
      • Structural subscriptions were targeted for Launchpad 2.0 (2009-08-03: update, anyone? Do we push notification now?)
  6. Package version tracking for bugs (shortcoming of Launchpad relative to debbugs)
    • Not targeted in Launchpad 2.0

Historical infrastructure needs

Ubuntu/InfrastructureNeeds (last edited 2011-11-22 03:34:55 by bryce)