Closed Bug 778335 Opened 12 years ago Closed 12 years ago

Ensure B2G devices can poll for and download FOTA updates

Categories

(Firefox OS Graveyard :: Gaia, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

(blocking-basecamp:+)

VERIFIED FIXED
B2G C1 (to 19nov)
blocking-basecamp +

People

(Reporter: lsblakk, Assigned: marshall)

References

Details

(Keywords: feature, Whiteboard: [B2GTest:Blocker][LOE:M][qa+][fota][dogfooding-blocker])

In order to get non-B2G team developers testing on B2G devices that are being handed out shortly we'll need to ensure they can do a FOTA update without losing their private data.  There will need to be some kind of update service that can ping for updates, notify the user, and then receive/apply the update.
Depends on: 778341
(In reply to Chris Jones [:cjones] [:warhammer] from comment #1)
> How is this different than bug 778084?

I was under the impression that bug 778084 is a meta/tracking bug.  Do you not want individual bugs for the items in bug 778084 comment 0?
Yes, but this also sounds like a meta bug, and there's no value in having two of those.
Updating the summary - this bug, combined with bug 778336 should give us the expected functionality for updates as expressed in the tracking bug 778084.
Summary: Ensure B2G devices can check for, notify user, receive & apply FOTA updates → Ensure B2G devices can poll for and download FOTA updates
No longer depends on: b2g-fota-updates
blocking-basecamp: --- → ?
blocking-basecamp: ? → +
Brian, people said you should be the lucky owner of this bug :)
Assignee: nobody → bsmith
Whiteboard: [B2GTest:Blocker] → [B2GTest:Blocker][WebAPI:P1]
Keywords: feature
OS: Mac OS X → Gonk
Hardware: x86 → ARM
Whiteboard: [B2GTest:Blocker][WebAPI:P1] → [B2GTest:Blocker][WebAPI:P1][LOE:M]
Priority: -- → P1
Whiteboard: [B2GTest:Blocker][WebAPI:P1][LOE:M] → [B2GTest:Blocker][LOE:M]
Whiteboard: [B2GTest:Blocker][LOE:M] → [B2GTest:Blocker][LOE:M][qa+]
Whiteboard: [B2GTest:Blocker][LOE:M][qa+] → [B2GTest:Blocker][LOE:M][qa+][fota]
The time has come to start preparing FOTA with the B2G Test Driver audience in mind.  Adjusting this bug accordingly.  

Marshall has already been working on the update functionality and wrapping the complete update in a MAR.  Jonathan will have the server side logic.

From what I've gathered we need to test the following:

1. User can poll for updates and be offered either partial update on the stable channel via updates.xml or (if made available to their build ID?) a complete mar update.

2. FOTA updates need to make sure they do not erase user info on the device when applied

3. FOTA updates might have to come from a 3rd party host (carrier) and so we must be able to provide FOTA locations that are different than the partial OTA updates we've been doing so far.  We'll possibly need to at first test the FOTA on Mozilla-MPT VPN so it's available to our current testers and then at a later date, have them hosted on a 3rd party server for worldwide testers.

4. There should be a way to roll back or revert the application of a FOTA (discuss)
Assignee: bsmith → marshall
Whiteboard: [B2GTest:Blocker][LOE:M][qa+][fota] → [B2GTest:Blocker][LOE:M][qa+][fota][dogfooding-blocker]
Severity: normal → critical
We're marking this bug with the C1 milestone since it follows the criteria of "unfinished feature work" (see https://etherpad.mozilla.org/b2g-convergence-schedule).

If this work is not finished by Nov19, this bug will need an exception and will be called out at the upcoming Exec Review.
Target Milestone: --- → B2G C1 (to 19nov)
IMO, as billed, this bug can be resolved. We've been able to poll and download FOTA updates for a while now..

(In reply to Lukas Blakk [:lsblakk] from comment #6)
> From what I've gathered we need to test the following:
> 
> 1. User can poll for updates and be offered either partial update on the
> stable channel via updates.xml or (if made available to their build ID?) a
> complete mar update.

Right now all Gecko updates are "complete" but the tooling and build support for incremental ("partial") Gecko updates will land soon, and along with it we should be able to start pushing both of these out simultaneously. IMO, this partial + complete testing path is orthogonal to this bug's original purpose though. We should file new bugs if anything comes from that testing..

> 
> 2. FOTA updates need to make sure they do not erase user info on the device
> when applied

I think we've tested this as much as it reasonably can be for the time being. Since FOTA updates are somewhat arbitrary in nature, this can only ever be confirmed for a _specific_ FOTA update, but not the mechanism as a whole. Keep in mind that an FOTA update is basically just an installation script.

In any case, that specific problem doesn't relate to this bug's purpose AFAICT?

> 
> 3. FOTA updates might have to come from a 3rd party host (carrier) and so we
> must be able to provide FOTA locations that are different than the partial
> OTA updates we've been doing so far.  We'll possibly need to at first test
> the FOTA on Mozilla-MPT VPN so it's available to our current testers and
> then at a later date, have them hosted on a 3rd party server for worldwide
> testers.

AFAIK, The current plan is that both Gecko and FOTA updates will be hosted in the same system. It would be nice to be able to separate them (believe, me I've tried ;), but that doesn't seem likely at this point..

In any case, we might need a set of bugs to track any remaining FOTA / OTA / OEM integration issues. Most of those will be server side at this point, hopefully...


> 4. There should be a way to roll back or revert the application of a FOTA
> (discuss)

There's a lot to discuss here.. Let's take this discussion to a new bug or dev-b2g :)
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Component: General → Gaia
Verified it's fixed on "Unagi"
build ID:20130113070202

In order to get non-B2G team developers testing on B2G devices that are being handed out shortly we'll need to ensure they can do a FOTA update without losing their private data.  There will need to be some kind of update service that can ping for updates, notify the user, and then receive/apply the update.

The device receiving updates notifications, updating without loosing data and applying updates.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.