SDB:System upgrade of LeapMicro

Jump to: navigation, search
This guide shows how to use Zypper to do a live distribution upgrade of Leap Micro 5.5 to Leap Micro 6.0

Tested on openSUSE

Icon-checked.png

Recommended articles



Summary

This page explains how to run a series of command line steps to live upgrade your Leap Micro 5.5 system to the latest Leap Micro 6.0.

Doing a live upgrade has advantages as well as disadvantages.

I highly recommend performing a clean install especially with a new major version and even more since the deployment with self-install image takes less than a 5 minutes.

Extra repositories handling

openSUSE-repos simplifies updating of repository definition in between major version upgrades.

Before Upgrading

Please check the SDB:System_upgrade_of_LeapMicro#Known_issues_with_migration section at the bottom of the page. Also, read the Release Notes which list changes and glitches in the new release.


Backup

Backup all data you do not want to loose! transactional-update system mechanism does not serve as a backup your 3rd party application data.

Experimental opensuse-migration-tool

Opensuse-migration-tool.png

We're shipping new experimental opensuse-migration-tool for migration and system upgrades with Leap Micro 6.1.

There is a nice article about showcasing Leap Micro 6.1 Beta.

Leap Micro 6.1+ users can simply follow instructions for Immutable systems on github.

Please follow instructions on getting the tool from github for migration from older releases such as Leap Micro 5.X or 6.0. Just skip the distrobox part.

Issues can be reported on github.


Manual steps for upgrade

Making sure you are up to date

transactional-update dup

1. Enter transactional update shell

You need to stay within transactional-update shell until end of upgrade steps.

transactional-update shell

2. Fetch new repositories and new keys

This step is only for migration from 5.X releases to 6.X. There is no repository paths change in between 6.0 and 6.1 aside from $releasever.

The most important change as far as repositories go is that Leap Micro 6.0+ uses exclusively repo definitions provided by package openSUSE-repos. The update repo was merged into the main repository and paths are slightly different as we use product-composer instead of old product builder. Installing openSUSE-repos takes care about all of it.

If you insist on maintaining repositories manually instead of relying on our local Repository Index Service, then template for new repos can be found here.

zypper --releasever 6.1 install openSUSE-repos openSUSE-build-key audit


Note: Installation of audit before upgrade is required until Bug#1226723 has a released fix for Micro 5.5.

Note: SLE Micro 6.0, on which binaries Leap Micro 6.X is based on, introduces new signing key gpg-pubkey-09d9ea69-645b99ce.asc which gets deployed by installing new openSUSE-repos. You might need to run following to import the key to rpmdb.

for i in /usr/lib/rpm/gnupg/keys/gpg-pubkey*asc; do rpm --import $i || true; done

3. Execute the full distribution upgrade

Now execute the full distribution upgrade.

Icon-warning.png
Warning: It is strongly recommended that you run the upgrade outside cockpit as the service might potentially stop responding. Ideally use console or ssh.
zypper --releasever=6.1 dup --download-in-advance

With the above command, zypper will download all packages in advance - which is more reliable if your internet connection may fail.

Once the dup is finished, openSUSE sets the releasever variable to the new version.

If you did the above dist upgrade before the official release date, you may have installed a Release Candidate (RC) or a milestone version and will need to repeat the final zypper dup step now to receive the final release.

4. Exit transactional-update shell and Reboot

Exit transactional update shell. You need to reboot to the new snapshot in order to see changes.

exit # or ^D
reboot


5. (optional) Rollback

Transactional update systems make rollback super easy. Please be aware that this is a rollback of the distribution upgrade not your 3rd party application data.

transactional-update rollback

Known issues with migration

Migration from 5.X

Bug 1226723 backlog limit exceeded on migration from 5.5 -> 6.0
Leap Micro 6.0 - used signing keys 09d9ea69: NOKEY
Migration from 5.5 complains about libcontainer-sles-mounts

Afterwards

Discover and enjoy :)