Merge lp:~henninge/launchpad/bug-824435-failure-reporting-4 into lp:launchpad
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Данило Шеган | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 13837 | ||||
Proposed branch: | lp:~henninge/launchpad/bug-824435-failure-reporting-4 | ||||
Merge into: | lp:launchpad | ||||
Diff against target: |
424 lines (+154/-149) 3 files modified
lib/lp/code/browser/sourcepackagerecipe.py (+1/-1) lib/lp/code/javascript/requestbuild_overlay.js (+130/-132) lib/lp/code/javascript/tests/test_requestbuild_overlay.js (+23/-16) |
||||
To merge this branch: | bzr merge lp:~henninge/launchpad/bug-824435-failure-reporting-4 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Данило Шеган (community) | Approve | ||
Review via email: mp+73507@code.launchpad.net |
Commit message
[r=danilo][bug=824435] Include OOPS-ID in error output of requestbuild overlay.
Description of the change
= Summary =
This branch finally fixes bug 824435 by making sure that the OOPS ID
returned by server failures is displayed in the UI. This makes it
possible for users to report useful information to the LP team.
== Proposed fix ==
Use lp.cient.
provides a getFailureHandler method which in turn produces an io handler
that is able to extract OOPS information from the server response.
"Partial" errors are not "Bad requests" because they were may have been
able to request some builds while others had already been requested.
This is still normal processing and therefore a successful response. So
it should return status 200. The success handler will have the content
type information to figure out which type of response it got.
Factor out the error display into its own functio because it will be
used from the failure handler as well as the success handler.
Improve markup creation by using YUI methods.
== Pre-implementation notes ==
On-going effort.
== Implementation details ==
I refactored the code a bit by creating the get_new_
get_info_header functions, to make the code in the success handler more
concise.
== Tests ==
I updated the tests to check for an OOPS id beint displayed with the
error messages for both request daily build and request builds.
firefox lib/lp/
== Demo and Q/A ==
Verify that the succesful and partially succesful handlers still work.
For QA, create a new recipe on any old branch, using the stand settings.
Open the recipe page in two tabs and click "Request build(s)" in both.
Select one distroseries in the first and two in the second tab, where
the two include the one in the first. Got that? ;-)
Submit the first, it will close successfully.
Submit the second, you will get an informational message that "An
identical build is already pending for ..."
Verify that server errors are displayed.
The only idea I have for that is to have a LOSA cowboy a patch onto
qastaging that places and odd "assert fail" in
SourcePackageRe
Request builds using the "Bulid now" button and the "Request build(s)"
overlay and you should get an error message that includes an OOPS-ID.
= Launchpad lint =
Checking for conflicts and issues in changed files.
Linting changed files:
lib/lp/
lib/lp/
lib/lp/