Coder Social home page Coder Social logo

bb-ricardo / check_redfish Goto Github PK

View Code? Open in Web Editor NEW
109.0 13.0 30.0 636 KB

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.

License: MIT License

Python 100.00%
redfish icinga2 monitoring-plugin redhat centos nagios-plugin redfish-requests health-status support-redfish netbox

check_redfish's People

Contributors

bb-ricardo avatar dan-m-joh avatar dillec avatar log1-c avatar lp4775 avatar pv2b avatar samuelepilleri avatar zvfvrv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

check_redfish's Issues

Setting -w and/or -c with and --mel causes exception on DL360 Gen10

I noticed that some log entries will not have a timestamp and hence cause an exception in the event.py module:

Traceback (most recent call last):
  File "./check_redfish.py", line 210, in <module>
    if any(x in args.requested_query for x in ['mel', 'all']):      get_event_log(plugin, "Manager")
  File "/home/jogi/git/nwmon/check_redfish/cr_module/event.py", line 134, in get_event_log
    get_event_log_hpe(plugin_object, event_type, event_entries_redfish_path)
  File "/home/jogi/git/nwmon/check_redfish/cr_module/event.py", line 210, in get_event_log_hpe
    if entry_date > date_critical.astimezone(entry_date.tzinfo) and severity != "OK":
AttributeError: 'NoneType' object has no attribute 'tzinfo'

From what I can tell this happens after the machine was power cycled. My suggestion is to return OK for log entries without timestamp. Otherwise they would stay on Warning/Critical forever (or until you manage to clear the log).

Question regarding "System Log status"

Hallo Ricardo,

I have a question regarding the --sel check.
On one of our servers the --sel -m 5 check reports the following:

[OK]: 2020-09-01T07:29:39Z: Slot 0 Smart Array - Logical drive status changed to ok
[WARNING]: 2020-09-01T07:16:39Z: Slot 0 Smart Array - Logical drive status changed to rebuilding
[WARNING]: 2020-09-01T07:16:09Z: Slot 0 Smart Array - Logical drive status changed to readyForRebuild
[OK]: 2020-09-01T07:16:08Z:   Smart Array - Drive is failed: Port 1I Box 1 Bay 3

and the return-code is set to 1 (Warning).
Is this the expected behavior?
In my case the Rebuild was OK and everything is OK now (note that the Warning was on the 1. Sept).

Regards,
Dan

Question: Is it possible to ignore not installed CPUs?

Hi,
(me again)
I have a question regarding the sys-info check:

Is it possible to ignore a not installed CPU?
Reason is, that the check is going to critical state because the 2nd CPU slot is "Enabled/Unknown":
image

The server just has a single cpu, and my co-worker and me did not find an option in the iDrac settings to change the behavior (no "error" in IDrac either).

I helped my self and hacked a

elif dell_sensor.get('HealthState') == "Unknown":
                            this_sensor_status = "OK"

into line 145 of check_redfish/cr_module/system_chassi.py, but I do not like it very much, because we could miss some other real errors like that.

Thanks again for the nice script!

Problems with iDRAC9 15G

We have just received some servers equipped with iDRAC 15G with firmware version 4.x.x.x

These checks work:
--bmc
--cpu
--memory
--info
--firmware
--mel
--sel

These fail:
--power
--temp
--storage (returns UNKNOWN)
--nic

All (except storage) fails with "The read operation timed out" - And if I query the URL directly it returns http 503 - But I am uncertain if the problem is within iDRAC or check_icinga - which is why I'm opening this issue before contacting Dell support.

I can provide mockup data if needed.

keep "overall" output when using --detail

Hi,

first of all a big thanks for sharing this plugin. It works really well and easy! ❤️

I would like to ask if it is possible to keep the "overall" (non-detailed) output of a check when using --detail and put the detailed output in the "extended output".

I'll try to make this more clear with an example :)

Firmware-Check:
no --detail used:

# '/usr/lib64/nagios/plugins/check_redfish/check_redfish.py' '--firmware' '-H' 'host' '-p' 'pass' '-u' 'user'
[OK]: Found 19 firmware entries. Use '--detailed' option to display them.

Output in Icinga Web 2:
image

$'/usr/lib64/nagios/plugins/check_redfish/check_redfish.py' '--firmware' '-H' 'host' '-p' 'pass' '-u' 'user'
[OK]: Mellanox ConnectX-5 Ex 100 GbE QSFP Adapter - 0C:... (Current-106761-16.26.60.00) (106761): 16.26.60.00
[OK]: BOSS-S1 (Current-106883-2.5.13.3022) (106883): 2.5.13.3022
[OK]: BIOS (Current-159-2.6.4) (159): 2.6.4
[OK]: Broadcom Gigabit Ethernet BCM5720 - F0:... (Current-27481-21.60.2) (27481): 21.60.2
[OK]: Power Supply.Slot.1 (Installed-101095-00.24.83) (101095): 00.24.83
[OK]: OS COLLECTOR, v5.0, A00 (Installed-101734-5) (101734): 5
[OK]: Dell EMC iDRAC Service Module Embedded Package v3.5.1, A00 (Installed-104684-3.5.1) (104684): 3.5.1
[OK]: Mellanox ConnectX-5 Ex 100 GbE QSFP Adapter - 0C:... (Installed-106761-16.26.60.00) (106761): 16.26.60.00
[OK]: Disk 0 on AHCI Controller in slot 1 (Installed-106864-E012) (106864): E012
[OK]: BOSS-S1 (Installed-106883-2.5.13.3022) (106883): 2.5.13.3022
[OK]: BIOS (Installed-159-2.6.4) (159): 2.6.4
[OK]: Dell OS Driver Pack, 19.12.05, A00 (Installed-18981-19.12.05) (18981): 19.12.05
[OK]: Integrated Dell Remote Access Controller (Installed-25227-4.10.10.10) (25227): 4.10.10.10
[OK]: Dell 64 Bit uEFI Diagnostics, version 4301, 4301A42, 4301.43 (Installed-25806-4301A42) (25806): 4301A42
[OK]: Broadcom Gigabit Ethernet BCM5720 - F0:... (Installed-27481-21.60.2) (27481): 21.60.2
[OK]: System CPLD (Installed-27763-1.1.3) (27763): 1.1.3
[OK]: Lifecycle Controller (Installed-28897-4.10.10.10) (28897): 4.10.10.10
[OK]: BIOS (Previous-159-2.5.4) (159): 2.5.4
[OK]: Integrated Dell Remote Access Controller (Previous-25227-4.10.10.10) (25227): 4.10.10.10

Output in Icinga Web 2:
image

The output I would like is:

$'/usr/lib64/nagios/plugins/check_redfish/check_redfish.py' '--firmware' '-H' 'host' '-p' 'pass' '-u' 'user'
[OK]: Found 19 firmware entries. Use '--detailed' option to display them. [| PERFDATA if check has some]
[OK]: Mellanox ConnectX-5 Ex 100 GbE QSFP Adapter - 0C:... (Current-106761-16.26.60.00) (106761): 16.26.60.00
[OK]: BOSS-S1 (Current-106883-2.5.13.3022) (106883): 2.5.13.3022
[OK]: BIOS (Current-159-2.6.4) (159): 2.6.4
[OK]: Broadcom Gigabit Ethernet BCM5720 - F0:... (Current-27481-21.60.2) (27481): 21.60.2
[OK]: Power Supply.Slot.1 (Installed-101095-00.24.83) (101095): 00.24.83
[OK]: OS COLLECTOR, v5.0, A00 (Installed-101734-5) (101734): 5
[OK]: Dell EMC iDRAC Service Module Embedded Package v3.5.1, A00 (Installed-104684-3.5.1) (104684): 3.5.1
[OK]: Mellanox ConnectX-5 Ex 100 GbE QSFP Adapter - 0C:... (Installed-106761-16.26.60.00) (106761): 16.26.60.00
[OK]: Disk 0 on AHCI Controller in slot 1 (Installed-106864-E012) (106864): E012
[OK]: BOSS-S1 (Installed-106883-2.5.13.3022) (106883): 2.5.13.3022
[OK]: BIOS (Installed-159-2.6.4) (159): 2.6.4
[OK]: Dell OS Driver Pack, 19.12.05, A00 (Installed-18981-19.12.05) (18981): 19.12.05
[OK]: Integrated Dell Remote Access Controller (Installed-25227-4.10.10.10) (25227): 4.10.10.10
[OK]: Dell 64 Bit uEFI Diagnostics, version 4301, 4301A42, 4301.43 (Installed-25806-4301A42) (25806): 4301A42
[OK]: Broadcom Gigabit Ethernet BCM5720 - F0:... (Installed-27481-21.60.2) (27481): 21.60.2
[OK]: System CPLD (Installed-27763-1.1.3) (27763): 1.1.3
[OK]: Lifecycle Controller (Installed-28897-4.10.10.10) (28897): 4.10.10.10
[OK]: BIOS (Previous-159-2.5.4) (159): 2.5.4
[OK]: Integrated Dell Remote Access Controller (Previous-25227-4.10.10.10) (25227): 4.10.10.10

This would be consistent to the monitoring plugin guide lines :)

SERVICE STATUS: First line of output | First part of performance data
Any number of subsequent lines of output, but note that buffers
may have a limited size | Second part of performance data, which
may have continuation lines, too

Fan and power checks fail in latest Lenovo BMC

Today I upgraded some Lenovo SR630 servers to latest BMC (5.40 (Build ID: CDI364M)).

After the upgrade, power and fans checks started to fail.

Errors in v1.0.0:

  • [UNKNOWN]: got error 'ExtendedError.1.1.RequestUriNotFound' for API path '[]'

Errors in v1.1.0:

  • [UNKNOWN]: got error 'ExtendedError.1.1.RequestUriNotFound/The request specified a URI of a resource that does not exist.' for API path '/redfish/v1/Chassis/3/Thermal'
  • [UNKNOWN]: got error 'ExtendedError.1.1.RequestUriNotFound/The request specified a URI of a resource that does not exist.' for API path '/redfish/v1/Chassis/3/Power'

I'll dig a bit deeper and try to get some more info back.

Unknown status when checking --storage on Gigabyte blades

Hi,

I have an issue with GIGABYTE H262-Z61 nodes. --storage check gives unknown status. No ctrl or disk detected.
Running with options:
--nosession --storage

Give output:
[UNKNOWN]: No storage controller and disk drive data found in system

host down when underscore in hostname

Hello,

on testing this check_script we run in to an error when the hostname conatins an underscore.
So if the hostname is "server_adm" the status is Down. With the ip or change dns/hosts to "serveradm" the check script runs fine.

/usr/lib/nagios/plugins # check_redfish/check_redfish.py -H 10.192.1.187 -f /etc/icinga2/check_redfish_icinga.login --temp [OK]: All temp sensors (4) are in good condition|'temp_CPU1_Temp'=58.0;;98 'temp_CPU2_Temp'=58.0;;98 'temp_System_Board_Inlet_Temp'=23.0;38;42 'temp_System_Board_Exhaust_Temp'=33.0;75;80 /usr/lib/nagios/plugins # check_redfish/check_redfish.py -H sxs20027_adm -f /etc/icinga2/check_redfish_icinga.login --temp [CRITICAL]: Host 'sxs20027_adm' down or unreachable. /usr/lib/nagios/plugins # check_redfish/check_redfish.py -H sxs20027adm -f /etc/icinga2/check_redfish_icinga.login --temp [OK]: All temp sensors (4) are in good condition|'temp_CPU1_Temp'=55.0;;98 'temp_CPU2_Temp'=54.0;;98 'temp_System_Board_Inlet_Temp'=23.0;38;42 'temp_System_Board_Exhaust_Temp'=33.0;75;80

Dell memory conversion is obselete

This code https://github.com/bb-Ricardo/check_redfish/blob/master/cr_module/system_chassi.py#L54

    # Dell system
    # just WHY?
    if plugin_object.rf.vendor == "Dell" and mem_size is not None and int(mem_size) % 1024 != 0:
        mem_size = round(mem_size * 1024 ** 3 / 1000 ** 3)

is not needed with iDRAC firmware 4.10.10.10, the newest firmware is 4.40.00.00, have not tested that, but I guess that they fixed it at some point in the past.

With the code a 192GB system is reported as 206GB, removing it reports 192GB.

Add basic Gigabyte and Inspur support

Hi,

When doing checks on Gigabyte enclosure/blade system H262 Z61 I found that individual PSU's Status is not working.
This is because when checking enclosure bmc device we can see the PSU's but there is no Status entry for each PSU, so there is nothing to check. :-/
An example below:
{
"@odata.id":"/redfish/v1/Chassis/Self/Power#/PowerSupplies/1",
"Manufacturer":"DELTA",
"MemberId":"1",
"Model":"DPS-3200AB-1 B",
"Name":"DPS-3200AB-1 B",
"PartNumber":"XXXXXXXXXXXXXXXX",
"SerialNumber":"yyyyyyyy"
}

The blades itself do not have PSUs and for the ´the easy fix is to not run --power :)

but on the enclosures we need to get --power to work, I will send you a mockup separately.

Thanks,
Pierre

--sel and --mel option don't seem to respect the warning and critical values

I'm running both checks with -w 3 anc -c 1 and still get a CRITICAL on a message from 2020-05-28:

'/usr/lib64/nagios/plugins/check_redfish/check_redfish.py' '--sel' '-H' 'ip' '-c' '1' '-p' 'pass' '-u' 'user' '-w' '3'

[CRITICAL]: Found 1 CRITICAL and 1 OK System Event Log entries. Most recent notable: [CRITICAL]: 2020-05-28T20:36:02+02:00: Correctable memory error logging disabled for a memory device at location DIMM_A1.

Verbose output:

# sudo -u icinga '/usr/lib64/nagios/plugins/check_redfish/check_redfish.py' '--sel' '--sessionfiledir' '/tmp/check_redfish' '-H' 'ip' '-c' '1' '-p' 'pass' '-u' 'user' '-w' '3' -v
2020-11-11 11:03:01,617 - DEBUG: HTTP REQUEST: GET
        PATH: /redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel
        BODY: None
2020-11-11 11:03:01,617 - INFO: Attempt 1 of /redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel
2020-11-11 11:03:01,713 - INFO: Response Time to /redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel: 0.018789284862577915 seconds.
2020-11-11 11:03:01,713 - DEBUG: HTTP RESPONSE for /redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel:
Code: 200 OK
Headers:
        Date: Wed, 11 Nov 2020 10:03:01 GMT
        Server: Apache
        WWW-Authenticate: Basic realm="RedfishService"
        Allow: POST
        Link: </redfish/v1/Schemas/LogService.v1_1_1.json>;rel=describedby
        OData-Version: 4.0
        Access-Control-Allow-Origin: *
        Cache-Control: no-cache
        X-Frame-Options: DENY
        Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
        Content-Length: 638
        Keep-Alive: timeout=60, max=100
        Connection: Keep-Alive
        Content-Type: application/json;odata.metadata=minimal;charset=utf-8

Body Response of /redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel: b'{"@odata.context":"/redfish/v1/$metadata#LogService.LogService","@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel","@odata.type":"#LogService.v1_1_1.LogService","Actions":{"#LogService.ClearLog":{"target":"/redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Actions/LogService.ClearLog"}},"DateTime":"2020-11-11T11:03:01+01:00","DateTimeLocalOffset":"+01:00","Description":"SEL Log Service","Entries":{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Entries"},"Id":"SEL","LogEntryType":"SEL","MaxNumberOfRecords":1024,"Name":"SEL Log Service","OverWritePolicy":"WrapsWhenFull","ServiceEnabled":true}\n'
{'@odata.context': '/redfish/v1/$metadata#LogService.LogService',
 '@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel',
 '@odata.type': '#LogService.v1_1_1.LogService',
 'Actions': {'#LogService.ClearLog': {'target': '/redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Actions/LogService.ClearLog'}},
 'DateTime': '2020-11-11T11:03:01+01:00',
 'DateTimeLocalOffset': '+01:00',
 'Description': 'SEL Log Service',
 'Entries': {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Entries'},
 'Id': 'SEL',
 'LogEntryType': 'SEL',
 'MaxNumberOfRecords': 1024,
 'Name': 'SEL Log Service',
 'OverWritePolicy': 'WrapsWhenFull',
 'ServiceEnabled': True}
2020-11-11 11:03:01,714 - DEBUG: HTTP REQUEST: GET
        PATH: /redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Entries
        BODY: None
2020-11-11 11:03:01,714 - INFO: Attempt 1 of /redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Entries
2020-11-11 11:03:01,762 - INFO: Response Time to /redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Entries: 0.04789777100086212 seconds.
2020-11-11 11:03:01,762 - DEBUG: HTTP RESPONSE for /redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Entries:
Code: 200 OK
Headers:
        Date: Wed, 11 Nov 2020 10:03:01 GMT
        Server: Apache
        WWW-Authenticate: Basic realm="RedfishService"
        Link: </redfish/v1/Schemas/LogEntryCollection.json>;rel=describedby
        OData-Version: 4.0
        Access-Control-Allow-Origin: *
        Cache-Control: no-cache
        X-Frame-Options: DENY
        Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
        Content-Length: 1269
        Keep-Alive: timeout=60, max=99
        Connection: Keep-Alive
        Content-Type: application/json;odata.metadata=minimal;charset=utf-8

Body Response of /redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Entries: b'{"@odata.context":"/redfish/v1/$metadata#LogEntryCollection.LogEntryCollection","@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Entries","@odata.type":"#LogEntryCollection.LogEntryCollection","Description":"System Event Logs for this manager","Members":[{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Entries/2","@odata.type":"#LogEntry.v1_4_0.LogEntry","Created":"2020-05-28T20:36:02+02:00","Description":" Log Entry 2","EntryCode":"Assert","EntryType":"SEL","Id":"2","Links":{},"Message":"Correctable memory error logging disabled for a memory device at location DIMM_A1.","MessageArgs":[],"[email protected]":0,"MessageId":"20e01","Name":" Log Entry 2","SensorNumber":6,"SensorType":"Event Logging Disabled","Severity":"Critical"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Entries/1","@odata.type":"#LogEntry.v1_4_0.LogEntry","Created":"2020-05-19T15:07:19+02:00","Description":" Log Entry 1","EntryCode":"Assert","EntryType":"SEL","Id":"1","Links":{},"Message":"Log cleared.","MessageArgs":[],"[email protected]":0,"MessageId":"2ffff","Name":" Log Entry 1","SensorNumber":114,"SensorType":"Event Logging Disabled","Severity":"OK"}],"[email protected]":2,"Name":"Log Entry Collection"}\n'
{'@odata.context': '/redfish/v1/$metadata#LogEntryCollection.LogEntryCollection',
 '@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Entries',
 '@odata.type': '#LogEntryCollection.LogEntryCollection',
 'Description': 'System Event Logs for this manager',
 'Members': [{'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Entries/2',
              '@odata.type': '#LogEntry.v1_4_0.LogEntry',
              'Created': '2020-05-28T20:36:02+02:00',
              'Description': ' Log Entry 2',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '2',
              'Links': {},
              'Message': 'Correctable memory error logging disabled for a '
                         'memory device at location DIMM_A1.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '20e01',
              'Name': ' Log Entry 2',
              'SensorNumber': 6,
              'SensorType': 'Event Logging Disabled',
              'Severity': 'Critical'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/LogServices/Sel/Entries/1',
              '@odata.type': '#LogEntry.v1_4_0.LogEntry',
              'Created': '2020-05-19T15:07:19+02:00',
              'Description': ' Log Entry 1',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '1',
              'Links': {},
              'Message': 'Log cleared.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '2ffff',
              'Name': ' Log Entry 1',
              'SensorNumber': 114,
              'SensorType': 'Event Logging Disabled',
              'Severity': 'OK'}],
 '[email protected]': 2,
 'Name': 'Log Entry Collection'}
[CRITICAL]: Found 1 CRITICAL and 1 OK System Event Log entries. Most recent notable: [CRITICAL]: 2020-05-28T20:36:02+02:00: Correctable memory error logging disabled for a memory device at location DIMM_A1.

If you need further infomartion, just tell me :)

check_redfish.py fails --nic if nic-model is "82599"

When running "check_redfish.py -H -u -p --nic -d"
the script exits with the following output:

Traceback (most recent call last):
  File "./check_redfish.py", line 201, in <module>
    if any(x in args.requested_query for x in ['nic', 'all']):      get_network_interfaces(plugin)
  File "/mnt/data01/contrib_plugins/check_redfish/cr_module/nic.py", line 23, in get_network_interfaces
    get_system_nics(plugin_object, system)
  File "/mnt/data01/contrib_plugins/check_redfish/cr_module/nic.py", line 528, in get_system_nics
    if len(network_adapter.model or '') > len(network_adapter.name or '') else network_adapter.name
TypeError: object of type 'int' has no len()

I have narrowed it down to that in our case "network_adapter.model" is 82599 (Huawei Hardware).
Adding "str()" around "network_adapter.model" and "network_adapter.name" in nic.py at line 528 solves the issue for me.

Regards,
D/\N

Add firmware version check and alarm if firmware with known issues is used

This would be very handy to detect known issues with firmware. But also requires maintaining a list/set of Firmware versions for all kinds of components.

Anyone an idea about the format? Should contain:

  • Component name (regex)
  • latest version
  • version severity
  • vendor?

a simple JSON?:

[
   {
      "name":"iLO 5",
      "version":"2.32",
      "severity":"CRITICAL"
   },
   {
      "name":"iLO 4",
      "version":"2.74",
      "severity":"WARNING"
   }
]

Fujitsu Server - Unable to retrieve disk info

Hi, after upgrading the irmc-firmware to the latest version, I get the following error message when I query the firmware: Request error: Unable to retrieve disk info: /redfish/v1/Systems/0/Storage/1/Drives/9

The current version of the plugin is also installed.

Kind regards
Robert

Add proper support for multiple chassis

Hi,

When I tried the check_redfish plugin on a Huawei bladecenter G560 it seems like there is a bug for object id's on Temperate and Fan sensors.

I get output like this on stdout:

Object id '0' for 'Temperature' already used
Object id '1' for 'Temperature' already used
Object id '2' for 'Temperature' already used
Object id '3' for 'Temperature' already used
Object id '4' for 'Temperature' already used
Object id '5' for 'Temperature' already used
Object id '6' for 'Temperature' already used
Object id '7' for 'Temperature' already used
Object id '8' for 'Temperature' already used
Object id '9' for 'Temperature' already used
Object id '10' for 'Temperature' already used
Object id '11' for 'Temperature' already used
Object id '12' for 'Temperature' already used
Object id '13' for 'Temperature' already used
Object id '14' for 'Temperature' already used
Object id '15' for 'Temperature' already used
Object id '16' for 'Temperature' already used
Object id '17' for 'Temperature' already used
Object id '18' for 'Temperature' already used
Object id '19' for 'Temperature' already used
Object id '20' for 'Temperature' already used
Object id '21' for 'Temperature' already used
Object id '22' for 'Temperature' already used
Object id '23' for 'Temperature' already used
Object id '24' for 'Temperature' already used
Object id '25' for 'Temperature' already used
Object id '26' for 'Temperature' already used
Object id '27' for 'Temperature' already used
Object id '28' for 'Temperature' already used
Object id '29' for 'Temperature' already used
Object id '30' for 'Temperature' already used
Object id '31' for 'Temperature' already used
Object id '32' for 'Temperature' already used
Object id '0' for 'Fan' already used
Object id '1' for 'Fan' already used
Object id '2' for 'Fan' already used
Object id '3' for 'Fan' already used
Object id '4' for 'Fan' already used
Object id '5' for 'Fan' already used
Object id '6' for 'Fan' already used
Object id '7' for 'Fan' already used
Object id '8' for 'Fan' already used
Object id '9' for 'Fan' already used
Object id '10' for 'Fan' already used
Object id '11' for 'Fan' already used

The rest of the checks work ok though. The perfdata is not complete, which I suspect is due to the bug above.

I'll send a mockup of this also.

Regards,
Pierre

"info"-check returning CRITICAL on DELL server when not all memory-slots are occupied

I have tested your "next-release" version and found this issue with the info-check when you only have DIMM SLOT A1/B1 installed.

$ ./check_redfish.py -H xxxxxxxxx-idrac -u yyyyyyy -p zzzzzzz --info

[CRITICAL]: Sensor "DIMM SLOT A10": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT A11": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT A12": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT A2": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT A3": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT A4": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT A5": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT A6": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT A7": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT A8": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT A9": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT B10": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT B11": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT B12": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT B2": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT B3": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT B4": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT B5": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT B6": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT B7": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT B8": Unknown (Enabled/Unknown)
[CRITICAL]: Sensor "DIMM SLOT B9": Unknown (Enabled/Unknown)

$ ./check_redfish.py -H xxxxxxxxx-idrac -u yyyyyyy -p zzzzzzz --memory
[OK]: All memory modules (Total 34GB) are in good condition

Running the info-check from the "master-branch" the info-check returns the correct info (excluding CMOS):

$ ./check_redfish.py -H xxxxxxxxx-idrac -u yyyyyyy -p zzzzzzz --info
[OK]: Type: None None (CPU: 2, MEM: 34GB) - BIOS: 2.3.10 - Serial: CNIVC009A50625 - Power: On - Name: xxxxxxxxxx

Looking at $ ./check_redfish.py -H xxxxxxxxx-idrac -u yyyyyyy -p zzzzzzz --info --detailed I can see the following row:
[OK]: Sensor "PERC1 ROMB Battery": OK (Enabled/Good) is that the CMOS battery?

I can provide you with a Mockup for this DELL model (R740) if you need/want.

Regards,
Dan

"Problems" with check_redfish on HPE iLO

Hello Ricardo,

This is not an issue with check_redfish, but more a general question regarding the redfish implementation in HPE iLO.

Are you aware of any issues/problems with using redfish with HPE iLO.
All of a sudden we get a lot of "Unable to connect to Host 'xxxxxxxxxx', max retries exhausted." errors from check_redfish when accessing our HPE iLO's. (ping to the iLO works as it should).

Any suggestion?

Regards,
Dan

Cisco UCS CIMC/FlexUtil

Hi,

we have been running an older version (3b7b0cf) for ages because of some issues with later revisions and Cisco UCS CIMC/FlexUtil

I have pulled the latest next-release - I'm not certain when the FlexUtils issues started

When running firmware < 4.1(2) this it what check_redfish gathers

2020-09-01 07:21:33,066 - INFO: Attempt 1 of /redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD
2020-09-01 07:21:33,091 - INFO: Response Time to /redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD: 0.025151630994514562 seconds.
2020-09-01 07:21:33,092 - DEBUG: HTTP RESPONSE for /redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD:
Code: 200 
Headers:
	Server: webserver
	Date: Tue, 01 Sep 2020 05:21:33 GMT
	Content-Type: application/json
	Content-Length: 811
	Connection: keep-alive
	X-Content-Type-Options: nosniff
	X-XSS-Protection: 1; mode=block
	Content-Security-Policy: default-src 'none'; child-src 'self' *; script-src 'self' 'unsafe-eval' 'unsafe-inline'; connect-src 'self' *; font-src 'self' data:; img-src 'self' data: ; style-src 'self' 'unsafe-inline'; frame-src 'self';
	X-Robots-Tag: noindex, nofollow, nosnippet, noarchive

Body Response of /redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD: b'{\n\t"@odata.id":\t"/redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD",\n\t"@odata.context":\t"/redfish/v1/$metadata#Systems/Members/$entity/Storage/Members/$entity/Drives/Members/$entity",\n\t"@odata.type":\t"#Drive.v1_5_0.Drive",\n\t"Id":\t"microSD",\n\t"Name":\t"SD card",\n\t"Manufacturer":\t"NA",\n\t"Model":\t"NA",\n\t"Revision":\t"NA",\n\t"SerialNumber":\t"NA",\n\t"BlockSizeBytes":\t0,\n\t"CapacityBytes":\t0,\n\t"Status":\t{\n\t\t"State":\t"Enabled",\n\t\t"Health":\t"Warning"\n\t},\n\t"PhysicalLocation":\t{\n\t\t"PartLocation":\t{\n\t\t\t"LocationType":\t"Slot",\n\t\t\t"LocationOrdinalValue":\t1\n\t\t}\n\t},\n\t"Oem":\t{\n\t\t"Cisco":\t{\n\t\t\t"@odata.type":\t"#CiscoUCSExtensions.v1_0_0.CiscoUCSExtensions",\n\t\t\t"SmartData":\t{\n\t\t\t\t"WriteIOErrorCount":\t0,\n\t\t\t\t"ReadIOErrorCount":\t0,\n\t\t\t\t"ReadErrorCountThreshold":\t0,\n\t\t\t\t"WriteErrorCountThreshold":\t0\n\t\t\t}\n\t\t}\n\t}\n}'
{'@odata.context': '/redfish/v1/$metadata#Systems/Members/$entity/Storage/Members/$entity/Drives/Members/$entity',
 '@odata.id': '/redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD',
 '@odata.type': '#Drive.v1_5_0.Drive',
 'BlockSizeBytes': 0,
 'CapacityBytes': 0,
 'Id': 'microSD',
 'Manufacturer': 'NA',
 'Model': 'NA',
 'Name': 'SD card',
 'Oem': {'Cisco': {'@odata.type': '#CiscoUCSExtensions.v1_0_0.CiscoUCSExtensions',
                   'SmartData': {'ReadErrorCountThreshold': 0,
                                 'ReadIOErrorCount': 0,
                                 'WriteErrorCountThreshold': 0,
                                 'WriteIOErrorCount': 0}}},
 'PhysicalLocation': {'PartLocation': {'LocationOrdinalValue': 1,
                                       'LocationType': 'Slot'}},
 'Revision': 'NA',
 'SerialNumber': 'NA',
 'Status': {'Health': 'Warning', 'State': 'Enabled'}}

in turn this causes check_redfish to return

[WARNING]: Physical Drive SD card (NA / None / None) 0GiB status: WARNING

Back in late March I opened a TAC case, they acknowledged the issue and a fix was included in firmware 4.1(2), unfortunately their fix completely broke check_redfish

This is from a server running firmware 4.1(2a)

2020-09-01 07:28:41,020 - DEBUG: HTTP REQUEST: GET
	PATH: /redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD
	BODY: None
2020-09-01 07:28:41,020 - INFO: Attempt 1 of /redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD
2020-09-01 07:28:41,950 - INFO: Response Time to /redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD: 0.9298342609981773 seconds.
2020-09-01 07:28:41,950 - DEBUG: HTTP RESPONSE for /redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD:
Code: 404 
Headers:
	Server: webserver
	Date: Tue, 01 Sep 2020 05:28:41 GMT
	Content-Type: application/json
	Content-Length: 577
	Connection: keep-alive

Body Response of /redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD: b'{\n\t"error":\t{\n\t\t"code":\t"Base.1.4.GeneralError",\n\t\t"message":\t"See ExtendedInfo for more information.",\n\t\t"@Message.ExtendedInfo":\t[{\n\t\t\t\t"@odata.type":\t"Message.v1_0_6.Message",\n\t\t\t\t"MessageId":\t"Base.1.4.ResourceMissingAtURI",\n\t\t\t\t"Message":\t"The resource at the URI \'/redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD\' was not found.",\n\t\t\t\t"MessageArgs":\t["/redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD"],\n\t\t\t\t"Severity":\t"Critical",\n\t\t\t\t"Resolution":\t"Place a valid resource at the URI or correct the URI and resubmit the request."\n\t\t\t}]\n\t}\n}'
{'error': {'@Message.ExtendedInfo': [{'@odata.type': 'Message.v1_0_6.Message',
                                      'Message': 'The resource at the URI '
                                                 "'/redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD' "
                                                 'was not found.',
                                      'MessageArgs': ['/redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD'],
                                      'MessageId': 'Base.1.4.ResourceMissingAtURI',
                                      'Resolution': 'Place a valid resource at '
                                                    'the URI or correct the '
                                                    'URI and resubmit the '
                                                    'request.',
                                      'Severity': 'Critical'}],
           'code': 'Base.1.4.GeneralError',
           'message': 'See ExtendedInfo for more information.'}}
[UNKNOWN]: got error 'Base.1.4.ResourceMissingAtURI' for API path '['/redfish/v1/Systems/SERIALNUMBER/Storage/FlexUtil/Drives/microSD']'

I can provide more data if needed, including a mockup (from both the old and the new firmware)

Add parsing of Dell Sensors on --info check

First of all, a big thanks for this great check. I am in the process of switching all (where possible) of our ipmi/ilo/idrac checks over to check_redfish.py.

Now I have found one "iDRAC" check that I sadly can not replace with check_redfish.py and that is a check for presence (and correctly working) CMOS-Battery.
Reason for this check is that some time ago (before I was working here) one host crashed and they had some data-loss.
The RCA showed that the issue had something to do with a bad CMOS Battery and after that the bosses wanted a check for the CMOS "health".

Today we "only" grep for CMOS in the ipmi-output and checks that the status is "Nominal" and that the battery is present.
(Output from ipmi: "84,CMOS Battery,Battery,Nominal,N/A,N/A,'battery presence detected'").

I have done MockUp for one of the hosts and I can see that there are some references to "System Board CMOS Battery" in there - I do not know if the information in redfish says if it is OK or not.

So, now for my "enhancement request": Is it possible to add a CMOS-Battery-Check to check_redfish.py (either a separate query (E.g. --cmos) or "integrate" it in one of the existing, E.g. --power)

As I said, I have a MockUp if you need it.

Once again a big Thanks for creating and maintaining check_redfish.py

Regards,
Dan

Traceback on sel

As mentioned in #3

[OK]: Found 22 firmware entries. Use '--detailed' option to display them.
Traceback (most recent call last):
  File "check_redfish.py", line 2918, in 
    if "sel"        in args.requested_query: get_event_log("System")
  File "check_redfish.py", line 1794, in get_event_log
    get_event_log_dell_fujitsu(type, system_manager_id)
  File "check_redfish.py", line 1988, in get_event_log_dell_fujitsu
    if event_entry.get("EntryCode")[0].get("Member") == "Deassert" and assoc_id is not None:
AttributeError: 'str' object has no attribute 'get'

And the output of

python3 check_redfish.py -H localhost:4444 --sel -v 2>&1; done > /tmp/check_redfish_sel_error.txt

is

2020-02-06 13:34:57,730 - DEBUG: HTTP REQUEST: GET
	PATH: /redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel
	BODY: None
2020-02-06 13:34:57,730 - INFO: Attempt 1 of /redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel
2020-02-06 13:34:58,439 - INFO: Response Time to /redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel: 0.6155034470139071 seconds.
2020-02-06 13:34:58,441 - DEBUG: HTTP RESPONSE for /redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel:
Code: 200 OK
Headers:
	Date: Thu, 06 Feb 2020 11:34:57 GMT
	Server: Apache
	WWW-Authenticate: Basic realm="RedfishService"
	Link: </redfish/v1/Schemas/LogEntryCollection.json>;rel=describedby
	OData-Version: 4.0
	Access-Control-Allow-Origin: *
	Cache-Control: no-cache
	X-Frame-Options: DENY
	Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
	Content-Length: 25126
	Keep-Alive: timeout=60, max=100
	Connection: Keep-Alive
	Content-Type: application/json;odata.metadata=minimal;charset=utf-8

Body Response of /redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel: b'{"@odata.context":"/redfish/v1/$metadata#LogEntryCollection.LogEntryCollection","@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel","@odata.type":"#LogEntryCollection.LogEntryCollection","Description":"System Event Logs for this manager","Members":[{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/65","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-31T09:16:03-05:00","Description":" Log Entry 65","EntryCode":"Assert","EntryType":"SEL","Id":"65","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 65","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/64","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-31T09:15:02-05:00","Description":" Log Entry 64","EntryCode":"Assert","EntryType":"SEL","Id":"64","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 64","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/63","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-31T09:14:02-05:00","Description":" Log Entry 63","EntryCode":"Assert","EntryType":"SEL","Id":"63","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 63","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/62","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-31T09:13:02-05:00","Description":" Log Entry 62","EntryCode":"Assert","EntryType":"SEL","Id":"62","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 62","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/61","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-31T09:01:33-05:00","Description":" Log Entry 61","EntryCode":"Assert","EntryType":"SEL","Id":"61","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 61","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/60","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-31T09:00:33-05:00","Description":" Log Entry 60","EntryCode":"Assert","EntryType":"SEL","Id":"60","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 60","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/59","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-31T08:59:33-05:00","Description":" Log Entry 59","EntryCode":"Assert","EntryType":"SEL","Id":"59","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 59","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/58","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-31T08:58:33-05:00","Description":" Log Entry 58","EntryCode":"Assert","EntryType":"SEL","Id":"58","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 58","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/57","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-22T01:09:48-05:00","Description":" Log Entry 57","EntryCode":"Assert","EntryType":"SEL","Id":"57","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 57","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/56","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-22T01:08:48-05:00","Description":" Log Entry 56","EntryCode":"Assert","EntryType":"SEL","Id":"56","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 56","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/55","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-22T01:07:48-05:00","Description":" Log Entry 55","EntryCode":"Assert","EntryType":"SEL","Id":"55","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 55","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/54","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-22T00:56:27-05:00","Description":" Log Entry 54","EntryCode":"Assert","EntryType":"SEL","Id":"54","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 54","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/53","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-22T00:55:27-05:00","Description":" Log Entry 53","EntryCode":"Assert","EntryType":"SEL","Id":"53","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 53","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/52","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-22T00:54:27-05:00","Description":" Log Entry 52","EntryCode":"Assert","EntryType":"SEL","Id":"52","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 52","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/51","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-22T00:53:27-05:00","Description":" Log Entry 51","EntryCode":"Assert","EntryType":"SEL","Id":"51","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 51","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/50","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-17T07:43:17-05:00","Description":" Log Entry 50","EntryCode":"Assert","EntryType":"SEL","Id":"50","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 50","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/49","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-17T07:42:16-05:00","Description":" Log Entry 49","EntryCode":"Assert","EntryType":"SEL","Id":"49","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 49","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/48","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-17T07:41:16-05:00","Description":" Log Entry 48","EntryCode":"Assert","EntryType":"SEL","Id":"48","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 48","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/47","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-17T07:30:02-05:00","Description":" Log Entry 47","EntryCode":"Assert","EntryType":"SEL","Id":"47","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 47","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/46","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-17T07:29:02-05:00","Description":" Log Entry 46","EntryCode":"Assert","EntryType":"SEL","Id":"46","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 46","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/45","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-17T07:28:02-05:00","Description":" Log Entry 45","EntryCode":"Assert","EntryType":"SEL","Id":"45","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 45","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/44","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-17T07:27:01-05:00","Description":" Log Entry 44","EntryCode":"Assert","EntryType":"SEL","Id":"44","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 44","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/43","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T04:15:01-05:00","Description":" Log Entry 43","EntryCode":"Assert","EntryType":"SEL","Id":"43","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 43","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/42","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T04:13:00-05:00","Description":" Log Entry 42","EntryCode":"Assert","EntryType":"SEL","Id":"42","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 42","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/41","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T04:12:00-05:00","Description":" Log Entry 41","EntryCode":"Assert","EntryType":"SEL","Id":"41","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 41","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/40","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T04:11:00-05:00","Description":" Log Entry 40","EntryCode":"Assert","EntryType":"SEL","Id":"40","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 40","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/39","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T03:59:42-05:00","Description":" Log Entry 39","EntryCode":"Assert","EntryType":"SEL","Id":"39","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 39","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/38","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T03:58:42-05:00","Description":" Log Entry 38","EntryCode":"Assert","EntryType":"SEL","Id":"38","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 38","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/37","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T03:57:42-05:00","Description":" Log Entry 37","EntryCode":"Assert","EntryType":"SEL","Id":"37","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 37","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/36","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T03:56:42-05:00","Description":" Log Entry 36","EntryCode":"Assert","EntryType":"SEL","Id":"36","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 36","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/35","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T02:48:27-05:00","Description":" Log Entry 35","EntryCode":"Assert","EntryType":"SEL","Id":"35","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 35","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/34","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T02:47:27-05:00","Description":" Log Entry 34","EntryCode":"Assert","EntryType":"SEL","Id":"34","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 34","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/33","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T02:46:27-05:00","Description":" Log Entry 33","EntryCode":"Assert","EntryType":"SEL","Id":"33","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 33","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/32","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T02:35:03-05:00","Description":" Log Entry 32","EntryCode":"Assert","EntryType":"SEL","Id":"32","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 32","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/31","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T02:34:03-05:00","Description":" Log Entry 31","EntryCode":"Assert","EntryType":"SEL","Id":"31","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 31","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/30","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T02:33:02-05:00","Description":" Log Entry 30","EntryCode":"Assert","EntryType":"SEL","Id":"30","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 30","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/29","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2019-10-16T02:32:02-05:00","Description":" Log Entry 29","EntryCode":"Assert","EntryType":"SEL","Id":"29","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 29","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/28","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2018-12-19T04:28:34-06:00","Description":" Log Entry 28","EntryCode":"Fully Redundant","EntryType":"SEL","Id":"28","Links":{},"Message":"The power supplies are redundant.","MessageArgs":[],"[email protected]":0,"MessageId":"0ffff","Name":" Log Entry 28","SensorNumber":119,"SensorType":"Power Supply / Converter","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/27","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2018-12-19T04:28:32-06:00","Description":" Log Entry 27","EntryCode":"Deassert","EntryType":"SEL","Id":"27","Links":{},"Message":"The input power for power supply 1 has been restored.","MessageArgs":[],"[email protected]":0,"MessageId":"3ffff","Name":" Log Entry 27","SensorNumber":133,"SensorType":"Power Supply / Converter","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/26","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2018-12-19T04:04:14-06:00","Description":" Log Entry 26","EntryCode":"Redundancy Lost","EntryType":"SEL","Id":"26","Links":{},"Message":"Power supply redundancy is lost.","MessageArgs":[],"[email protected]":0,"MessageId":"1ffff","Name":" Log Entry 26","SensorNumber":119,"SensorType":"Power Supply / Converter","Severity":"Critical"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/25","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2018-12-19T04:04:12-06:00","Description":" Log Entry 25","EntryCode":"Assert","EntryType":"SEL","Id":"25","Links":{},"Message":"The power input for power supply 1 is lost.","MessageArgs":[],"[email protected]":0,"MessageId":"3ffff","Name":" Log Entry 25","SensorNumber":133,"SensorType":"Power Supply / Converter","Severity":"Critical"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/24","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2018-11-26T03:36:43-06:00","Description":" Log Entry 24","EntryCode":"Deassert","EntryType":"SEL","Id":"24","Links":{},"Message":"The input power for power supply 2 has been restored.","MessageArgs":[],"[email protected]":0,"MessageId":"3ffff","Name":" Log Entry 24","SensorNumber":134,"SensorType":"Power Supply / Converter","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/23","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2018-11-26T03:36:40-06:00","Description":" Log Entry 23","EntryCode":"Fully Redundant","EntryType":"SEL","Id":"23","Links":{},"Message":"The power supplies are redundant.","MessageArgs":[],"[email protected]":0,"MessageId":"0ffff","Name":" Log Entry 23","SensorNumber":119,"SensorType":"Power Supply / Converter","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/22","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2018-11-26T03:12:28-06:00","Description":" Log Entry 22","EntryCode":"Assert","EntryType":"SEL","Id":"22","Links":{},"Message":"The power input for power supply 2 is lost.","MessageArgs":[],"[email protected]":0,"MessageId":"3ffff","Name":" Log Entry 22","SensorNumber":134,"SensorType":"Power Supply / Converter","Severity":"Critical"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/21","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2018-11-26T03:12:25-06:00","Description":" Log Entry 21","EntryCode":"Redundancy Lost","EntryType":"SEL","Id":"21","Links":{},"Message":"Power supply redundancy is lost.","MessageArgs":[],"[email protected]":0,"MessageId":"1ffff","Name":" Log Entry 21","SensorNumber":119,"SensorType":"Power Supply / Converter","Severity":"Critical"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/20","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2018-10-12T10:06:07-05:00","Description":" Log Entry 20","EntryCode":"Assert","EntryType":"SEL","Id":"20","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 20","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/19","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2018-10-12T09:53:15-05:00","Description":" Log Entry 19","EntryCode":"Assert","EntryType":"SEL","Id":"19","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 19","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/18","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2018-10-12T08:07:44-05:00","Description":" Log Entry 18","EntryCode":"Assert","EntryType":"SEL","Id":"18","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 18","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/17","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2018-10-12T07:54:53-05:00","Description":" Log Entry 17","EntryCode":"Assert","EntryType":"SEL","Id":"17","Links":{},"Message":"The process of installing an operating system or hypervisor is started and is in progress.","MessageArgs":[],"[email protected]":0,"MessageId":"700","Name":" Log Entry 17","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"},{"@odata.id":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/16","@odata.type":"#LogEntry.v1_3_0.LogEntry","Created":"2018-07-04T07:29:55-05:00","Description":" Log Entry 16","EntryCode":"Assert","EntryType":"SEL","Id":"16","Links":{},"Message":"The process of installing an operating system or hypervisor is successfully completed.","MessageArgs":[],"[email protected]":0,"MessageId":"800","Name":" Log Entry 16","SensorNumber":0,"SensorType":"BaseOSBoot/InstallationStatus","Severity":"OK"}],"[email protected]":65,"[email protected]":"/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel?$skip=50","Name":"Log Entry Collection"}\n'
{'@odata.context': '/redfish/v1/$metadata#LogEntryCollection.LogEntryCollection',
 '@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel',
 '@odata.type': '#LogEntryCollection.LogEntryCollection',
 'Description': 'System Event Logs for this manager',
 'Members': [{'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/65',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-31T09:16:03-05:00',
              'Description': ' Log Entry 65',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '65',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 65',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/64',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-31T09:15:02-05:00',
              'Description': ' Log Entry 64',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '64',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 64',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/63',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-31T09:14:02-05:00',
              'Description': ' Log Entry 63',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '63',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 63',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/62',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-31T09:13:02-05:00',
              'Description': ' Log Entry 62',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '62',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 62',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/61',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-31T09:01:33-05:00',
              'Description': ' Log Entry 61',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '61',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 61',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/60',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-31T09:00:33-05:00',
              'Description': ' Log Entry 60',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '60',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 60',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/59',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-31T08:59:33-05:00',
              'Description': ' Log Entry 59',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '59',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 59',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/58',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-31T08:58:33-05:00',
              'Description': ' Log Entry 58',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '58',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 58',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/57',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-22T01:09:48-05:00',
              'Description': ' Log Entry 57',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '57',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 57',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/56',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-22T01:08:48-05:00',
              'Description': ' Log Entry 56',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '56',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 56',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/55',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-22T01:07:48-05:00',
              'Description': ' Log Entry 55',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '55',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 55',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/54',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-22T00:56:27-05:00',
              'Description': ' Log Entry 54',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '54',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 54',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/53',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-22T00:55:27-05:00',
              'Description': ' Log Entry 53',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '53',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 53',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/52',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-22T00:54:27-05:00',
              'Description': ' Log Entry 52',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '52',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 52',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/51',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-22T00:53:27-05:00',
              'Description': ' Log Entry 51',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '51',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 51',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/50',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-17T07:43:17-05:00',
              'Description': ' Log Entry 50',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '50',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 50',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/49',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-17T07:42:16-05:00',
              'Description': ' Log Entry 49',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '49',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 49',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/48',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-17T07:41:16-05:00',
              'Description': ' Log Entry 48',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '48',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 48',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/47',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-17T07:30:02-05:00',
              'Description': ' Log Entry 47',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '47',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 47',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/46',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-17T07:29:02-05:00',
              'Description': ' Log Entry 46',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '46',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 46',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/45',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-17T07:28:02-05:00',
              'Description': ' Log Entry 45',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '45',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 45',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/44',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-17T07:27:01-05:00',
              'Description': ' Log Entry 44',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '44',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 44',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/43',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T04:15:01-05:00',
              'Description': ' Log Entry 43',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '43',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 43',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/42',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T04:13:00-05:00',
              'Description': ' Log Entry 42',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '42',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 42',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/41',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T04:12:00-05:00',
              'Description': ' Log Entry 41',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '41',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 41',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/40',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T04:11:00-05:00',
              'Description': ' Log Entry 40',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '40',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 40',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/39',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T03:59:42-05:00',
              'Description': ' Log Entry 39',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '39',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 39',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/38',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T03:58:42-05:00',
              'Description': ' Log Entry 38',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '38',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 38',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/37',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T03:57:42-05:00',
              'Description': ' Log Entry 37',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '37',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 37',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/36',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T03:56:42-05:00',
              'Description': ' Log Entry 36',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '36',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 36',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/35',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T02:48:27-05:00',
              'Description': ' Log Entry 35',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '35',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 35',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/34',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T02:47:27-05:00',
              'Description': ' Log Entry 34',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '34',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 34',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/33',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T02:46:27-05:00',
              'Description': ' Log Entry 33',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '33',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 33',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/32',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T02:35:03-05:00',
              'Description': ' Log Entry 32',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '32',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 32',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/31',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T02:34:03-05:00',
              'Description': ' Log Entry 31',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '31',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 31',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/30',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T02:33:02-05:00',
              'Description': ' Log Entry 30',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '30',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 30',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/29',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2019-10-16T02:32:02-05:00',
              'Description': ' Log Entry 29',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '29',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 29',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/28',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2018-12-19T04:28:34-06:00',
              'Description': ' Log Entry 28',
              'EntryCode': 'Fully Redundant',
              'EntryType': 'SEL',
              'Id': '28',
              'Links': {},
              'Message': 'The power supplies are redundant.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '0ffff',
              'Name': ' Log Entry 28',
              'SensorNumber': 119,
              'SensorType': 'Power Supply / Converter',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/27',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2018-12-19T04:28:32-06:00',
              'Description': ' Log Entry 27',
              'EntryCode': 'Deassert',
              'EntryType': 'SEL',
              'Id': '27',
              'Links': {},
              'Message': 'The input power for power supply 1 has been '
                         'restored.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '3ffff',
              'Name': ' Log Entry 27',
              'SensorNumber': 133,
              'SensorType': 'Power Supply / Converter',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/26',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2018-12-19T04:04:14-06:00',
              'Description': ' Log Entry 26',
              'EntryCode': 'Redundancy Lost',
              'EntryType': 'SEL',
              'Id': '26',
              'Links': {},
              'Message': 'Power supply redundancy is lost.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '1ffff',
              'Name': ' Log Entry 26',
              'SensorNumber': 119,
              'SensorType': 'Power Supply / Converter',
              'Severity': 'Critical'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/25',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2018-12-19T04:04:12-06:00',
              'Description': ' Log Entry 25',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '25',
              'Links': {},
              'Message': 'The power input for power supply 1 is lost.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '3ffff',
              'Name': ' Log Entry 25',
              'SensorNumber': 133,
              'SensorType': 'Power Supply / Converter',
              'Severity': 'Critical'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/24',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2018-11-26T03:36:43-06:00',
              'Description': ' Log Entry 24',
              'EntryCode': 'Deassert',
              'EntryType': 'SEL',
              'Id': '24',
              'Links': {},
              'Message': 'The input power for power supply 2 has been '
                         'restored.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '3ffff',
              'Name': ' Log Entry 24',
              'SensorNumber': 134,
              'SensorType': 'Power Supply / Converter',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/23',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2018-11-26T03:36:40-06:00',
              'Description': ' Log Entry 23',
              'EntryCode': 'Fully Redundant',
              'EntryType': 'SEL',
              'Id': '23',
              'Links': {},
              'Message': 'The power supplies are redundant.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '0ffff',
              'Name': ' Log Entry 23',
              'SensorNumber': 119,
              'SensorType': 'Power Supply / Converter',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/22',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2018-11-26T03:12:28-06:00',
              'Description': ' Log Entry 22',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '22',
              'Links': {},
              'Message': 'The power input for power supply 2 is lost.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '3ffff',
              'Name': ' Log Entry 22',
              'SensorNumber': 134,
              'SensorType': 'Power Supply / Converter',
              'Severity': 'Critical'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/21',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2018-11-26T03:12:25-06:00',
              'Description': ' Log Entry 21',
              'EntryCode': 'Redundancy Lost',
              'EntryType': 'SEL',
              'Id': '21',
              'Links': {},
              'Message': 'Power supply redundancy is lost.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '1ffff',
              'Name': ' Log Entry 21',
              'SensorNumber': 119,
              'SensorType': 'Power Supply / Converter',
              'Severity': 'Critical'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/20',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2018-10-12T10:06:07-05:00',
              'Description': ' Log Entry 20',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '20',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 20',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/19',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2018-10-12T09:53:15-05:00',
              'Description': ' Log Entry 19',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '19',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 19',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/18',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2018-10-12T08:07:44-05:00',
              'Description': ' Log Entry 18',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '18',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 18',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/17',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2018-10-12T07:54:53-05:00',
              'Description': ' Log Entry 17',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '17',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is started and is in progress.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '700',
              'Name': ' Log Entry 17',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'},
             {'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel/16',
              '@odata.type': '#LogEntry.v1_3_0.LogEntry',
              'Created': '2018-07-04T07:29:55-05:00',
              'Description': ' Log Entry 16',
              'EntryCode': 'Assert',
              'EntryType': 'SEL',
              'Id': '16',
              'Links': {},
              'Message': 'The process of installing an operating system or '
                         'hypervisor is successfully completed.',
              'MessageArgs': [],
              '[email protected]': 0,
              'MessageId': '800',
              'Name': ' Log Entry 16',
              'SensorNumber': 0,
              'SensorType': 'BaseOSBoot/InstallationStatus',
              'Severity': 'OK'}],
 '[email protected]': 65,
 '[email protected]': '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel?$skip=50',
 'Name': 'Log Entry Collection'}
Traceback (most recent call last):
  File "check_redfish.py", line 2912, in <module>
    if "sel"        in args.requested_query: get_event_log("System")
  File "check_redfish.py", line 1788, in get_event_log
    get_event_log_dell_fujitsu(type, system_manager_id)
  File "check_redfish.py", line 1982, in get_event_log_dell_fujitsu
    if event_entry.get("EntryCode")[0].get("Member") == "Deassert" and assoc_id is not None:
AttributeError: 'str' object has no attribute 'get'

check_redfish.py --mel fails if no LogService found

When running "check_redfish.py -H host -u user -p password --mel"
the script exits with the following output:

Traceback (most recent call last):
  File "./check_redfish.py", line 206, in <module>
    if any(x in args.requested_query for x in ['mel', 'all']):      get_event_log(plugin, "Manager")
  File "/mnt/data01/contrib_plugins/check_redfish/cr_module/event.py", line 176, in get_event_log
    get_event_log_huawei(plugin_object, event_type, system_manager_id)
  File "/mnt/data01/contrib_plugins/check_redfish/cr_module/event.py", line 391, in get_event_log_huawei
    if len(manager_data.get("LogServices")) == 0:
TypeError: object of type 'NoneType' has no len()

I have narrowed it down to that in our case no LogService is found.
Adding "manager_data.get("LogServices") is None or" to the if-statement on line 391 in event.py makes the script run without issue.

Regards,
D/\N

Session file is readable for everyone

The session file is created with the users umask and is often 0002.
That means that the file is open for everyone since the mode will be 0644 and anyone can use the file to gain access to the management without a password.

AttributeError: 'NoneType' object has no attribute 'lower'

iLO Firmware has been updated to 2.31 Oct 13 2020. Was working without any issues before update.

/local/lib/nagios/plugins/redfish/check_redfish.py -H <host_address> --memory
Traceback (most recent call last):
File "/local/lib/nagios/plugins/redfish/check_redfish.py", line 194, in
plugin.rf.determine_vendor()
File "/local/lib/nagios/plugins/redfish/cr_module/classes/redfish.py", line 427, in determine_vendor
if self.vendor_data.ilo_version.lower() == "ilo 5":
AttributeError: 'NoneType' object has no attribute 'lower'

Enhance Futjitsu memory module check

A failed module will be reported like this:

 {
  "AllowedSpeedsMHz": [],
  "BaseModuleType": None,
  "BusWidthBits": None,
  "CapacityMiB": None,
  "ConfigurationLocked": None,
  "DataWidthBits": None,
  "DeviceLocator": "DIMM-1E",
  "ErrorCorrection": None,
  "FirmwareApiVersion": None,
  "FirmwareRevision": None,
  "Id": "8",
  "IsSpareDeviceEnabled": None,
  "Links": {"Chassis": {"@odata.id": "/redfish/v1/Chassis/0"},
            "Oem": {}},
  "LogicalSizeMiB": None,
  "Manufacturer": None,
  "MaxTDPMilliWatts": [],
  "MemoryDeviceType": None,
  "MemoryLocation": {},
  "MemoryMedia": [],
  "MemorySubsystemControllerManufacturerID": None,
  "MemorySubsystemControllerProductID": None,
  "MemoryType": None,
  "Metrics": {"@odata.id": "/redfish/v1/Systems/0/Memory/8/Metrics"},
  "ModuleManufacturerID": None,
  "ModuleProductID": None,
  "Name": "DIMM 9",
  "NonVolatileSizeMiB": None,
  "Oem": {"ts_fujitsu": {"@odata.type": "http://ts.fujitsu.com/redfish-schemas/v1/FTSSchema.v1_0_0#FTSMemory.v1_2_2.FTSMemory",
                         "ConfigurationState": "Normal",
                         "CssComponent": True,
                         "DisableReason": None,
                         "EnableState": None,
                         "IdentifyLED": None,
                         "IsApproved": None,
                         "LegacyStatus": "Fail",
                         "ManufacturingDate": None,
                         "MaxFrequencyMHz": None,
                         "PredictedMediaLifeLeftPercent": None,
                         "SignalStatus": "Fail",
                         "Voltage": None}},
  "OperatingMemoryModes": [],
  "OperatingSpeedMhz": None,
  "PartNumber": None,
  "PersistentRegionNumberLimit": None,
  "PersistentRegionSizeLimitMiB": None,
  "PersistentRegionSizeMaxMiB": None,
  "PowerManagementPolicy": {"AveragePowerBudgetMilliWatts": None,
                            "PeakPowerBudgetMilliWatts": None},
  "RankCount": None,
  "Regions": [],
  "SecurityCapabilities": {"ConfigurationLockCapable": None,
                           "MaxPassphraseCount": None,
                           "PassphraseCapable": None,
                           "SecurityStates": []},
  "SecurityState": None,
  "SerialNumber": None,
  "SpareDeviceCount": None,
  "Status": {"Health": None, "Oem": {}, "State": "Absent"},
  "VolatileRegionNumberLimit": None,
  "VolatileRegionSizeLimitMiB": None,
  "VolatileRegionSizeMaxMiB": None,
  "VolatileSizeMiB": None}

The module reports: "Status": {"Health": None, "Oem": {}, "State": "Absent"}
But the actual status can be found here:

 "Oem": {"ts_fujitsu": {"@odata.type": "http://ts.fujitsu.com/redfish-schemas/v1/FTSSchema.v1_0_0#FTSMemory.v1_2_2.FTSMemory",
                         "ConfigurationState": "Normal",
                         "CssComponent": True,
                         "DisableReason": None,
                         "EnableState": None,
                         "IdentifyLED": None,
                         "IsApproved": None,
                         "LegacyStatus": "Fail",
                         "ManufacturingDate": None,
                         "MaxFrequencyMHz": None,
                         "PredictedMediaLifeLeftPercent": None,
                         "SignalStatus": "Fail",
                         "Voltage": None}}

This behavior needs to adopted.

add option to generate a json formatted inventory file

cli switch should be "--inventory"

data model could look like this:

{ 
    "inventory": {
        "power_supplies": [
            {
                "name": "xyz",
                "type": "abc",
                "status": "OK",
                "serial": "1234ABCD",
                "firmware": "3df34v3",
                "related_objects": {
                    "system": 1,
                    "chassi": 1
                }
            }
        ],
        "drives": [],
        "storage_controllers": [],
        "cpus": [],
        "memory": [],
        "fans": [],
        "systems": [],
        "chassis": [],
        "mangers": [],
        "network_interfaces": [],
        "firmware": [],
        "temperatures": [],
        "manager_logs": [],
        "system_logs": []
    }
}

fix summary output for storage if a component reported Status.Health None

Thank you for testing.

can you update and try this branch again with "--storage"? It schould at least be dispalyed now.

It is returning more than UNKNOWN but it's giving critical without the --detailed - is this intentional?

$ python3 check_redfish.py -H localhost:4444 --storage
[CRITICAL]: One or more storage components report an issue

$python3 check_redfish.py -H localhost:4444 --detailed --storage
[OK]: C620 Series Chipset Family SATA Controller [AHCI mode] C620 Series Chipset Family SATA Controller [AHCI mode] (FW: ) status is: None
[OK]: C620 Series Chipset Family SSATA Controller [AHCI mode] C620 Series Chipset Family SSATA Controller [AHCI mode] (FW: ) status is: None
[OK]: Physical Drive Solid State Disk 0:1:0 (SSDSC2KG480G7R / SSD / SATA) 480.10GiB status: None
[OK]: Physical Drive Solid State Disk 0:1:1 (SSDSC2KG480G7R / SSD / SATA) 480.10GiB status: None
[OK]: Logical Drive Solid State Disk 0:1:0 (Solid State Disk 0:1:0) 480GiB (RawDevice) Status: None
[OK]: Logical Drive Solid State Disk 0:1:1 (Solid State Disk 0:1:1) 480GiB (RawDevice) Status: None

This is using commit 509ef37 or 0.0.11

Originally posted by @martbhell in #4 (comment)

Cisco CIMC support

Cisco CIMC supports RedFish, but it seems every vendor hqw their own implementation so unfortunately some checks in check_redfish does not work with CIMC.

These appear to work: fan, nic, info, bmc, firmware (the rest either die with Python errors or state unknown (mel and sel))

I lack the Python skills to fix this - but I'll gladly help in other other way I can.

Expected behaviour for iDRAC Firmware check

--firmware uses power.py to retrieve this information. If there are no power supplies avalible via the API then the firmware check is displayed as UNKNOWN despite there being plenty or readings wrt other firmware versions.

Is this expected? I would have presumed that if no power supplies were avalible, then the firmware check would simply omit this result.

Object id 'x' for 'Fan' already used on Dell R6515

Hello,

I'm testing your check on a new Dell R6515 and when running the script with fan checks, I get:

Object id '0' for 'Fan' already used
Object id '1' for 'Fan' already used
Object id '2' for 'Fan' already used
Object id '3' for 'Fan' already used
Object id '4' for 'Fan' already used
Object id '5' for 'Fan' already used
[OK]: All fans (12) are in good condition and fan redundancy status is: Enabled|'Fan_System_Board_Fan1A'=6720;; 'Fan_System_Board_Fan1B'=7200;; 'Fan_System_Board_Fan2A'=6720;; 'Fan_System_Board_Fan2B'=7200;; 'Fan_System_Board_Fan3A'=6840;; 'Fan_System_Board_Fan3B'=7200;; 'Fan_System_Board_Fan4A'=6720;; 'Fan_System_Board_Fan4B'=7200;; 'Fan_System_Board_Fan5A'=6720;; 'Fan_System_Board_Fan5B'=7320;; 'Fan_System_Board_Fan6A'=6720;; 'Fan_System_Board_Fan6B'=7320;;

I think the problem is because 1A and 1B fans both have the same MemberId value in the output.

{
...
	"Fans": [{
			"@odata.id": "/redfish/v1/Chassis/System.Embedded.1/Thermal#/Fans/0",
			"@odata.type": "#Thermal.v1_5_0.Fan",
			"Assembly": {
				"@odata.id": "/redfish/v1/Chassis/System.Embedded.1/Assembly"
			},
			"FanName": "System Board Fan1A",
			"LowerThresholdCritical": 600,
			"LowerThresholdFatal": 600,
			"LowerThresholdNonCritical": 960,
			"MaxReadingRange": "None",
			"MemberId": "0",
			"MinReadingRange": 600,
			"Name": "System Board Fan1A",
			"PhysicalContext": "SystemBoard",
			"Reading": 6720,
			"ReadingUnits": "RPM",
			"Redundancy": [],
			"[email protected]": 0,
			"RelatedItem": [{
				"@odata.id": "/redfish/v1/Chassis/System.Embedded.1"
			}],
			"[email protected]": 1,
			"SensorNumber": 56,
			"Status": {
				"Health": "OK",
				"State": "Enabled"
			},
			"UpperThresholdCritical": "None",
			"UpperThresholdFatal": "None",
			"UpperThresholdNonCritical": "None"
		},
		{
			"@odata.id": "/redfish/v1/Chassis/System.Embedded.1/Thermal#/Fans/0",
			"@odata.type": "#Thermal.v1_5_0.Fan",
			"Assembly": {
				"@odata.id": "/redfish/v1/Chassis/System.Embedded.1/Assembly"
			},
			"FanName": "System Board Fan1B",
			"LowerThresholdCritical": 600,
			"LowerThresholdFatal": 600,
			"LowerThresholdNonCritical": 960,
			"MaxReadingRange": "None",
			"MemberId": "0",
			"MinReadingRange": 600,
			"Name": "System Board Fan1B",
			"PhysicalContext": "SystemBoard",
			"Reading": 7200,
			"ReadingUnits": "RPM",
			"Redundancy": [],
			"[email protected]": 0,
			"RelatedItem": [{
				"@odata.id": "/redfish/v1/Chassis/System.Embedded.1"
			}],
			"[email protected]": 1,
			"SensorNumber": 57,
			"Status": {
				"Health": "OK",
				"State": "Enabled"
			},
			"UpperThresholdCritical": "None",
			"UpperThresholdFatal": "None",
			"UpperThresholdNonCritical": "None"
		},
		{
			"@odata.id": "/redfish/v1/Chassis/System.Embedded.1/Thermal#/Fans/1",
			"@odata.type": "#Thermal.v1_5_0.Fan",
			"Assembly": {
				"@odata.id": "/redfish/v1/Chassis/System.Embedded.1/Assembly"
			},
			"FanName": "System Board Fan2A",
			"LowerThresholdCritical": 600,
			"LowerThresholdFatal": 600,
			"LowerThresholdNonCritical": 960,
			"MaxReadingRange": "None",
			"MemberId": "1",
			"MinReadingRange": 600,
			"Name": "System Board Fan2A",
			"PhysicalContext": "SystemBoard",
			"Reading": 6720,
			"ReadingUnits": "RPM",
			"Redundancy": [],
			"[email protected]": 0,
			"RelatedItem": [{
				"@odata.id": "/redfish/v1/Chassis/System.Embedded.1"
			}],
			"[email protected]": 1,
			"SensorNumber": 58,
			"Status": {
				"Health": "OK",
				"State": "Enabled"
			},
			"UpperThresholdCritical": "None",
			"UpperThresholdFatal": "None",
			"UpperThresholdNonCritical": "None"
		}
	]
...
}

Differences between A and B are FanName, Name and SensorNumber values. I'm running latest iDRAC (4.10.10.10). No such problem on Lenovo servers, as each fan has it's own MemberId.

enhance network adapter support

different vendors represent network/ethernet adapter/interface data in different locations with different status information. It's a real mess and needs to collected differntly for every vendor.

HP ILO4:
/redfish/v1/Systems/1 -> Oem -> Hp -> Links -> [EthernetInterfaces, NetworkAdapters]
/redfish/v1/Systems/1/EthernetInterfaces/
/redfish/v1/Systems/1/NetworkAdapters/

HP ILO5:
/redfish/v1/Systems/1 -> Oem -> Hpe -> Links -> [EthernetInterfaces, NetworkAdapters]
-> /redfish/v1/Systems/1/EthernetInterfaces/
-> /redfish/v1/Systems/1/BaseNetworkAdapters/

Supermicro:
/redfish/v1/Systems/1/EthernetInterfaces

Fujitsu:
/redfish/v1/Systems/0/EthernetInterfaces
/redfish/v1/Systems/0/NetworkInterfaces

Dell iDRAC8:
/redfish/v1/Systems/System.Embedded.1/EthernetInterfaces
/redfish/v1/Systems/System.Embedded.1/NetworkInterfaces

Huawei:
/redfish/v1/Systems/1/EthernetInterfaces
/redfish/v1/Systems/1/NetworkInterfaces

And Port information is stored also in different places

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.