Infrastructure

Differences between revisions 1 and 8 (spanning 7 versions)
Revision 1 as of 2011-11-18 10:17:08
Size: 5026
Editor: cjwatson
Comment:
Revision 8 as of 2014-07-01 13:31:40
Size: 5842
Editor: cjwatson
Comment: *-mismatches HTMLified
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
== Rationale == == Current state ==
Line 18: Line 18:
== User stories ==

== Assumptions ==
We have lots of tools for tracking problems in the development release. Many have difficult to parse output:
 * http://people.canonical.com/~ubuntu-archive/component-mismatches.html
 * http://people.canonical.com/~ubuntu-archive/priority-mismatches.html
 * http://people.canonical.com/~ubuntu-archive/architecture-mismatches.html
  * --(plain text files)--
  * no annotations, no bug links
 * [[http://conflictchecker.ubuntu.com/possible-conflicts/|Conflict checker]]
  * giant text files, no annotations, no bug links, no ability to blacklist
 * [[http://qa.ubuntuwire.com/ftbfs/|FTBFS]]
 * [[http://people.canonical.com/~ubuntu-archive/nbs.html|NBS]]
  * no bug links
 * [[http://people.canonical.com/~ubuntu-archive/transitions/|Transition tracker]]
  * --(need overview index)--
  * --(merge from Debian trunk)--
  * no bug links (not needed for simple rebuilds, but often ties into build failures)
  * should show build failures more explicitly
 * http://merges.ubuntu.com/ / [[http://qa.ubuntuwire.org/oldmerges/|stale merges (ubuntuwire)]]
 * [[http://qa.ubuntuwire.com/uehs/|UEHS (ubuntuwire)]] - is anyone still using it? (more useful from Debian perspective)
  * out of scope for +1 maintenance team
 * [[http://qa.ubuntuwire.com/bugs/rcbugs/|rcbugs (ubuntuwire)]]
Line 24: Line 41:
You can have subsections that better describe specific parts of the issue. === General work ===
Line 26: Line 43:
== Implementation == As general principles, reports should be better connected to each other; they should live in (or be linked to from) one place; and they should be easily perusable.
Line 28: Line 45:
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like: A previous attempt at attacking this problem was in the form of the weather report ([[http://reports.qa.ubuntu.com/reports/ogasawara/weatherreport.html|old]], [[http://reports.qa.ubuntu.com/reports/qadashboard/qadashboard.html|new]]; the new version has rather less detail). This was intended as a release management dashboard. Release management and the +1 maintenance team have different goals here in terms of the level of detail required, and it seems unlikely that first-pass work will be able to accommodate both in a single tool.
Line 30: Line 47:
=== UI Changes === Ideally, we would like to have a consolidated report listing packages with problems, rather than having to work through multiple reports. A good base for this would appear to be Daniel Holbach's [[http://harvest.ubuntu.com/opportunities/|Harvest]] tool, which already supports taking input from many data sources and limiting to only the ones you happen to be interested in, and also allows marking items as irrelevant. We will extend this to meet our needs, adding data sources as we go along; for example, links to NBS data could be improved, and it needs to list build failures from test rebuilds. Editing (adding comments) appeared to be broken when we tested it at UDS, and should be fixed.
Line 32: Line 49:
Should cover changes required to the UI, or specific UI that is required to implement this (For comparison, it's worth looking at the [[http://lpqateam.canonical.com/|LP QA dashboard]].)
Line 34: Line 51:
=== Code Changes === === Specific tools ===
Line 36: Line 53:
Code changes should include an overview of what needs to change, and in some cases even the specific details. We will improve the various *-mismatches reports and the conflict checker to use HTML rather than text files, and to allow annotations and bug links.
Line 38: Line 55:
=== Migration === We will update the transition tracker from Debian trunk, and add an overview index.
Line 40: Line 57:
Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.
[[http://merges.ubuntu.com/|Merge-o-Matic]] could use some style improvements, and it may be helpful for it to compute the information in http://qa.ubuntuwire.com/oldmerges/ itself and allow clickable column sorting or similar.

QA is taking over Michael Vogt's automatic upgrade testing, but the +1 maintenance team will need to process the output. It remains to be seen what that output will look like.

Evan Broder has volunteered to set up an [[http://lintian.ubuntuwire.org/|Ubuntu instance of Lintian]].

After CD building moves to its new machine, we will repurpose the old machine (antimony) as a [[http://piuparts.debian.org/|piuparts]] runner.

=== Graphs over time ===

It would be helpful to graph some of these categories of problems over time, so that we can see if any particular areas are falling behind, and to work out objectively whether we need more people. These are some graphs that would be helpful:

 * Build failures (all; main; by package set)
 * Ditto, but in the latest test rebuild
 * component-mismatches / component-mismatches-proposed size
 * NBS size
 * Completion percentage of transition trackers

Unless otherwise stated, we don't currently have the data needed to start building graphs, so the next stage in each of these is to cause the jobs that generate them to emit the necessary time series data.
Line 51: Line 83:
== Unresolved issues ==

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

== BoF agenda and discussion ==

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.

{{{
Lots of tools. Many have difficult to parse output:
 - http://people.canonical.com/~ubuntu-archive/component-mismatches.txt
 - priority-mismatches
 - architecture-mismatches
   - plain text files with no annotations, no bug links
 - conflict checker: http://conflictchecker.ubuntu.com/possible-conflicts/oneiric/main.txt
   - giant text files, no annotations, no bug links, no ability to blacklist
 - FTBFS: http://qa.ubuntuwire.com/ftbfs/
 - NBS: http://people.canonical.com/~ubuntu-archive/nbs.html
   - no bug links
 - transition tracker
   - need overview index
   - merge from Debian trunk
   - no bug links (not needed for simple rebuilds, but often ties into build failures)
   - should show build failures more explicitly
 - merges.ubuntu.com / stale merges (ubuntuwire)
 - UEHS (ubuntuwire) - is anyone still using it? (more useful from Debian perspective)
   - out of scope for plusonemaint
 - rcbugs (ubuntuwire): http://qa.ubuntuwire.com/bugs/rcbugs/

Reports should be better connected to each other, live in (or be linked to from) one place, be easily perusable
http://reports.qa.ubuntu.com/reports/ogasawara/weatherreport.html (currently dormant?)
    http://reports.qa.ubuntu.com/reports/qadashboard/qadashboard.html the new version though maybe not as useful

Might be better to have a consolidated report listing packages with problems, rather than having to work through multiple reports
 http://harvest.ubuntu.com/opportunities/
 - extend to release critical stuff? currently targetted at bitesize stuff.
  - e.g. current version of NBS data, build failures on test rebuilds etc.
  - fix editing (adding comments?)
 - per package
 - can mark opportunities as irrelevant right now

merges.ubuntu.com - want to keep generally static, needs to be styled a bit.
 - merge with http://qa.ubuntuwire.com/oldmerges/ ?

reports.qa.ubuntu.com/reports/qadashboard/qadashboard.html - stale?

Automatic upgrade testing
 - QA is taking over mvo's automatic upgrade testing
 - repurpose antimony (after CD building moves to new machine) as lintian(?) and piuparts runner

By comparison:
http://lpqateam.canonical.com/

Lintian instance - useful to keep unpacked? consider doing so?
piuparts.debian.org

Work items:
[] Take over and update the weather report
[broder] Set up lintian lab: DONE
[] Set up piuparts
[] Generate separate report from lintian of Ubuntu-specific packages
[] Generate JSON output from lintian/piuparts for harvest
}}}

Summary

We have many reports that help us keep track of automatically-detectable problems in the development release (FTBFS, NBS, component-mismatches, the conflict checker, the transition tracker, etc.). These are all well and good, but they are rather disconnected from each other and in many cases do not provide very good facilities for distributing work among developers. If we want to drive these reports consistently to zero, some time spent on infrastructure would be worthwhile. What can we do to improve matters?

Release Note

This is not a user-visible specification.

Current state

We have lots of tools for tracking problems in the development release. Many have difficult to parse output:

Design

General work

As general principles, reports should be better connected to each other; they should live in (or be linked to from) one place; and they should be easily perusable.

A previous attempt at attacking this problem was in the form of the weather report (old, new; the new version has rather less detail). This was intended as a release management dashboard. Release management and the +1 maintenance team have different goals here in terms of the level of detail required, and it seems unlikely that first-pass work will be able to accommodate both in a single tool.

Ideally, we would like to have a consolidated report listing packages with problems, rather than having to work through multiple reports. A good base for this would appear to be Daniel Holbach's Harvest tool, which already supports taking input from many data sources and limiting to only the ones you happen to be interested in, and also allows marking items as irrelevant. We will extend this to meet our needs, adding data sources as we go along; for example, links to NBS data could be improved, and it needs to list build failures from test rebuilds. Editing (adding comments) appeared to be broken when we tested it at UDS, and should be fixed.

(For comparison, it's worth looking at the LP QA dashboard.)

Specific tools

We will improve the various *-mismatches reports and the conflict checker to use HTML rather than text files, and to allow annotations and bug links.

We will update the transition tracker from Debian trunk, and add an overview index.

Merge-o-Matic could use some style improvements, and it may be helpful for it to compute the information in http://qa.ubuntuwire.com/oldmerges/ itself and allow clickable column sorting or similar.

QA is taking over Michael Vogt's automatic upgrade testing, but the +1 maintenance team will need to process the output. It remains to be seen what that output will look like.

Evan Broder has volunteered to set up an Ubuntu instance of Lintian.

After CD building moves to its new machine, we will repurpose the old machine (antimony) as a piuparts runner.

Graphs over time

It would be helpful to graph some of these categories of problems over time, so that we can see if any particular areas are falling behind, and to work out objectively whether we need more people. These are some graphs that would be helpful:

  • Build failures (all; main; by package set)
  • Ditto, but in the latest test rebuild
  • component-mismatches / component-mismatches-proposed size
  • NBS size
  • Completion percentage of transition trackers

Unless otherwise stated, we don't currently have the data needed to start building graphs, so the next stage in each of these is to cause the jobs that generate them to emit the necessary time series data.

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.


CategorySpec

PlusOneMaintenanceTeam/Specs/Infrastructure (last edited 2014-07-01 13:31:40 by cjwatson)