Upgrade from SLES 15 SP7 to 16 doesn't work

I try to follow https://documentation.suse.com/sles/16.0/html/SLES-upgrading/index.html but nothing happens. I run these steps:

  • zypper in suse-migration-sle16-activation
  • These NEW packages are going to be installed: SLES16-Migration suse-migration-sle16-activation
  • reboot
  • In the boot menu a new option “SLES 15-SP7 Migration” appears and is executed.
  • System reboots
  • The previous option disappears.
  • Nothing happened.

I have installed all updates and ran “zypper patch” as suggested.

Please advice. Thx

When the system rebooted it should boot into an upgrade live image to do the actual upgrade but it sounds like you’re saying it just boots back into SLES15 SP7?

It’s exactly what you write. I see only the “SP15 SP7” option and in the boot menu is not the “upgrade live image” option.

So I’ve just installed a test SLES15 SP7 x86_64 VM to check this and I also see the SLES15 SP7 Migration option appear at boot which as the new default is booted. This does then kick off an upgrade

Since this isn’t quick, if you’re not seeing this behaviour at boot then something is broken for you and should be logged directly with SUSE Support.

I’ll update here whether the actual upgrade works :crossed_fingers:

A thought - does your machine have network access? Given it’s pulling packages from (in my case) SCC I can imagine that access is checked at the beginning and if it fails it aborts the upgrade?

My upgrade completed successfully. It did create a log file at /var/log/distro_migration.log so perhaps that also exists for you and can shed some light on what did (or didn’t) happen.

It still fails. I fixed all of the warnings and errors but when the migration is running I see several of these errors and I don’t know if they prevent the migration or can be ignored and I don’t know how to fix them:

I uploaded the log file /var/log/distro_migration.log - do you see something which prevents the migration?

Output of zypper in suse-migration-sle16-activation

Running suse-migration-pre-checks with options: fix: False
Checking harmful migration conditions
--> Checking system architecture version...
Calling: ['zypper', 'system-architecture']
--> Checking for local private repos...
Done
--> Checking for encrypted rootfs...
Calling: ['blkid', '-s', 'TYPE', '-o', 'value', '/dev/disk/by-uuid/24abe7ed-43b6-40c0-8835-f2065db760cf']
Calling: ['blkid', '-s', 'TYPE', '-o', 'value', '/dev/disk/by-uuid/eb1e02d9-8d1f-4c34-aee6-4be9b3505e55']
Done
--> Checking for latest kernel in multiversion kernel system...
The config option 'multiversion' in /etc/zypp/zypp.conf includes the keyword 'kernel.' The current value is set as 
'multiversion = provides:multiversion(kernel)'.
Checking the config option 'multiversion.kernels' to see if multiple kernels are also enabled
Calling: ['rpm', '-qa', 'kernel-default']
Done
--> Checking LSM migration...
Calling: ['aa-status', '--json']
Calling: ['rpm', '-V', 'apparmor-profiles']
Done
--> Checking upgrade path against registration server...
Done
--> Checking high availability extension...
corosync.conf not found. Skipped checks for high availablity extension.
Done
--> Checking wicked to NetworkManager migration...
Calling: ['wicked2nm', 'migrate', '--disable-hints', '--dry-run', '--netconfig-base-dir', '/etc/sysconfig/network', '/var/cache/wicked_config/config.xml']
Done
--> Checking sshd configuration...
Calling: ['systemctl', '--quiet', 'is-enabled', 'sshd']
Calling: ['sshd', '-T']
Root login by ssh will be disabled by default in SLE16.
You might want to enable it back before starting the migration.
To do so, create /etc/ssh/sshd_config.d/50-permit-root-login.conf
with the following content:
PermitRootLogin yes
Once the migration is complete, you can install
openssh-server-config-rootlogin package and remove the previously
added file.
Done
(1/2) Installing: SLES16-Migration-2.1.26-15.22.4.x86_64 
Generating grub configuration file ...
Found theme: /boot/grub2/themes/SLE/theme.txt
Found linux image: /boot/vmlinuz-6.4.0-150700.53.31-default
Found initrd image: /boot/initrd-6.4.0-150700.53.31-default
Adding boot menu entry for UEFI Firmware Settings ...
done
(2/2) Installing: suse-migration-sle16-activation-2.1.26-150700.15.9.1.x86_64

Sorry for the late reply. I didn’t have enabled the email notification. I enabled it now and should react much faster.

Whilst our log file start and end similarly yours is missing a whole load of work of the actual migration which is unsurprising given that it didn’t work. Basically after the –> Checking sshd configuration… and following Done lines I’ve a whole load more activity until Uninstalling migration:. Unfortunately what I’m not seeing is alternative lines such as “Error ”.

What I do see in your output are two lines

Device path 10.10.50.216:/nfs_data/builds not found and skipped
Device path 10.10.50.246:/ISO not found and skipped

I’m guessing they’re NFS mounts related to initial install?

And the earlier line

cd:/?devices=/dev/disk/by-id/ata-QEMU_DVD-ROM_QM00004

suggests this is a VM? What virtualisation environment are you using and how is the networking configured?

I didn’t receive again a notification of your reply - SORRY!
Yes, it’s a Citrix Host VM. I didn’t remove anything from the log. It shows what I get.
What do you mean with “how is the networking configured”?

No problem and no I wasn’t saying you removed log entries just that there’s the difference although I don’t yet know why.

My question about networking is whether it’s NAT’ed, has external access to the Internet (i.e. to SUSE Customer Center for packages), any firewalls/proxies involved, etc. ?

Now I got an email with all previous posts.
Yes, the VM has a direct internet access and SUSE server is accessible. I am running all the time successfully the updates. Yes, there is of course a firewall, no proxy.

The issue is here:

Found multiple product definitions without element <flavor>: 
/system-root/etc/products.d/SLES.prod
/system-root/etc/products.d/sle-module-packagehub-subpackages.prod
Base Product update failed with: Found multiple product definitions without element <flavor>: 
/system-root/etc/products.d/SLES.prod
/system-root/etc/products.d/sle-module-packagehub-subpackages.prod

Remove the PackageHub and try upgrade again.

Let me know the result.

Regards,

Ahmad

My “Update-Day” is always Saturday, not during the week. I am already very curious and will post here the result. Thx

Do you know how to remove product from SLES ?

If your system connected to SCC, use SUSEConnect

Yeah, I know it, thx for asking.
I cloned the one VM and tried your steps, but the same, no upgrade.
Here the output from SUSEConnect --status-text - maybe it helps.

Installed Products:
------------------------------------------
  Systems Management Module
  (sle-module-systems-management/15.7/x86_64)
  Registered
------------------------------------------
  Python 3 Module
  (sle-module-python3/15.7/x86_64)
  Registered
------------------------------------------
  SUSE Linux Enterprise Server 15 SP7
  (SLES/15.7/x86_64)
  Registered
    Subscription:
    Name: SUSE Linux Enterprise Server for x86, AMD64, Intel64  Subscription Evaluation
    Status: ACTIVE
    Type: evaluation
------------------------------------------
  Web and Scripting Module
  (sle-module-web-scripting/15.7/x86_64)
  Registered
------------------------------------------
  Basesystem Module
  (sle-module-basesystem/15.7/x86_64)
  Registered
------------------------------------------
  Server Applications Module
  (sle-module-server-applications/15.7/x86_64)
  Registered
------------------------------------------
  Public Cloud Module
  (sle-module-public-cloud/15.7/x86_64)
  Registered
------------------------------------------
  Module to ship some SLE subpackages by PackageHub
  (sle-module-packagehub-subpackages/15.6/x86_64)
  Not Registered
------------------------------------------
  Development Tools Module
  (sle-module-development-tools/15.7/x86_64)
  Registered
------------------------------------------
  Desktop Applications Module
  (sle-module-desktop-applications/15.7/x86_64)
  Registered
------------------------------------------

please share the log file /var/log/distro_migration.log

Running Pre-migration btrfs snapshot creation
Calling: ['chroot', '/system-root', 'snapper', '--no-dbus', 'get-config']
Running ssh keys service
Getting keys from /system-root/root/.ssh/authorized_keys
Save keys to /home/migration/.ssh/authorized_keys
Copying host ssh keys
Restarting sshd
Calling: ['systemctl', 'restart', 'sshd']
Running post mount actions
Copy file: /system-root/etc/udev/rules.d/70-persistent-net.rules to: /etc/udev/rules.d
Copy file: /system-root/etc/sysctl.conf to: /etc
Copy file: /system-root/etc/sysctl.d/70-yast.conf to: /etc/sysctl.d
Calling: ['udevadm', 'control', '--reload']
Calling: ['udevadm', 'trigger', '--type=subsystems', '--action=add']
Calling: ['udevadm', 'trigger', '--type=devices', '--action=add']
Calling: ['sysctl', '--system']
Running setup host network service
Calling: ['mount', '--bind', '/system-root/etc/sysconfig/network/providers', '/etc/sysconfig/network/providers']
Calling: ['systemctl', 'reload', 'network']
Running wicked2nm host network migration
Calling: ['rpm', '--query', '--quiet', 'wicked2nm']
Calling: ['rpm', '--query', '--quiet', 'NetworkManager-config-server']
Calling: ['wicked2nm', 'migrate', '--netconfig-base-dir', '/system-root/etc/sysconfig/network', '--activate-connections', '/system-root/var/cache/wicked_config/config.xml']
Calling: ['nm-online', '-q']
Running suse-migration-pre-checks with options: fix: True
Using migration_system mode
Checking harmful migration conditions
--> Checking system architecture version...
--> Checking for local private repos...
Done
--> Checking for encrypted rootfs...
Calling: ['blkid', '-s', 'TYPE', '-o', 'value', '/dev/disk/by-uuid/24abe7ed-43b6-40c0-8835-f2065db760cf']
Calling: ['blkid', '-s', 'TYPE', '-o', 'value', '/dev/disk/by-uuid/eb1e02d9-8d1f-4c34-aee6-4be9b3505e55']
Done
--> Checking for latest kernel in multiversion kernel system...
The config option 'multiversion' in /etc/zypp/zypp.conf includes the keyword 'kernel.' The current value is set as 
'multiversion = provides:multiversion(kernel)'.
Checking the config option 'multiversion.kernels' to see if multiple kernels are also enabled
Calling: ['chroot', '/system-root', 'rpm', '-qa', 'kernel-default']
Running setup resolver service
Copying /system-root/etc/resolv.conf
Running prepare for migration
Dumping Hosts file:
#
# hosts         This file describes a number of hostname-to-address
#               mappings for the TCP/IP subsystem.  It is mostly
#               used at boot time, when no name servers are running.
#               On small systems, this file can be used instead of a
#               "named" name server.
# Syntax:
#    
# IP-Address  Full-Qualified-Hostname  Short-Hostname
#

127.0.0.1	localhost

# special IPv6 addresses
::1             localhost ipv6-localhost ipv6-loopback

fe00::0         ipv6-localnet

ff00::0         ipv6-mcastprefix
ff02::1         ipv6-allnodes
ff02::2         ipv6-allrouters
ff02::3         ipv6-allhosts
10.10.50.209	AAEB-VRG209LX.aaeb.local AAEB-VRG209LX


Calling: ['mount', '--bind', '/system-root/var/log/zypper.log', '/var/log/zypper.log']
Calling: ['ip', 'a']
All Network Interfaces 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host proto kernel_lo 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 3a:68:5a:af:68:3b brd ff:ff:ff:ff:ff:ff
    altname enx3a685aaf683b
    inet 10.10.50.209/24 brd 10.10.50.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::1d13:d94f:a25a:baaf/64 scope link tentative noprefixroute 
       valid_lft forever preferred_lft forever

Calling: ['ip', 'r']
Routing Tables 
default via 10.10.50.254 dev eth0 proto static metric 100 
10.10.50.0/24 dev eth0 proto kernel scope link src 10.10.50.209 metric 100 
127.0.0.0/8 dev lo proto kernel scope link src 127.0.0.1 metric 30 

Calling: ['cat', '/etc/resolv.conf']
DNS Resolver 
# Generated by NetworkManager
search aaeb.local
nameserver 10.10.50.202

Bind mounting /etc/zypp
Calling: ['mount', '--bind', '/system-root/etc/zypp', '/etc/zypp']
Bind mounting /usr/lib/zypp/plugins
Calling: ['mount', '--bind', '/system-root/usr/lib/zypp/plugins/services', '/usr/lib/zypp/plugins/services']
The migration file '/etc/migration-config.yml' has been updated with '/system-root/etc/sle-migration-service.yml' info

Config file content:
pre_checks_fix: true
preserve:
  rules:
  - /etc/systemd/network/*.link
  - /etc/udev/rules.d/70-persistent-net.rules
  sysctl:
  - /etc/sysctl.conf
  - /etc/sysctl.d/*.conf
soft_reboot: false
use_zypper_migration: true


Calling: ['chroot', '/system-root', 'SUSEConnect', '--list-extensions']
Running setup baseproduct for migration
Updating Base Product to be suitable for migration
Found multiple product definitions without element <flavor>: 
/system-root/etc/products.d/SLES.prod
/system-root/etc/products.d/sle-module-packagehub-subpackages.prod
Base Product update failed with: Found multiple product definitions without element <flavor>: 
/system-root/etc/products.d/SLES.prod
/system-root/etc/products.d/sle-module-packagehub-subpackages.prod
Running grub setup service
Calling: ['chroot', '/system-root', 'zypper', '--non-interactive', '--no-gpg-checks', 'remove', 'SLE*Migration', 'suse-migration-*-activation']
Done
--> Checking LSM migration...
Skipped LSM migration checks.
Done
--> Checking upgrade path against registration server...
Done
--> Checking high availability extension...
corosync.conf not found. Skipped checks for high availablity extension.
Done
--> Checking wicked to NetworkManager migration...
Done
--> Checking sshd configuration...
Done
Uninstalling migration: 
Reading installed packages...
Resolving package dependencies...

The following 2 packages are going to be REMOVED:
  SLES16-Migration suse-migration-sle16-activation

2 packages to remove.

Package install size change:
              |         0 B    required by packages that will be installed
  -319.2 MiB  |  -  319.2 MiB  released by packages that will be removed

Backend:  classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y): y
(1/2) Removing: suse-migration-sle16-activation-2.1.30-150700.15.13.1.x86_64 [..
Generating grub configuration file ...
Found theme: /boot/grub2/themes/SLE/theme.txt
Found linux image: /boot/vmlinuz-6.4.0-150700.53.31-default
Found initrd image: /boot/initrd-6.4.0-150700.53.31-default
Adding boot menu entry for UEFI Firmware Settings ...
done
.done]
(2/2) Removing: SLES16-Migration-2.1.30-15.26.4.x86_64 [..done]
 

Calling: ['chroot', '/system-root', 'grub2-mkconfig', '-o', '/boot/grub2/grub.cfg']
Creating new grub menu: 
Generating grub configuration file ...
Found theme: /boot/grub2/themes/SLE/theme.txt
Found linux image: /boot/vmlinuz-6.4.0-150700.53.31-default
Found initrd image: /boot/initrd-6.4.0-150700.53.31-default
Adding boot menu entry for UEFI Firmware Settings ...
done

Running update bootloader service
Installing the shim package
Calling: ['bash', '-c', 'zypper --no-cd --non-interactive --gpg-auto-import-keys --root /system-root install --auto-agree-with-licenses --allow-vendor-change --download in-advance --replacefiles --allow-downgrade shim &>> /system-root/var/log/distro_migration.log']
Running initrd creation service
No action needed, dracut was called during installation
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
Refreshing service 'Basesystem_Module_15_SP7_x86_64'.
Refreshing service 'Desktop_Applications_Module_15_SP7_x86_64'.
Refreshing service 'Development_Tools_Module_15_SP7_x86_64'.
Refreshing service 'Public_Cloud_Module_15_SP7_x86_64'.
Refreshing service 'Python_3_Module_15_SP7_x86_64'.
Refreshing service 'SUSE_Linux_Enterprise_Server_15_SP7_x86_64'.
Refreshing service 'Server_Applications_Module_15_SP7_x86_64'.
Refreshing service 'Systems_Management_Module_15_SP7_x86_64'.
Refreshing service 'Web_and_Scripting_Module_15_SP7_x86_64'.
Loading repository data...
Reading installed packages...
warning: Found bdb_ro Packages database while attempting ndb backend: using bdb_ro backend.
'shim' is already installed.
No update candidate for 'shim-16.1-150300.4.31.3.x86_64'. The highest available version is already installed.
Resolving package dependencies...
Nothing to do.
Updating the shimbootloader
Calling: ['chroot', '/system-root', 'shim-install', '--removable']
Updating the bootloader
Calling: ['chroot', '/system-root', '/sbin/update-bootloader', '--reinit']
Running reboot service
The migration file '/etc/migration-config.yml' has been updated with '/system-root/etc/sle-migration-service.yml' info

Config file content:
pre_checks_fix: true
preserve:
  rules:
  - /etc/systemd/network/*.link
  - /etc/udev/rules.d/70-persistent-net.rules
  sysctl:
  - /etc/sysctl.conf
  - /etc/sysctl.d/*.conf
soft_reboot: false
use_zypper_migration: true


Calling: ['systemctl', 'stop', 'suse-migration-console-log']
Umounting system
Calling: ['umount', '--lazy', '/system-root/application']
Umounting /system-root/application: command(output='', error='', returncode=0)
Calling: ['umount', '--lazy', '/system-root/']
Umounting /system-root/: command(output='', error='', returncode=0)
Calling: ['systemctl', 'reboot']
Reboot system: 
command(output='', error='', returncode=0)

This is same error, what is this file? Can you do rpm -qf /etc/products.d/sle-module-packagehub-subpackages.prod ?

The output is sle-module-packagehub-subpackages-release-15.6-150600.37.2.x86_64

But when I try to uninstall it with rpm -e I get the message that it’s not installed.