bb-Ricardo / check_redfish

A monitoring/inventory plugin to check components and health status of systems which support Redfish. It will also create a inventory of all components of a system.
MIT License
115 stars 34 forks source link

Storage check critical on ThinkSystem SR645 V3 #127

Closed log1-c closed 6 months ago

log1-c commented 8 months ago

Hello,

I just implemented the check for a Lenovo ThinkSystem SR645 V3. While the XClarity Console does not report any issue with the storage devices the check reports them as CRITICAL

Following is part of the debug output of the --storage check.

Debug output for /Storage api ``` 2024-03-22 13:07:32,685 - DEBUG: HTTP REQUEST (GET) for /redfish/v1/Systems/1/Storage?$expand=*: Headers: X-Auth-Token: 0AA673FD71C0EB9612418E12443CFD4DBD05B69B Accept: */* OData-Version: 4.0 Body: No request body 2024-03-22 13:07:32,685 - INFO: Attempt 1 of /redfish/v1/Systems/1/Storage?$expand=* 2024-03-22 13:07:33,307 - DEBUG: https://10.172.250.150:443 "GET /redfish/v1/Systems/1/Storage?$expand=* HTTP/1.1" 200 None 2024-03-22 13:07:33,307 - INFO: Response Time for GET to /redfish/v1/Systems/1/Storage?$expand=*: 0.6223519549821503 seconds. 2024-03-22 13:07:33,308 - DEBUG: HTTP RESPONSE for /redfish/v1/Systems/1/Storage?$expand=*: Code: 200 OK Headers: Date: Fri, 22 Mar 2024 12:07:31 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: keep-alive Link: ; rel="describedby", Allow: GET, HEAD ETag: W/"518d4509e751f2b0" OData-Version: 4.0 Content-Language: en Cache-Control: no-store, no-cache, no-store, must-revalidate, private Server: XCC Web Server Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Security-Policy: default-src 'self'; connect-src *; script-src 'self'; img-src 'self'; style-src 'self'; font-src 'self'; child-src 'self'; object-src 'none'; frame-ancestors 'none' X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff X-Frame-Options: DENY Referrer-Policy: same-origin Body Response of /redfish/v1/Systems/1/Storage?$expand=*: b'{"@odata.id":"/redfish/v1/Systems/1/Storage","Members@odata.count":1,"Name":"StorageCollection","@odata.type":"#StorageCollection.StorageCollection","@odata.context":"/redfish/v1/$metadata#StorageCollection.StorageCollection","Description":"A collection of storage resource instances","@odata.etag":"\\"27b88f47a5932962504\\"","Members":[{"Status":{"Health":"OK","State":"Enabled","HealthRollup":"OK"},"Id":"RAID_Slot2","Volumes":{"@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes"},"StorageControllers":[{"MemberId":"0","Location":{"PartLocation":{"LocationOrdinalValue":2,"ServiceLabel":"PCI 2","LocationType":"Slot"},"Info":"Slot 2"},"Name":"ThinkSystem RAID 5350-8i PCIe 12Gb Adapter","PartNumber":"SR17A85787","CacheSummary":{"Status":{"State":"Enabled","Health":"Warning"},"PersistentCacheSizeMiB":0,"TotalCacheSizeMiB":128},"SKU":"03GX082","Model":"5350-8i","Status":{"State":"Enabled","Health":"OK"},"Oem":{"Lenovo":{"SupportedRaidLevels@Redfish.Deprecated":"The property is deprecated. Please use SupportedRAIDTypes instead.","MinStripeSizeBytes":65536,"MaxStripeSizeBytes":1048576,"Mode":"RAID/JBOD","SupportedRaidLevels":"0/1/5/10","@odata.type":"#LenovoStorage.v1_0_0.LenovoStorageController"}},"SupportedRAIDTypes":["RAID0","RAID1","RAID5","RAID10"],"Manufacturer":"Lenovo","SupportedDeviceProtocols":["SATA","SAS","NVMe"],"@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2#/StorageControllers/0","SupportedControllerProtocols":["PCIe"],"AssetTag":"","Identifiers":[{"DurableNameFormat":"UUID","DurableName":"00000000-0000-0000-5745-D22D69A1A000"}],"FirmwareVersion":"5.91","SerialNumber":"L6HF39L034X"}],"@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2","@odata.etag":"\\"d32d5b59dd1d33bb01ca5\\"","StorageControllers@odata.count":1,"StoragePools":{"@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2/StoragePools"},"Name":"RAID Storage","Drives@odata.count":2,"Description":"This resource is used to represent a storage for a Redfish implementation.","@odata.context":"/redfish/v1/$metadata#Storage.Storage","Drives":[{"@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_0"},{"@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_1"}],"Links":{"Enclosures@odata.count":1,"Enclosures":[{"@odata.id":"/redfish/v1/Chassis/1"}]},"@odata.type":"#Storage.v1_13_0.Storage"}]}\n' {'@odata.context': '/redfish/v1/$metadata#StorageCollection.StorageCollection', '@odata.etag': '"27b88f47a5932962504"', '@odata.id': '/redfish/v1/Systems/1/Storage', '@odata.type': '#StorageCollection.StorageCollection', 'Description': 'A collection of storage resource instances', 'Members': [{'@odata.context': '/redfish/v1/$metadata#Storage.Storage', '@odata.etag': '"d32d5b59dd1d33bb01ca5"', '@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2', '@odata.type': '#Storage.v1_13_0.Storage', 'Description': 'This resource is used to represent a storage for ' 'a Redfish implementation.', 'Drives': [{'@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_0'}, {'@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_1'}], 'Drives@odata.count': 2, 'Id': 'RAID_Slot2', 'Links': {'Enclosures': [{'@odata.id': '/redfish/v1/Chassis/1'}], 'Enclosures@odata.count': 1}, 'Name': 'RAID Storage', 'Status': {'Health': 'OK', 'HealthRollup': 'OK', 'State': 'Enabled'}, 'StorageControllers': [{'@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2#/StorageControllers/0', 'AssetTag': '', 'CacheSummary': {'PersistentCacheSizeMiB': 0, 'Status': {'Health': 'Warning', 'State': 'Enabled'}, 'TotalCacheSizeMiB': 128}, 'FirmwareVersion': '5.91', 'Identifiers': [{'DurableName': '00000000-0000-0000-5745-D22D69A1A000', 'DurableNameFormat': 'UUID'}], 'Location': {'Info': 'Slot 2', 'PartLocation': {'LocationOrdinalValue': 2, 'LocationType': 'Slot', 'ServiceLabel': 'PCI ' '2'}}, 'Manufacturer': 'Lenovo', 'MemberId': '0', 'Model': '5350-8i', 'Name': 'ThinkSystem RAID 5350-8i PCIe ' '12Gb Adapter', 'Oem': {'Lenovo': {'@odata.type': '#LenovoStorage.v1_0_0.LenovoStorageController', 'MaxStripeSizeBytes': 1048576, 'MinStripeSizeBytes': 65536, 'Mode': 'RAID/JBOD', 'SupportedRaidLevels': '0/1/5/10', 'SupportedRaidLevels@Redfish.Deprecated': 'The ' 'property ' 'is ' 'deprecated. ' 'Please ' 'use ' 'SupportedRAIDTypes ' 'instead.'}}, 'PartNumber': 'SR17A85787', 'SKU': '03GX082', 'SerialNumber': 'L6HF39L034X', 'Status': {'Health': 'OK', 'State': 'Enabled'}, 'SupportedControllerProtocols': ['PCIe'], 'SupportedDeviceProtocols': ['SATA', 'SAS', 'NVMe'], 'SupportedRAIDTypes': ['RAID0', 'RAID1', 'RAID5', 'RAID10']}], 'StorageControllers@odata.count': 1, 'StoragePools': {'@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2/StoragePools'}, 'Volumes': {'@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes'}}], 'Members@odata.count': 1, 'Name': 'StorageCollection'} 2024-03-22 13:07:33,309 - DEBUG: HTTP REQUEST (GET) for /redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_0: Headers: X-Auth-Token: 0AA673FD71C0EB9612418E12443CFD4DBD05B69B Accept: */* OData-Version: 4.0 Body: No request body 2024-03-22 13:07:33,309 - INFO: Attempt 1 of /redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_0 2024-03-22 13:07:33,646 - DEBUG: https://10.172.250.150:443 "GET /redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_0 HTTP/1.1" 200 None 2024-03-22 13:07:33,647 - INFO: Response Time for GET to /redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_0: 0.3376601309864782 seconds. 2024-03-22 13:07:33,647 - DEBUG: HTTP RESPONSE for /redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_0: Code: 200 OK Headers: Date: Fri, 22 Mar 2024 12:07:31 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: keep-alive Link: ; rel="describedby", ETag: "b4258730ad9e2f073b356" Allow: GET, HEAD OData-Version: 4.0 Content-Language: en Cache-Control: no-store, no-cache, no-store, must-revalidate, private Server: XCC Web Server Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Security-Policy: default-src 'self'; connect-src *; script-src 'self'; img-src 'self'; style-src 'self'; font-src 'self'; child-src 'self'; object-src 'none'; frame-ancestors 'none' X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff X-Frame-Options: DENY Referrer-Policy: same-origin Body Response of /redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_0: b'{"RotationSpeedRPM":0,"Id":"Disk.M.2_Bay_0","Name":"240GB 6Gbps SATA M.2 SSD (SED)","PredictedMediaLifeLeftPercent":100,"@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_0","Model":"MTFDDAV240TGA-1BC16A","Description":"This resource is used to represent a drive for a Redfish implementation.","@odata.type":"#Drive.v1_15_0.Drive","AssetTag":"","EncryptionStatus":"Unencrypted","Identifiers":[{"DurableName":null,"DurableNameFormat":"UUID"}],"Manufacturer":"Micron","@odata.context":"/redfish/v1/$metadata#Drive.Drive","SerialNumber":"44789053","Protocol":"SATA","Revision":"MQ31","@odata.etag":"\\"b4258730ad9e2f073b356\\"","Oem":{"Lenovo":{"Temperature":31,"DriveStatus":"Online","@odata.type":"#LenovoDrive.v1_0_0.LenovoDrive"}},"EncryptionAbility":"SelfEncryptingDrive","PhysicalLocation":{"PartLocation":{"LocationOrdinalValue":0,"ServiceLabel":"M.2 Drive 0","LocationType":"Bay"},"InfoFormat@Redfish.Deprecated":"The property is deprecated. Please use PartLocation instead.","InfoFormat":"Slot Number","Info@Redfish.Deprecated":"The property is deprecated. Please use PartLocation instead.","Info":"Slot 0"},"HotspareType":"None","SKU":"44789053","PartNumber":"MTFDDAV240TGA-1BC16A","FailurePredicted":false,"NegotiatedSpeedGbs":6,"StatusIndicator":null,"CapableSpeedGbs":6,"BlockSizeBytes":512,"Status":{"State":"Enabled","Health":"Critical"},"MediaType":"SSD","Links":{"Volumes":[{"@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1"}],"PCIeFunctions":[{"@odata.id":"/redfish/v1/Chassis/1/PCIeDevices/slot_2/PCIeFunctions/slot_2.00"}],"Chassis":{"@odata.id":"/redfish/v1/Chassis/1"}},"CapacityBytes":240057409536}\n' {'@odata.context': '/redfish/v1/$metadata#Drive.Drive', '@odata.etag': '"b4258730ad9e2f073b356"', '@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_0', '@odata.type': '#Drive.v1_15_0.Drive', 'AssetTag': '', 'BlockSizeBytes': 512, 'CapableSpeedGbs': 6, 'CapacityBytes': 240057409536, 'Description': 'This resource is used to represent a drive for a Redfish ' 'implementation.', 'EncryptionAbility': 'SelfEncryptingDrive', 'EncryptionStatus': 'Unencrypted', 'FailurePredicted': False, 'HotspareType': 'None', 'Id': 'Disk.M.2_Bay_0', 'Identifiers': [{'DurableName': None, 'DurableNameFormat': 'UUID'}], 'Links': {'Chassis': {'@odata.id': '/redfish/v1/Chassis/1'}, 'PCIeFunctions': [{'@odata.id': '/redfish/v1/Chassis/1/PCIeDevices/slot_2/PCIeFunctions/slot_2.00'}], 'Volumes': [{'@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1'}]}, 'Manufacturer': 'Micron', 'MediaType': 'SSD', 'Model': 'MTFDDAV240TGA-1BC16A', 'Name': '240GB 6Gbps SATA M.2 SSD (SED)', 'NegotiatedSpeedGbs': 6, 'Oem': {'Lenovo': {'@odata.type': '#LenovoDrive.v1_0_0.LenovoDrive', 'DriveStatus': 'Online', 'Temperature': 31}}, 'PartNumber': 'MTFDDAV240TGA-1BC16A', 'PhysicalLocation': {'Info': 'Slot 0', 'Info@Redfish.Deprecated': 'The property is deprecated. ' 'Please use PartLocation ' 'instead.', 'InfoFormat': 'Slot Number', 'InfoFormat@Redfish.Deprecated': 'The property is ' 'deprecated. Please use ' 'PartLocation instead.', 'PartLocation': {'LocationOrdinalValue': 0, 'LocationType': 'Bay', 'ServiceLabel': 'M.2 Drive 0'}}, 'PredictedMediaLifeLeftPercent': 100, 'Protocol': 'SATA', 'Revision': 'MQ31', 'RotationSpeedRPM': 0, 'SKU': '44789053', 'SerialNumber': '44789053', 'Status': {'Health': 'Critical', 'State': 'Enabled'}, 'StatusIndicator': None} 2024-03-22 13:07:33,648 - DEBUG: HTTP REQUEST (GET) for /redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_1: Headers: X-Auth-Token: 0AA673FD71C0EB9612418E12443CFD4DBD05B69B Accept: */* OData-Version: 4.0 Body: No request body 2024-03-22 13:07:33,648 - INFO: Attempt 1 of /redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_1 2024-03-22 13:07:34,145 - DEBUG: https://10.172.250.150:443 "GET /redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_1 HTTP/1.1" 200 None 2024-03-22 13:07:34,145 - INFO: Response Time for GET to /redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_1: 0.49746862205211073 seconds. 2024-03-22 13:07:34,145 - DEBUG: HTTP RESPONSE for /redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_1: Code: 200 OK Headers: Date: Fri, 22 Mar 2024 12:07:31 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: keep-alive Link: ; rel="describedby", ETag: "b46fa028f3062f073b37a" Allow: GET, HEAD OData-Version: 4.0 Content-Language: en Cache-Control: no-store, no-cache, no-store, must-revalidate, private Server: XCC Web Server Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Security-Policy: default-src 'self'; connect-src *; script-src 'self'; img-src 'self'; style-src 'self'; font-src 'self'; child-src 'self'; object-src 'none'; frame-ancestors 'none' X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff X-Frame-Options: DENY Referrer-Policy: same-origin Body Response of /redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_1: b'{"RotationSpeedRPM":0,"Id":"Disk.M.2_Bay_1","Name":"240GB 6Gbps SATA M.2 SSD (SED)","@odata.type":"#Drive.v1_15_0.Drive","@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_1","SKU":"4478904D","Description":"This resource is used to represent a drive for a Redfish implementation.","FailurePredicted":false,"NegotiatedSpeedGbs":6,"StatusIndicator":null,"CapableSpeedGbs":6,"BlockSizeBytes":512,"@odata.context":"/redfish/v1/$metadata#Drive.Drive","Manufacturer":"Micron","Protocol":"SATA","Model":"MTFDDAV240TGA-1BC16A","EncryptionAbility":"SelfEncryptingDrive","Oem":{"Lenovo":{"DriveStatus":"Online","Temperature":30,"@odata.type":"#LenovoDrive.v1_0_0.LenovoDrive"}},"Identifiers":[{"DurableName":null,"DurableNameFormat":"UUID"}],"AssetTag":"","@odata.etag":"\\"b46fa028f3062f073b37a\\"","EncryptionStatus":"Unencrypted","CapacityBytes":240057409536,"PredictedMediaLifeLeftPercent":100,"Status":{"State":"Enabled","Health":"Critical"},"PartNumber":"MTFDDAV240TGA-1BC16A","PhysicalLocation":{"Info":"Slot 1","PartLocation":{"LocationOrdinalValue":1,"ServiceLabel":"M.2 Drive 1","LocationType":"Bay"},"InfoFormat@Redfish.Deprecated":"The property is deprecated. Please use PartLocation instead.","InfoFormat":"Slot Number","Info@Redfish.Deprecated":"The property is deprecated. Please use PartLocation instead."},"MediaType":"SSD","HotspareType":"None","SerialNumber":"4478904D","Links":{"Volumes":[{"@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1"}],"PCIeFunctions":[{"@odata.id":"/redfish/v1/Chassis/1/PCIeDevices/slot_2/PCIeFunctions/slot_2.00"}],"Chassis":{"@odata.id":"/redfish/v1/Chassis/1"}},"Revision":"MQ31"}\n' {'@odata.context': '/redfish/v1/$metadata#Drive.Drive', '@odata.etag': '"b46fa028f3062f073b37a"', '@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_1', '@odata.type': '#Drive.v1_15_0.Drive', 'AssetTag': '', 'BlockSizeBytes': 512, 'CapableSpeedGbs': 6, 'CapacityBytes': 240057409536, 'Description': 'This resource is used to represent a drive for a Redfish ' 'implementation.', 'EncryptionAbility': 'SelfEncryptingDrive', 'EncryptionStatus': 'Unencrypted', 'FailurePredicted': False, 'HotspareType': 'None', 'Id': 'Disk.M.2_Bay_1', 'Identifiers': [{'DurableName': None, 'DurableNameFormat': 'UUID'}], 'Links': {'Chassis': {'@odata.id': '/redfish/v1/Chassis/1'}, 'PCIeFunctions': [{'@odata.id': '/redfish/v1/Chassis/1/PCIeDevices/slot_2/PCIeFunctions/slot_2.00'}], 'Volumes': [{'@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1'}]}, 'Manufacturer': 'Micron', 'MediaType': 'SSD', 'Model': 'MTFDDAV240TGA-1BC16A', 'Name': '240GB 6Gbps SATA M.2 SSD (SED)', 'NegotiatedSpeedGbs': 6, 'Oem': {'Lenovo': {'@odata.type': '#LenovoDrive.v1_0_0.LenovoDrive', 'DriveStatus': 'Online', 'Temperature': 30}}, 'PartNumber': 'MTFDDAV240TGA-1BC16A', 'PhysicalLocation': {'Info': 'Slot 1', 'Info@Redfish.Deprecated': 'The property is deprecated. ' 'Please use PartLocation ' 'instead.', 'InfoFormat': 'Slot Number', 'InfoFormat@Redfish.Deprecated': 'The property is ' 'deprecated. Please use ' 'PartLocation instead.', 'PartLocation': {'LocationOrdinalValue': 1, 'LocationType': 'Bay', 'ServiceLabel': 'M.2 Drive 1'}}, 'PredictedMediaLifeLeftPercent': 100, 'Protocol': 'SATA', 'Revision': 'MQ31', 'RotationSpeedRPM': 0, 'SKU': '4478904D', 'SerialNumber': '4478904D', 'Status': {'Health': 'Critical', 'State': 'Enabled'}, 'StatusIndicator': None} 2024-03-22 13:07:34,146 - DEBUG: HTTP REQUEST (GET) for /redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes: Headers: X-Auth-Token: 0AA673FD71C0EB9612418E12443CFD4DBD05B69B Accept: */* OData-Version: 4.0 Body: No request body 2024-03-22 13:07:34,146 - INFO: Attempt 1 of /redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes 2024-03-22 13:07:34,325 - DEBUG: https://10.172.250.150:443 "GET /redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes HTTP/1.1" 200 None 2024-03-22 13:07:34,367 - INFO: Response Time for GET to /redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes: 0.22114773001521826 seconds. 2024-03-22 13:07:34,367 - DEBUG: HTTP RESPONSE for /redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes: Code: 200 OK Headers: Date: Fri, 22 Mar 2024 12:07:32 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: keep-alive Link: ; rel="describedby", ETag: "2b7fb4bacf9e24e481a" Allow: GET, HEAD, POST OData-Version: 4.0 Content-Language: en Cache-Control: no-store, no-cache, no-store, must-revalidate, private Server: XCC Web Server Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Security-Policy: default-src 'self'; connect-src *; script-src 'self'; img-src 'self'; style-src 'self'; font-src 'self'; child-src 'self'; object-src 'none'; frame-ancestors 'none' X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff X-Frame-Options: DENY Referrer-Policy: same-origin Body Response of /redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes: b'{"@odata.context":"/redfish/v1/$metadata#VolumeCollection.VolumeCollection","Members@odata.count":1,"Name":"VolumeCollection","@odata.type":"#VolumeCollection.VolumeCollection","@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes","@odata.etag":"\\"2b7fb4bacf9e24e481a\\"","Description":"A collection of volume resource instances.","Members":[{"@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1"}]}\n' {'@odata.context': '/redfish/v1/$metadata#VolumeCollection.VolumeCollection', '@odata.etag': '"2b7fb4bacf9e24e481a"', '@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes', '@odata.type': '#VolumeCollection.VolumeCollection', 'Description': 'A collection of volume resource instances.', 'Members': [{'@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1'}], 'Members@odata.count': 1, 'Name': 'VolumeCollection'} 2024-03-22 13:07:34,367 - DEBUG: HTTP REQUEST (GET) for /redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1: Headers: X-Auth-Token: 0AA673FD71C0EB9612418E12443CFD4DBD05B69B Accept: */* OData-Version: 4.0 Body: No request body 2024-03-22 13:07:34,367 - INFO: Attempt 1 of /redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1 2024-03-22 13:07:34,784 - DEBUG: https://10.172.250.150:443 "GET /redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1 HTTP/1.1" 200 None 2024-03-22 13:07:34,785 - INFO: Response Time for GET to /redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1: 0.41725195496110246 seconds. 2024-03-22 13:07:34,785 - DEBUG: HTTP RESPONSE for /redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1: Code: 200 OK Headers: Date: Fri, 22 Mar 2024 12:07:32 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: keep-alive Link: ; rel="describedby", ETag: "82ea49c028bc2aefde3" Allow: GET, HEAD, PATCH, DELETE OData-Version: 4.0 Content-Language: en Cache-Control: no-store, no-cache, no-store, must-revalidate, private Server: XCC Web Server Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Security-Policy: default-src 'self'; connect-src *; script-src 'self'; img-src 'self'; style-src 'self'; font-src 'self'; child-src 'self'; object-src 'none'; frame-ancestors 'none' X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff X-Frame-Options: DENY Referrer-Policy: same-origin Body Response of /redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1: b'{"Id":"1","Name":"LogicalDrv 0","@odata.type":"#Volume.v1_8_0.Volume","ReadCachePolicy":"Off","@odata.etag":"\\"82ea49c028bc2aefde3\\"","Status":{"State":"Enabled","Health":"OK"},"WriteCachePolicy@Redfish.AllowableValues":["UnprotectedWriteBack","ProtectedWriteBack","Off"],"@odata.context":"/redfish/v1/$metadata#Volume.Volume","ReadCachePolicy@Redfish.AllowableValues":["Off","ReadAhead"],"CapacityBytes":240021504000,"StripSizeBytes":262144,"WriteCachePolicy":null,"RAIDType":"RAID1","DisplayName":"LogicalDrv 0","@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1","AccessCapabilities":["Read","Write"],"BlockSizeBytes":512,"Oem":{"Lenovo":{"RaidLevel":"RAID 1","SpanDepth":1,"Bootable":false,"AccessPolicy":"ReadWrite","DiskPerSpan":2,"IOPolicy":"DirectIO","@odata.type":"#LenovoVolume.v1_0_0.LenovoVolumeProperties","DriveCachePolicy":"Disable"}},"Links":{"Drives":[{"@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_0"},{"@odata.id":"/redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_1"}]},"Description":"This resource is used to represent a volume for a Redfish implementation."}\n' {'@odata.context': '/redfish/v1/$metadata#Volume.Volume', '@odata.etag': '"82ea49c028bc2aefde3"', '@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2/Volumes/1', '@odata.type': '#Volume.v1_8_0.Volume', 'AccessCapabilities': ['Read', 'Write'], 'BlockSizeBytes': 512, 'CapacityBytes': 240021504000, 'Description': 'This resource is used to represent a volume for a Redfish ' 'implementation.', 'DisplayName': 'LogicalDrv 0', 'Id': '1', 'Links': {'Drives': [{'@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_0'}, {'@odata.id': '/redfish/v1/Systems/1/Storage/RAID_Slot2/Drives/Disk.M.2_Bay_1'}]}, 'Name': 'LogicalDrv 0', 'Oem': {'Lenovo': {'@odata.type': '#LenovoVolume.v1_0_0.LenovoVolumeProperties', 'AccessPolicy': 'ReadWrite', 'Bootable': False, 'DiskPerSpan': 2, 'DriveCachePolicy': 'Disable', 'IOPolicy': 'DirectIO', 'RaidLevel': 'RAID 1', 'SpanDepth': 1}}, 'RAIDType': 'RAID1', 'ReadCachePolicy': 'Off', 'ReadCachePolicy@Redfish.AllowableValues': ['Off', 'ReadAhead'], 'Status': {'Health': 'OK', 'State': 'Enabled'}, 'StripSizeBytes': 262144, 'WriteCachePolicy': None, 'WriteCachePolicy@Redfish.AllowableValues': ['UnprotectedWriteBack', 'ProtectedWriteBack', 'Off']} 2024-03-22 13:07:34,786 - DEBUG: HTTP REQUEST (GET) for /redfish/v1/Chassis/1: Headers: X-Auth-Token: 0AA673FD71C0EB9612418E12443CFD4DBD05B69B Accept: */* OData-Version: 4.0 Body: No request body ```

I also tried to create a MockUp, but it sadly failed. Even with a user with Administrator rights.

Redfish Mockup Creator, Version 1.2.0
Address: http://10.172.250.150
Full Output Path: /usr/lib/nagios/plugins/check_redfish/Redfish-Mockup-Creator/rfMockUpDfltDir
Description:
Starting mockup creation...
Service responded with invalid JSON at URI /redfish/v1/
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" href="./icons/favicon.ico" />
    <link rel="stylesheet" href="./OpenSrc/bootstrap/bootstrap.min.css">
    <link rel="stylesheet" href="./SDK_Pilot4/rpvirtualkeyboard.css">
    <script src="./OpenSrc/jquery/jquery.min.js"></script>
    <script src="./OpenSrc/bootstrap/bootstrap.bundle.min.js"></script>
    <script src="./OpenSrc/echarts/echarts-all.js"></script>
    <script src="./OpenSrc/moment/moment.js"></script>
    <script src="./OpenSrc/moment/locale/zh-cn.js"></script>
    <script src="./OpenSrc/moment/locale/zh-tw.js"></script>
    <script src="./OpenSrc/moment/locale/en-gb.js"></script>
    <script src="./OpenSrc/moment/locale/fr.js"></script>
    <script src="./OpenSrc/moment/locale/de.js"></script>
    <script src="./OpenSrc/moment/locale/pt.js"></script>
    <script src="./OpenSrc/moment/locale/es.js"></script>
    <script src="./OpenSrc/moment/locale/it.js"></script>
    <script src="./OpenSrc/moment/locale/ja.js"></script>
    <script src="./OpenSrc/moment/locale/ko.js"></script>
    <script src="./OpenSrc/moment/locale/ru.js"></script>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Lenovo XClarity Controller 2</title>
  <script type="module" crossorigin src="./assets/index.7ff06016.js"></script>
  <link rel="modulepreload" href="./assets/vendor.920a0ddc.js">
  <link rel="stylesheet" href="./assets/index.61f9e9cd.css">
</head>
  <body>
    <div id="app"></div>

    <script type="text/javascript" src="./SDK_Pilot4/rpviewer.js"></script>
    <script type="text/javascript" src="./SDK_Pilot4/rpplayer.js"></script>
    <script type="text/javascript" src="./SDK_Pilot4/rprecorder.js"></script>
    <script type="text/javascript" src="./SDK_Pilot4/rpimage.js"></script>
  </body>
</html>

ERROR: Aborting; could not authenticate with the Redfish service: Service responded with invalid JSON at URI /redfish/v1/
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" href="./icons/favicon.ico" />
    <link rel="stylesheet" href="./OpenSrc/bootstrap/bootstrap.min.css">
    <link rel="stylesheet" href="./SDK_Pilot4/rpvirtualkeyboard.css">
    <script src="./OpenSrc/jquery/jquery.min.js"></script>
    <script src="./OpenSrc/bootstrap/bootstrap.bundle.min.js"></script>
    <script src="./OpenSrc/echarts/echarts-all.js"></script>
    <script src="./OpenSrc/moment/moment.js"></script>
    <script src="./OpenSrc/moment/locale/zh-cn.js"></script>
    <script src="./OpenSrc/moment/locale/zh-tw.js"></script>
    <script src="./OpenSrc/moment/locale/en-gb.js"></script>
    <script src="./OpenSrc/moment/locale/fr.js"></script>
    <script src="./OpenSrc/moment/locale/de.js"></script>
    <script src="./OpenSrc/moment/locale/pt.js"></script>
    <script src="./OpenSrc/moment/locale/es.js"></script>
    <script src="./OpenSrc/moment/locale/it.js"></script>
    <script src="./OpenSrc/moment/locale/ja.js"></script>
    <script src="./OpenSrc/moment/locale/ko.js"></script>
    <script src="./OpenSrc/moment/locale/ru.js"></script>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Lenovo XClarity Controller 2</title>
  <script type="module" crossorigin src="./assets/index.7ff06016.js"></script>
  <link rel="modulepreload" href="./assets/vendor.920a0ddc.js">
  <link rel="stylesheet" href="./assets/index.61f9e9cd.css">
</head>
  <body>
    <div id="app"></div>

    <script type="text/javascript" src="./SDK_Pilot4/rpviewer.js"></script>
    <script type="text/javascript" src="./SDK_Pilot4/rpplayer.js"></script>
    <script type="text/javascript" src="./SDK_Pilot4/rprecorder.js"></script>
    <script type="text/javascript" src="./SDK_Pilot4/rpimage.js"></script>
  </body>
</html>

Best regards :)

bb-Ricardo commented 8 months ago

Hi,

From quickly looking over the debug output,

Your controller cache reports a Warning and both your SSDs report their Health as Critical, not sure why.

Also looking at the deive description or that SKU and Serial are considered the same tells me that Lenovo did a sloppy/bad job at implementing redfish here.

The plugin just reports what it gets from the board.

SirScruffy commented 8 months ago

Hi all, we had the same issue with our Lenovo ThinkSystem SR635 V3. Turns out the XCC firmware had a bug and Lenovo fixed it in version 2.30 (https://download.lenovo.com/servers/mig/2024/02/21/59394/lnvgy_fw_xcc_kax322z-2.31_anyos_comp.chg) -> Fix a problem that redfish interface can't read M.2 drive firmware info and update.

Hope that helps :)

Cheers Scruffy

bb-Ricardo commented 8 months ago

Wow, thank you for this fast response/fix suggestion. 😬

log1-c commented 8 months ago

Thank you both for your quick replies. If forwarded the firmware issue to the responsible person to check if the updated needs to be installed.

log1-c commented 6 months ago

Closing, because it is not a bug with the check. Simply forgot.