Feature #9319

Assistant: List upgrade scenarios

Added by sajolida 2015-05-01 08:59:50 . Updated 2015-09-18 10:03:18 .

Status:
Resolved
Priority:
Elevated
Assignee:
Category:
Target version:
Start date:
2015-05-01
Due date:
% Done:

0%

Feature Branch:
Type of work:
End-user documentation
Blueprint:

Starter:
Affected tool:
Installation Assistant
Deliverable for:

Description


Subtasks


Related issues

Related to Tails - Feature #9320: Assistant: Design router for upgrades Resolved 2015-05-01

History

#1 Updated by BitingBird 2015-05-13 04:57:08

  • Affected tool set to ISO Verification Extension

#2 Updated by sajolida 2015-05-13 11:00:37

  • Affected tool deleted (ISO Verification Extension)

The web assistant is different from the ISO verification extension. We probably miss an “affected tool” for it. I’ll ask tails-sysadmins.

#3 Updated by sajolida 2015-05-19 19:23:11

  • Affected tool set to Installation Assistant

#4 Updated by sajolida 2015-05-20 15:56:38

  • Status changed from Confirmed to In Progress

Applied in changeset commit:b061911675fc07ff6b824e9b601724ac9f87d75e.

#5 Updated by sajolida 2015-05-20 16:00:07

  • Status changed from In Progress to Confirmed
  • Assignee changed from sajolida to tchou
  • QA Check set to Ready for QA

See commit:b061911. Please tchou have a look. I feel lazy to write upgrade scenarios for Windows and Mac (especially) but I think that’s needed until we have Feature #7499 (Full self-upgrade) as upgrading from Tails doesn’t require less hardware nor is less complicated.

Upgrading from Tails is safer, upgrading from outside of Tails is faster to download. That needs to be presented in the router.

#6 Updated by tchou 2015-05-27 11:22:28

I think i’m in favor of less scenarios (like mentioned in https://labs.riseup.net/code/issues/9320#note-3 “An alternative …”) :

- Upgrade from friend

- Upgrade from Tails (graphical)

- Upgrade from Tails (command line)
- Upgrade from Outside

But maybe I miss something important.

- pro: less specific documentation
- con: need 2 sticks, but we have other options) :

#7 Updated by tchou 2015-05-27 11:22:49

  • Assignee changed from tchou to sajolida

#8 Updated by intrigeri 2015-06-05 18:10:46

  • Status changed from Confirmed to In Progress

#9 Updated by sajolida 2015-06-07 13:32:23

  • QA Check changed from Ready for QA to Dev Needed

#10 Updated by sajolida 2015-06-07 13:33:20

  • Category deleted (Installation)

#11 Updated by sajolida 2015-06-07 14:58:19

  • Assignee changed from sajolida to tchou
  • QA Check changed from Dev Needed to Ready for QA

So in Feature #9320#note-3 you’re proposing to have a single scenario for all upgrades outside of Tails. Which is:

  1. Download (and verify) the ISO image from any OS.
  2. Copy the ISO image on a dedicated USB stick with no Tails installed.
  3. Restart on the outdated Tails.
  4. “Clone & Install” the outdated Tails on another dedicated USB stick.
  5. “Upgrade from ISO” the temporary Tails using the ISO image.
  6. Restart on temporary Tails.
  7. “Clone & Upgrade” the temporary Tails on the final Tails.
  8. Restart on the final Tails

You need:

  • 3 flash memories (including your outdated Tails).
  • Use Tails Installer three times (step 4, 5, and 7).

Did I understand correctly?

I initially proposed going through a similar process as you are doing for the installation. For example, on Windows:

  1. Download (and verify) the ISO image from Windows.
  2. Copy the ISO image on a temporary Tails.
  3. Restart on temporary Tails.
  4. “Clone & Upgrade” on final Tails.
  5. Restart on the final Tails

Here is a list of pros and cons for your new solution:

Pros:

  • We can write one single set of instructions for every operating system because they are the same for every OS.
  • We can add additional verification of the ISO image between steps 2 and 3: from inside Tails we have a trusted OpenPGP public key and should be able to use Seahorse Nautilus without having to explain much.

Cons:

  • It requires more hardware than installing (3 flash memories instead of 2).
  • It’s more complex as it introduces 3 different actions of Tails Installer that do slightly different things. Reusing the installation workflow has only one.
  • It’s longer in time.
  • It’s introduces a workflow that’s very different from the one we have for installation. This has two disavantages:
    • It introduces yet another weird workflow to understand for our users.
    • It prevents use from reusing most of what we already have for the installation instructions. Including infography and overviews.

So I’m not convinced and will stick to my initial list unless you complete my understanding with stuff I might have miss.

#12 Updated by tchou 2015-06-10 09:45:00

  • Assignee changed from tchou to sajolida

You said that you felt “lazy to write upgrade scenarios for Windows and Mac”, so it was a way to avoid to re-use installation scenarios (and apply tiny different things on), and push scenarios we prefere (social / safe). Going futher with this idea, we could have consider "Upgrade from Outside’ as a minor scenario.

Anyway, let’s keep with all the scenarios if you want to.

#13 Updated by sajolida 2015-06-11 10:03:48

  • related to Feature #9320: Assistant: Design router for upgrades added

#14 Updated by sajolida 2015-06-11 10:08:52

  • Assignee changed from sajolida to tchou
  • QA Check changed from Ready for QA to Info Needed

Feeling lazy to do something might not be a good reason enough not to do it :) That’s why I did some more in depth pros and cons analysis.

I did some research on what is the real time difference between direct download and downloading through Tor according to https://metrics.torproject.org/torperf.html?graph=torperf&start=2015-03-13&end=2015-06-11&source=all&filesize=5mb.

Downloading a 5 MiB file takes between 7 to 25 seconds over Tor. That’s 30 to 90 minutes for our ISO which is 926 MiB (not MB). So let’s use that.

So in the end, if we want to save us some work and make the router more simple we could discard the “Upgrade outside Tails” as a major option and only have it as a minor with a short text explaning that it’s like installing but doing “Clone & Upgrade” instead of “Clone & Install” in Tails Installer.

Shall we do that?

If you agree, then I’ll draft another router to do that.

#15 Updated by BitingBird 2015-07-01 11:52:36

  • Target version changed from Tails_1.4.1 to Tails_1.5

#16 Updated by tchou 2015-08-06 01:39:38

  • Target version changed from Tails_1.5 to Tails_1.6

#17 Updated by sajolida 2015-08-15 08:18:28

  • Priority changed from Normal to Elevated

Postponed twice, raising priority.

#18 Updated by tchou 2015-09-18 01:26:33

  • Assignee changed from tchou to sajolida

I agree.

#19 Updated by sajolida 2015-09-18 10:03:19

  • Status changed from In Progress to Resolved
  • Assignee deleted (sajolida)
  • QA Check deleted (Info Needed)

Ok, so the final list of options for full upgrades is:

  • Clone from another Tails
  • Upgrade from Tails (graphical)
  • Upgrade from Tails (command line)
  • Upgrade from outside Tails (minor without detailed instructions)