@beli3005 looks like there is a bug in the parse function of rstcli
check plugin.
95 def parse_rstcli(info):
96 if info == [["rstcli not found"]]:
97 return {}
98
99 rstcli_sections = parse_rstcli_sections(info)
100 if rstcli_sections is None:
101 return {}
102
103 volumes = {}
104 for section in rstcli_sections:
105 if section[0] == "VOLUME INFORMATION":
106 volumes.update(parse_rstcli_volumes(section[1]))
107 elif section[0].startswith("DISKS IN VOLUME"):
108 volume = section[0].split(":")[1].strip()
109 volumes[volume]["Disks"] = parse_rstcli_disks(section[1])
110 else:
111 raise MKGeneralException("invalid section in rstcli output: %s" % section[0])
112
113 return volumes
line 106
106 volumes = parse_rstcli_volumes(section[1])
needs to be changed to
106 volumes.update(parse_rstcli_volumes(section[1]))
after tis change the check will discover three volumes with two disks each
RAID Disk SSD-NVME/1-0-0-0 Normal (unit: SSD-NVME, size: 3576.98 GB, type: NVMe*, model: Micron_7300_XXXXXX, serial: 20999D9C999A)
RAID Disk SSD-NVME/1-0-1-0 Normal (unit: SSD-NVME, size: 3576.98 GB, type: NVMe*, model: Micron_7300_XXXXXXTDF, serial: 20992D9C99XX)
RAID Disk SSD-SATA/0-0-0-0 Normal (unit: SSD-SATA, size: 3576.98 GB, type: SATA, model: SAMSUNG MZ99999999-00A07, serial: S6ER99999996)
RAID Disk SSD-SATA/0-1-0-0 Normal (unit: SSD-SATA, size: 3576.98 GB, type: SATA, model: SAMSUNG MZ79999999999-00A07, serial: S6ER999999949)
RAID Disk System/0-0-0-0 Normal (unit: System, size: 3576.98 GB, type: SATA, model: SAMSUNG MZ799999999999BLT-00A07, serial: S6E9999999999996)
RAID Disk System/0-1-0-0 Normal (unit: System, size: 3576.98 GB, type: SATA, model: SAMSUNG MZ9999999T-00A07, serial: S6E999999999)
RAID Volume SSD-NVME RAID 1, 2 disks (3398.13 GB), state Normal
RAID Volume SSD-SATA RAID 1, 2 disks (3276.97 GB), state Normal
RAID Volume System RAID 1, 2 disks (300.00 GB), state Normal