Distribution update from 15.2 to 15.3¶
Rockstor version 4 has been released in the testing channel for the entire life of openSUSE Leap 15.2. As such there are many installs “Build on openSUSE” Leap 15.2 - End of Life (EOL) December 2021. This How-to includes instruction on moving an existing 15.2 based install over, in-place to the new openSUSE Leap 15.3 base.
There are always less unknowns for fresh installs. It is advisable to consider a fresh-start via the latest recommended Rockstor installer. See Downloads for the available options. See also our Rockstor’s “Built on openSUSE” installer.
Existing Pools and Configuration Backup and Restore files remain compatible and importable.
For both in-place and re-install/import approaches; always ensure all backups are refreshed. For re-install/import all data on a re-used system disk (‘ROOT’ pool) will be irreversibly destroyed. Alternatively use a fresh system disk to provide a fail over of reverting to the original system disk. Do not attach both old and new system disks simultaneously. Only one Rockstor system disk must be attached at any one time.
Before attempting an in-place distribution update (15.2->15.3) be sure that you have applied all regular updates first. The Updating Rockstor section covers how to do this either via the Web-UI or via the command line.
This procedure is well established in our upstream base of openSUSE Leap and is know as a Distribution Update. Below we detail the following steps, each in their own sections:
Remove deprecated repositories
Add Rockstor home repository
Update the remaining repositories
Add new SLES repositories
See our FAQ entry What Repositories does Rockstor 4 use? to see the initial and target repository configuration.
Remove deprecated repositories¶
In our “Built on openSUSE” Leap 15.2 we used the shells repo for shellinabox.
To remove this now redundant repository execute the following:
zypper rr shells
Shellinabox is now build in our own rockstor_home
Add Rockstor home repository¶
For our Leap 15.3 based profiles we now build shellinabox in our own OBS repository: rockstor_home copied directly from the shells repository. This represents a vendor change: obs://build.opensuse.org/shells -> obs://build.opensuse.org/home:rockstor.
The following adds the home_rockstor repo:
zypper --non-interactive addrepo --refresh https://download.opensuse.org/repositories/home:/rockstor/openSUSE_Leap_15.3/ home_rockstor
Update the remaining repositories¶
Here we stream edit/replace all
15_2 instances with
sed -i 's/15_2/15_3/g' /etc/zypp/repos.d/*.repo sed -i 's/15\.2/15\.3/g' /etc/zypp/repos.d/*.repo
This does not change the repository configuration file names themselves. This is not important and can serve as an indicator of a systems history. The filenames for these repositories are cosmetic only.
Add new SLES repositories¶
The Leap 15.3 upstream effort involved the interim Jump endeavour. This introduced a binary compatibility between Leap 15.3 and SLES 15.3. As such some packages now come directly from shared repositories with SLES. But these repositories are were not included in the initial release of openSUSE 15.3. We add these repositories before hand to avoid an inevitable downgrade and consequent upgrade process. This helps to speed up the entire process and avoids downgrades where possible. For more details on this approach see our installer pull request that does the same: Add repo-backports-update & repo-sle-update in Leap 15.3 profiles …
zypper --non-interactive addrepo --refresh https://download.opensuse.org/update/leap/15.3/backports/ repo-backports-update zypper --non-interactive addrepo --refresh https://download.opensuse.org/update/leap/15.3/sle/ repo-sle-update
Before the big Distribution Update we must import all the new repository keys from all of the changes made above.
zypper --non-interactive --gpg-auto-import-keys refresh
The following command should output a very similar list of repositories to those indicated. Rockstor-Testing may be replaced by Rockstor-Stable, or neither may be present; depending on your update channel selection
zypper lr -u Repository priorities in effect: (See 'zypper lr -P' for details) 97 (raised priority) : 1 repository 99 (default priority) : 6 repositories # | Alias | Name | Enabled | GPG Check | Refresh | URI --+------------------------------------+------------------------------------+---------+-----------+---------+------------------------------------------------------------------------------------------------------ 1 | Leap_15_3 | Leap_15_3 | Yes | (r ) Yes | Yes | http://download.opensuse.org/distribution/leap/15.3/repo/oss/ 2 | Leap_15_3_Updates | Leap_15_3_Updates | Yes | (r ) Yes | Yes | https://download.opensuse.org/update/leap/15.3/oss/ 3 | Rockstor-Testing | Rockstor-Testing | Yes | (r ) Yes | Yes | http://updates.rockstor.com:8999/rockstor-testing/leap/15.3 4 | home_rockstor | home_rockstor | Yes | (r ) Yes | Yes | https://download.opensuse.org/repositories/home:/rockstor/openSUSE_Leap_15.3/ 5 | home_rockstor_branches_Base_System | home_rockstor_branches_Base_System | Yes | (r ) Yes | Yes | https://download.opensuse.org/repositories/home:/rockstor:/branches:/Base:/System/openSUSE_Leap_15.3/ 6 | repo-backports-update | repo-backports-update | Yes | (r ) Yes | Yes | https://download.opensuse.org/update/leap/15.3/backports/ 7 | repo-sle-update | repo-sle-update | Yes | (r ) Yes | Yes | https://download.opensuse.org/update/leap/15.3/sle/
And finally the actual 15.2 to 15.3 base OS update itself. Here we instruct zypper to download all packages first. This helps to avoid a download failure part-way through this rather sensitive process.
zypper dup --download-in-advance --allow-vendor-change --no-recommends
We use –allow-vendor-change as many prior openSUSE packages are now supplied directly from SuSE. The –no-recommends is to keep to our JeOS (Just enough Operating System) origin. I.e. don’t install things like manuals etc and other ‘extra’ packages.
The download size and extra disk space required will be around 350 MB. So ensure that you have at least 2 GB to 3 GB free on your system disk, ROOT pool, before proceeding.
As we are changing the legs upon which the entire system is running, it is best to have the system under as minimal load as possible.
It is imperative that the system is not rebooted during this process. However it is also important to reboot the system after the above “zypper dup …” command has completed. This enables the new legs to be the ones running the show.
As always we welcome feedback to improve what we do. So please consider reporting your experience or suggestions to our friendly Community Forum.
A distribution update is in many ways more complex than an entirely fresh install. And given Rockstor’s overall size a re-install can be very quick. But if you have a complex install an in-place distribution update can be the way to go.