From 4e6b3a2caeed1ef80d2aa2d45cd41fae5918ec20 Mon Sep 17 00:00:00 2001 From: Fernando Lucas Date: Sun, 21 Jul 2024 23:07:03 +0200 Subject: [PATCH] update --- check_grubentry | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/check_grubentry b/check_grubentry index 40d69c2..04ccbc4 100644 --- a/check_grubentry +++ b/check_grubentry @@ -38,7 +38,7 @@ def exitnagios(status,message): #------------------------------------------------------------------------------- -def dogrubentrycall(expected): +def dogrubentrycall(expectedpos): try: lines = [] handle = open("/boot/grub/grub.cfg", "r") @@ -60,9 +60,11 @@ def dogrubentrycall(expected): allcandidates.append(doublequotes[0]) validcandidates = [] for item in allcandidates: - if item.startswith("Debian GNU/Linux, with Linux "): + if item.startswith("Debian GNU/Linux"): validcandidates.append(item) infomsg(validcandidates) + expectedstring = validcandidates[expectedpos] + infomsg("expected -> "+expectedstring) cmdline = ["/usr/bin/uname","--kernel-release"] completedproc = subprocess.run(cmdline,capture_output=True) @@ -72,14 +74,13 @@ def dogrubentrycall(expected): version = "" if exitcode == 0: version = output.strip() - currententry = "Debian GNU/Linux, with Linux "+version - infomsg(currententry) + runningending = ", with Linux "+version + infomsg("running -> "+runningending) - foundindex = validcandidates.index(currententry) - if foundindex==expected: - exitnagios("OK","running grub entry '"+currententry+"'") + if expectedstring.endswith(runningending): + exitnagios("OK","grub entry '"+str(expectedpos)+" - "+expectedstring+"' matches the running version '"+version+"'") else: - exitnagios("WARNING","running grub entry '"+currententry+"' but it was expected '"+validcandidates[expected]+"'") + exitnagios("WARNING","running grub entry with version '"+version+"' but it was expected '"+expectedstring+"'") except Exception as e: exitnagios("CRITICAL","internal issue - "+str(e))