-
Notifications
You must be signed in to change notification settings - Fork 95
Dump Integrated Management 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 def ex22_dump_iml takes an instance of rest object ( or redfish object if using Redfish API ) as argument.
def ex22_dump_iml(restobj):
Find and get the system resource for log service.
instances = restobj.search_for_type("LogService.")
Send HTTP GET request to log service IML URI(s).
for instance in instances:
if instance["href"].endswith("IML"):
tmp = restobj.rest_get(instance["href"])
From the IML entries link response print log entry.
def print_log_entries(log_entries):
for log_entry in log_entries:
sys.stdout.write(log_entry["Severity"] + ": Class " + str(log_entry["Oem"]["Hp"]["Class"]) + " / Code " + str(log_entry["Oem"]["Hp"]["Code"]) + ":\t" + log_entry["Message"] + "\n")
Send another GET request to IML entries URI. Followed by calling the print function.
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"])