-
Notifications
You must be signed in to change notification settings - Fork 65
Dump iLO Event Log
If not created already, create an instance of Rest or Redfish Object using the RestObject or RedfishObject class respectively. The class constructor takes iLO hostname/ ip address, iLO login username and password as arguments. The class also initializes a login session, gets systems resources and message registries.
Rest Object creation:
REST_OBJ = RestObject(iLO_host, login_account, login_password)
Redfish Object creation:
REDFISH_OBJ = RedfishObject(iLO_host, login_account, login_password)
The method ex23_dump_ilo_event_log takes an instance of rest object ( or redfish object if using Redfish API ) as argument.
def ex23_dump_ilo_event_log(restobj):
Find and get the system resource for log service.
instances = restobj.search_for_type("LogService.")
Send HTTP GET request to log service IEL URI(s).
for instance in instances:
if instance["href"].endswith("IEL"):
tmp = restobj.rest_get(instance["href"])
Define a function for printing log entries from the IEL entries.
def print_log_entries(log_entries):
for log_entry in log_entries:
sys.stdout.write(log_entry["Message"] + "\n")
Send another GET request to IEL entries URI. Then print log entry messages from link response.
for entry in tmp.dict["links"]["Entries"]:
response = restobj.rest_get(entry["href"])
print_log_entries(response.dict["Items"])
Check for additional pages and display entries.
while 'NextPage' in response.dict["links"]:
response = restobj.rest_get(entry["href"] + '?page=' + str(response.dict["links"]['NextPage']['page']))
print_log_entries(response.dict["Items"])