yast/yast-installation

View on GitHub
doc/UPGRADE.md

Summary

Maintainability
Test Coverage
# System Upgrade

## Introduction

With the **system upgrade** term we mean upgrading the installed system to a new
product version.

### Note

The offline/online term refers to the system state, it is not about network status
or about using remote (HTTP/FTP/...) or local (DVD/disk/...) installation
repositories.

At the online upgrade the system is running and the packages are upgraded while
the system is in use. At the offline upgrade the system is rebooted into
installation medium and the system cannot be used during the upgrade.

The online upgrade can be used for a service pack level upgrade, for upgrading to
a new product version the offline upgrade should be used.

### Recommendations

- It is recommended to install all latest online updates before running the
  upgrade. The updates might include a fix for the system upgrade.

- In all cases it is recommended to backup the old system before doing
  an upgrade.


## Related Features

- [FATE#323163](https://fate.suse.com/323163) - YaST: SLES12 to SLES15 migration

## SLE-15 Offline Upgrade Workflow

The high level upgrade workflow should include these steps:

1. Start the installer
1. Select the language/keyboard
1. Select the root partition with the system to upgrade
1. Display and confirm the license of the new system
1. Load the installed products (the base product and all add-ons)
1. Load the matching base product from the medium
1. Send the the installed products and the product from medium to SCC/SMT
1. The response will contain the possible upgrades, some add-ons might be
   available in multiple versions, user should be able to select which version
   will be installed
1. Ask the SCC/SMT to upgrade the registration to the selected versions,
   this will add new installation repositories with packages to upgrade
1. Switch libzypp into the distribution upgrade mode and run the package solver
   to select the needed packages for upgrade
1. Display the upgrade summary, until this point it is still possible to abort
   the upgrade and revert the system back into the original system.
1. After user confirms the upgrade YaST starts the package installation.
   After the package upgrade starts it is possible to restore the original
   system only from a snapshot (if enabled in the system) or from a backup.
1. Run the finish clients to adjust the system configuration
1. Reboot into the upgraded system

#### Notes

- SCC/SMT will always add all available modules to make sure all SLE12 packages
  can be upgraded to their SLE15 version
- The system will be upgraded only to the version available on the installation
  medium. In theory we could upgrade even to a newer version (SP+1), but to
  limit the QA and the testing scope it is limited only to the base product on
  the medium.


#### Not Registered System

If the system is not registered then steps 4. to 9. are skipped and the user
can use the provided DVD media for the upgrade. If upgrade via SCC/SMT is still
required the system should be rebooted into the old system and registered there.


#### The Old Medium Based Upgrade

This is basically the same as the upgrade of an unregistered system described
above but can be manually forced even for a registered system. The switch
will be done via a hidden boot parameter (not displayed in the isolinux boot
menu). **(Not implemented yet)**