The /boot partition does not have enough space, during CG 5.x to 6.x appliance upgrade.

  • 7025009
  • 12-Feb-2021
  • 12-Feb-2021

Environment

Change Guardian 5.x release cycle

Situation

It happens that sometimes during upgrade, from CG 5.x to 6.x appliance, the /boot partition does not have enough space. This means the upgrade will fail.

You might get errors such as:
----------------------------
Installation of kernel-default-4.12.14-122.32.1.x86_64 failed:
Error: Subprocess failed. Error: RPM failed: installing package kernel-default-4.12.14-122.32.1.x86_64 needs 30MB on the /boot filesystem

Abort, retry, ignore? [a/r/i] (a):
----------------------------


In the old versions of CG 5.x, the boot partition in some cases can end up with less than 100mb.

This is addressed from CG 6.x appliances on, the /boot partition is > 300MB.


Also, see release notes:
https://www.netiq.com/documentation/change-guardian-60/releasenotes60/data/releasenotes60.html

- Appliance Installation Allocates Larger Data Partition#
Based on the selected disk space the appliance installation allocates maximum space to the event data partition.


So if you come across this, you have to extend the boot partition manually, or clean up the boot partition.

No action is required for new CG 6.0 appliance installs.

Resolution

1)
You can revert to a recent snapshot taken before running ‘zypper –v patch’, and free up some space sufficient for upgrade and then run ‘zypper –v patch and zypper up’ again to complete the upgrade.
 
There are steps to extend /boot partition before upgrade:
https://www.suse.com/support/kb/doc/?id=000018810

 
2)
Even reverting the snapshot is not necessary.  Just make sure there is sufficient space available and re-run the ‘zypper –v patch and zypper up’ to complete the upgrade. No problem.
 
Please run  'uname -a' command and find the files vmlinuz, vmlinux, initrd, symtypes, symvers, etc, in /boot folder matching the version number found on the command output.  By keeping the matching files in /boot folder, move the remaining files to some other folder as backup.
This will create space in /boot folder.  Then you can go ahead for patching.
 
For example:
 
sles15sp2:/opt # uname -a
Linux sles15sp2 5.3.18-22-default #1 SMP Wed Jun 3 12:16:43 UTC 2020 (720aeba) x86_64 x86_64 x86_64 GNU/Linux
 
sles15sp2:/opt # ls -l /boot
total 51964
-rw-r--r-- 1 root root       65 Jun  7  2020 .vmlinuz-5.3.18-22-default.hmac
-rw-r--r-- 1 root root  4287514 Jun  6  2020 System.map-5.3.18-22-default
-rw-r--r-- 1 root root     1725 Jun  6  2020 boot.readme
-rw-r--r-- 1 root root   210122 Jun  6  2020 config-5.3.18-22-default
drwxr-xr-x 3 root root    16384 Jan  1  1970 efi
drwxr-xr-x 6 root root     4096 Oct 28 18:18 grub2
lrwxrwxrwx 1 root root       24 Oct 28 18:15 initrd -> initrd-5.3.18-22-default
-rw------- 1 root root 11262412 Oct 28 18:18 initrd-5.3.18-22-default
-rw------- 1 root root 15483956 Oct 30 14:46 initrd-5.3.18-22-default-kdump
-rw-r--r-- 1 root root   405812 Jun  6  2020 symvers-5.3.18-22-default.gz
-rw-r--r-- 1 root root      484 Jun  6  2020 sysctl.conf-5.3.18-22-default
-rw-r--r-- 1 root root 12996128 Jun  6  2020 vmlinux-5.3.18-22-default.gz
lrwxrwxrwx 1 root root       25 Oct 28 18:15 vmlinuz -> vmlinuz-5.3.18-22-default
-rw-r--r-- 1 root root  8515952 Jun  7  2020 vmlinuz-5.3.18-22-default
 
This output is only for reference.   Do as per the files on your machine.
 
Note:
Usually, it will keep multiple versions of boot related files in /boot folder.  So, we can cleanup the system and gain the space as per the current version of kernel.

Cause

In the old versions of CG 5.x, the boot partition in some cases can end up with less than 100mb.

This is addressed from CG 6.x appliances on, the /boot partition is > 300MB.