From c8fbfa5de03eaecd28784b6404f88f4a9ec133f5 Mon Sep 17 00:00:00 2001 From: netham45 Date: Tue, 15 Mar 2022 12:48:22 -0600 Subject: [PATCH] Update megaclisas-status Show if an unconfigured drive is foreign or not --- wrapper-scripts/megaclisas-status | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/wrapper-scripts/megaclisas-status b/wrapper-scripts/megaclisas-status index 071e514..7f09f7f 100755 --- a/wrapper-scripts/megaclisas-status +++ b/wrapper-scripts/megaclisas-status @@ -638,6 +638,17 @@ def returnUnconfDiskInfo(output, controllerid): table.append([mtype, model, dsize, fstate, speed, temp, enclid, slotid, diskid, ospath]) return table +def returnForeignDisks(controllerid): + cmd = "%s -CfgForeign -Dsply -a%d" % (megaclipath, controllerid) + foreignout = getOutput(cmd) + foreigndisks = [] + for line in foreignout: + result = re.search(r"Slot Number: (.*)",line) + if result: + matches = result.groups() + foreigndisks.append(matches[0]) + + return foreigndisks cmd = "%s -adpCount -NoLog" % (megaclipath) output = getOutput(cmd) @@ -917,6 +928,7 @@ if totalunconfdrivenumber: controllerid = 0 pcipath = "" while controllerid < controllernumber: + foreigndisks = returnForeignDisks(controllerid) arrayid = 0 cmd = "%s -LDInfo -lall -a%d -NoLog" % (megaclipath, controllerid) @@ -946,6 +958,8 @@ if totalunconfdrivenumber: else: bad = True nagiosbaddisk += 1 + if array[7] in foreigndisks: + array[3] = array[3] + " (Foreign)" # JBOD disks has a real device path and are not masked. Try to find a device name here, if possible. if pcipath: