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.
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.
- 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
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
-
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
-
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
-
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
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.
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.
- 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
Workflow with proposed button:
License Agreement -> (Update & Restart) -> SCC -> Add On Product (Special Configuration)
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
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.
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)
- Registration (Modified Shortcut)
- Addon Products (Button added at top right)
As refered to different installation modes (live installation, upgrade, autoinstallation and autoupgrade), we hadn't detect important modifications.
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.