Hi,

with the current oldstable point update to 9.11 this bug reared its ugly
head again. :-(

Before installing the Linux kernel from the Stretch point release, kernel
version vmlinuz-4.9.0-9-amd64 was running on our systems.  The point
release brought vmlinuz-4.9.0-11-amd64. After installing the kernel,
but before rebooting, the Icinga check reported OK, although a newer
Linux image was installed than the running image.

The reason was that although the list of kernels containing the
running as well as newer installed ones was created correctly, it
was sorted incorrectly.  vmlinuz-4.9.0-11-amd64 is seen as older than
vmlinuz-4.9.0-9-amd64:

$ printf -- '%s\n' vmlinuz-4.9.0-9-amd64 vmlinuz-4.9.0-11-amd64 | sort
vmlinuz-4.9.0-11-amd64
vmlinuz-4.9.0-9-amd64

After booting the new kernel, the check still reports OK, because the
list of running kernel and newer contains just the running kernel,
and thus the wrong sort invocation does not come into play.

As a result, the check can not determine if the newly installed Linux
kernel from the Stretch point update is running or not.

The patch I sent a year ago contains the fix for this problem, i.e., using
"version sort" instead of alphabetic sort for comparing version numbers.

Please consider fixing this bug.

Thanks,
Erik
-- 
Dipl.-Inform. Erik Auerswald         http://www.fg-networking.de/
auersw...@fg-networking.de T:+49-631-4149988-0 M:+49-176-64228513

Gesellschaft für Fundamental Generic Networking mbH
Geschäftsführung: Volker Bauer, Jörg Mayer
Gerichtsstand: Amtsgericht Kaiserslautern - HRB: 3630

Reply via email to