Add support for forcing full image update

Bug #1208909 reported by Loïc Minier
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu system image
Fix Released
High
Barry Warsaw
system-image (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Hey

To allow QA to test the code path for full image updates in an integration test (and not just delta updates), we'd need some flag to force these from the command-line or something like that.

Thanks,

Tags: client
Loïc Minier (lool)
tags: added: client
Barry Warsaw (barry)
Changed in ubuntu-system-image:
status: New → Triaged
importance: Undecided → Low
Revision history for this message
Loïc Minier (lool) wrote :

I wonder whether we would also need a way to force a delta update in case deltas get larger than a full (e.g. many images fail QA, then the accumulated delta from last good image to latest image to test is larger than full image).

In practice, we should generate deltas from scratch in daily-proposed so that it's always a single delta and should never be larger than a full image, but it might be a good option just in case.

Revision history for this message
Barry Warsaw (barry) wrote :

Here's a thought. We have a "scorer" class which picks a winning upgrade path from a list of candidates. Currently, it scores candidates based on #-of-reboots x 100 + total-size-in-bytes // MiB + (target_build_no - current_build_no). The lowest score wins.

I could add an option such as --prefer=full and --prefer=delta which adjusts the scoring mechanism to heavily favor a full or delta-only update. We'd still calculate the same candidates, but the winner would be of the specified type. The question then is, what if you choose --prefer=delta and there are no candidates at all containing a delta update? I think in this case, the client would say that there are no updates available.

Now, what about dbus? For now, I'll make this cli-only.

Changed in ubuntu-system-image:
milestone: none → 1.3
status: Triaged → In Progress
assignee: nobody → Barry Warsaw (barry)
importance: Low → High
Revision history for this message
Barry Warsaw (barry) wrote :

Hmm, it's likely that we'll have updates like this: Full NNN -> Delta NNN+1 -> Delta NNN+2

The scorer idea won't work completely because in the above case, the path wouldn't get chosen by either proposed scorer. However, let's say the first pass left us with no updates satisfying the "full-only" case. We could truncate the candidates at the first Full update and re-score. I'm not sure what to do about delta-only since we can't just truncate a path to get only delta updates (we'll probably never see a candidate like Delta NNN+1 -> Delta NNN+2 -> Full MMM -> ...)

Revision history for this message
Barry Warsaw (barry) wrote :

In fact, I think it's borderline insane/impossible to ever have an upgrade path Delta->Delta-Full so I'm going to ignore that possibility. FLW.

Barry Warsaw (barry)
Changed in ubuntu-system-image:
status: In Progress → Fix Committed
Barry Warsaw (barry)
Changed in ubuntu-system-image:
status: Fix Committed → Fix Released
Barry Warsaw (barry)
Changed in system-image (Ubuntu):
status: New → 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.