LAVA results don't show up for restricted builds

Bug #1112620 reported by vishal
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro Android Infrastructure
Fix Released
High
Milo Casagrande

Bug Description

LAVA results don't show up for restricted builds. Here is an example:
Here is the build https://android-build.linaro.org/builds/~linaro-android-restricted/juice-aosp/#build=103
and here is the corresponding results https://validation.linaro.org/lava-server/scheduler/job/46348.

The android-build page just shows it as "loading.."

Related branches

Revision history for this message
Данило Шеган (danilo) wrote :
Changed in linaro-android-infrastructure:
importance: Undecided → High
status: New → Triaged
milestone: none → 2013.02
Revision history for this message
Andy Doan (doanac) wrote :

I just tried to load page:

 https://android-build.linaro.org/builds/~linaro-android-restricted/juice-aosp/#build=111

I noticed this JS error in firefox:

 Timestamp: 02/06/2013 12:00:09 PM
Error: SyntaxError: JSON.parse: unexpected character
Source File: https://android-build.linaro.org/combo?gallery/gallery-base64/gallery-base64-min.js&3.3.0/build/oop/oop-min.js&3.3.0/build/pluginhost/pluginhost-min.js&3.3.0/build/event-custom/event-custom-min.js&3.3.0/build/dom/dom-min.js&3.3.0/build/event/event-min.js&3.3.0/build/node/node-min.js&3.3.0/build/history/history-min.js&3.3.0/build/queue-promote/queue-promote-min.js&3.3.0/build/datatype/datatype-xml-min.js&3.3.0/build/io/io-min.js&3.3.0/build/cookie/cookie-min.js&3.3.0/build/querystring/querystring-stringify-simple-min.js&3.3.0/build/json/json-min.js&3.3.0/build/attribute/attribute-min.js&3.3.0/build/classnamemanager/classnamemanager-min.js&3.3.0/build/base/base-min.js&3.3.0/build/widget/widget-min.js&3.3.0/build/widget/widget-stdmod-min.js&3.3.0/build/widget/widget-position-min.js&3.3.0/build/widget/widget-position-align-min.js&3.3.0/build/widget/widget-stack-min.js&3.3.0/build/widget/widget-position-constrain-min.js&3.3.0/build/overlay/overlay-min.js&gallery/gallery-overlay-extras/gallery-overlay-extras-min.js&gallery/gallery-outside-events/gallery-outside-events-min.js&3.3.0/build/plugin/plugin-min.js&3.3.0/build/intl/intl-min.js&3.3.0/build/datatype/lang/datatype-date.js&3.3.0/build/datatype/datatype-date-min.js&3.3.0/build/jsonp/jsonp-min.js&3.3.0/build/datatable/lang/datatable.js&3.3.0/build/collection/arraylist-min.js&3.3.0/build/recordset/recordset-base-min.js&3.3.0/build/substitute/substitute-min.js&3.3.0/build/datasource/datasource-local-min.js&3.3.0/build/stylesheet/stylesheet-min.js&3.3.0/build/arraysort/arraysort-min.js&3.3.0/build/recordset/recordset-sort-min.js&3.3.0/build/datatable/datatable-min.js
Line: 130

think JS code might be crashing so the result loading loading logic never gets executed.

Revision history for this message
vishal (vishalbhoj) wrote :

Danilo I tried it .. It stills says "Loading..."

Changed in linaro-android-infrastructure:
assignee: nobody → Paul Sokolovsky (pfalcon)
Changed in linaro-android-infrastructure:
status: Triaged → In Progress
Revision history for this message
Paul Sokolovsky (pfalcon) wrote :

Taking further from what Andy posted,

That error happens when parsing result of fetching https://android-build.linaro.org/api/proxy-remote-file?url=https://snapshots.linaro.org/android/~linaro-android-restricted/juice-aosp/103/lava-job-info . That URL return contents of builds's lava-job-info file, by 2 reasons:

1) lava-job-info is build metadata file, and that should be always accessible (publicly), even for restricted builds. We never had a required of hiding existence of particular (restricted) build, so open metadata access is how we had it previously. Actually, we had multi-dir build result layout exactly because we needed to ensure that make meta-data available, while actual results protected.

2) Even if above for some reason didn't hold true any longer, android-build.linaro.org still should have unobstructed access to snapshots.linaro.org (that's why we go thru proxy to access that file).

So, something broke when migrating to flat layout or with other changes. Fixing that will require making the URL above work again.

Revision history for this message
Paul Sokolovsky (pfalcon) wrote :

Ok, having discussed that with Danilo, there're 2 high-level ways to resolve it:

1) Get rid of proxying metadata files via android-build, and access them directly from user browser, which will allow to handle access restriction based on user's active browser session.

2) Fix for android-build to metadata on snapshots.l.o.

Solution 1 is tempting, but immediately opens us to AJAX same origin policy issues (i.e. we cannot just now access files from other hosts, period).

Solution 2 requires figuring out which level interferes with lava-builds-info access, to remind, we still have two: 1) adhoc Apache rules maintained by IS; 2) linaro-license-protection and BUILD-INFO.txt. For the latter, we already know it's wrong:

==========
Format-Version: 0.1

Files-Pattern: *
License-Type: protected
OpenID-Launchpad-Teams: linaro-juice
==========
Worse, we cannot get it right in non-hacky way due to lp:1126069.

Revision history for this message
Paul Sokolovsky (pfalcon) wrote :

Prerequisite for "1) Get rid of proxying metadata files via android-build" was submitted as lp:1126625.

Revision history for this message
Paul Sokolovsky (pfalcon) wrote :

Otherwise, this issue pending on https://rt.linaro.org/Ticket/Display.html?id=829

Revision history for this message
Paul Sokolovsky (pfalcon) wrote :

Status update:

It turned out that openid auth exception wasn't properly handled on l-l-p side. This was fixed by https://code.launchpad.net/~pfalcon/linaro-license-protection/openid-exception-for-internal-hosts/+merge/149807 (with testcase) and then deployed. Unfortunately, that didn't fixed the issue described in this bug. (As a quicker testcase, following url may be used: https://android-build.linaro.org/api/proxy-remote-file?url=https://snapshots.linaro.org/android/~linaro-android-restricted/juice-aosp/103/lava-job-info ; expected outcome is JSON data).

Danilo was looking at this shortly, and it seems that issue is on Apache side after all, even though it contains directives for lava-job-info file now.

David Zinman (dzinman)
Changed in linaro-android-infrastructure:
milestone: 2013.02 → 2013.03
Revision history for this message
Paul Sokolovsky (pfalcon) wrote :

At the Connect, discussing with Danilo, we decided to go for migration of older build to have proper BUILD-INFO.txt and disabling OpenID handling on Apache side (at least, for the dir which are subject of this bug). RT was submitted: https://rt.linaro.org/Ticket/Display.html?id=865

Changed in linaro-android-infrastructure:
assignee: Paul Sokolovsky (pfalcon) → Milo Casagrande (milo)
Revision history for this message
Milo Casagrande (milo) wrote :

Spoke to IS, ticket for this issue has been scheduled to be taken care by 2013-04-05.

Revision history for this message
Milo Casagrande (milo) wrote :

Marking as fix released since there hasn't been any update since March. If it is still an issue, please reopen the bug with new information.

Changed in linaro-android-infrastructure:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.