Skip to content

Instantly share code, notes, and snippets.

@teclator
Last active May 20, 2016 13:08
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save teclator/35a6aee2cd387605b6ef to your computer and use it in GitHub Desktop.
Save teclator/35a6aee2cd387605b6ef to your computer and use it in GitHub Desktop.
Installation Workflow (Networking) discussion

Description

The goal of this document is to discuss or show how affect the network configuration to the installation workflow, and in particular how installation self-update is affected and how it could be improved.

Network Availability: Having at least one interface configured with an IP address.

Self update scenarios

In the last Sprint we added self-update to yast-installation, so now if network is available we will check for updates and in case there are some update for our system, it will automatically downloaded and installed.

The premises here are, try to update as soon as possible, so we could minimize the impact for the users (as Yast could need to Restart itself), and in case of failure be able to launch a manual update.

1st Scenario (Network is available)

  • Network is configured propertly and extra configuration is not needed.
  • In case of updates available restart YAST and continues from registration as if nothing had happened

Workflow: License Agreement -> (Update & Restart) -> scc

1st_scenario

2nd Scenario (Network is available but update fails)

The network could be configured but with a wrong gateway, blocked by policy rules or just the SCC service is down and unavailable. As we can't know the reason automaticaly we don't offer to the users a network configuration after license agreement and updates fail without users knowledge about it.

  • Current Workflow:

    Problem: Users don't have a way to know if there are just no updates available for their current system or if something went wrong during the update process.

    License Agreement -> (Update fail) -> SCC

    errorupdating

  • Option1:

    Add a separate step in wich the users will be able to try a manual update and also configure the network.

    License Agreement -> (Update fail) -> Installer Update -> SCC

2nd_scenario

  • Option2:

    Have an option to configure network or launch manual update from license and agreement, but in this case the discussion could go for avoid an automatic update and just give the option to check it manually.

    License Agreement (Update) -> (Try to update) -> SCC

sceanrio1option2

  • Option3: (SOLUTION ADOPTED)

    Inform the users with a Popup allowing them to configure the Network trying to update after it. After some discussions it is the solution adopted by the moment.

License Agreement (Update) -> Update Fail -> SCC

networkconfigurationerror

3rd Scenario (Network is unavailable)

After license agreement Network Setup is called and the users had the oportunity to configure it. After it we could be in previous scenarios if network is configured but if not:

  • Registration alerts the users about no network configuration available.
  • The options that require networking are removed from the Addons screen.
    • BTW if the users enter an URL it will fail and will have the same errors with a wrong network setup.

4th_scenario

Steps dependent on Network configuration

It seems that the only part that is missing a network configuration option or button is the Add On one, so in case of needed the only option is going back and forth.

Add On Product (Network is available but needs special configuration for addons)

  • Network is configured propertly for updates.
  • In case of updates available restart YAST and continues from registration as nothing happened
  • We need to add and extra repository with special network configuration (SMB, NFS)

Actual Screen

addon

Workflow with proposed button:

License Agreement -> (Update & Restart) -> SCC -> Add On Product (Special Configuration)

3rdscenario

In Conlusion

The solution i want to adopt is to add a [Network Configuration] button to Add On Products and add a new screen to run manually update in case of automatic one fail

Final Implementation

Self Update

After discussing the different Scenarios with UX experts, we decided to adopt (option 3). At first we tried to add the dialog to the Registration Step but it complicates the workflow and also we were moving the responsability to other client so after discuss it with @lslezak and with @imobach we decided to add the Popup in the inst_update_installer client. From the users POV should be the same.

@imobach did it as part of this PR and in case we want to add an extra Step I added a commit with a Dialog that could replace the Popup.

Network Setup Unification

As a result of the analysis about how Network Setup affects different installation modes and steps, we had unified the position and shortcut of the button to setup it.

This button had been added to AddOn Product step to avoid going back and forth just to setup some special configuration for some of our network interfaces.

Steps Affected:

  • Disks Activation (Moved button at top right)

Disks Activation

  • Registration (Modified Shortcut)

SCC

  • Addon Products (Button added at top right)

AddOn Product

As refered to different installation modes (live installation, upgrade, autoinstallation and autoupgrade), we hadn't detect important modifications.

@kwwii
Copy link

kwwii commented Mar 29, 2016

From my point of view, if the network is not configured, we should offer the user to configure the network. If they chose not to configure it, or it simply never works, there is no reason to try to update the installer, nor is there a need for a manual "retry update" screen or button.

If my information/assumptions are correct, the proper workflow would be:
a) update the installer (as early in the installation process as possible) if network can be automatically configured.
b) offer the user the possibility to configure the network if automatic configuration does not work (there might be a side-case here for the user always wanting the possibility to change the network configuration but for now this is not of interest to us).
c) if the user successfully configures the network, update the installer directly afterwards.

d) add a network configuration button to every screen in which the installer update might cause or improve serious problems.

@teclator
Copy link
Author

@kwwii and how could be the better way to proceed in case of failure trying to update?. shouldn't we inform the user about it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment