Changed fews keywords in dump utility
- The exisiting keyword Get Dump Size was working only
for BMC dump. So modified it to work for all dumps.
- Added new keyword Check Task Completion
Signed-off-by: Anusha Dathatri <adathatr@in.ibm.com>
Change-Id: I71ef9bc38f7e80129f1b5553dbecc9b26f573ff3
Change-Id: I83faa9453632a39acffd035cda6fbb2ed61b609a
Signed-off-by: Anusha Dathatri <adathatr@in.ibm.com>
diff --git a/lib/dump_utils.robot b/lib/dump_utils.robot
index c8ead9a..11fcc88 100644
--- a/lib/dump_utils.robot
+++ b/lib/dump_utils.robot
@@ -264,28 +264,32 @@
Get Dump Size
[Documentation] Get dump size.
- [Arguments] ${dump_id}
+ [Arguments] ${dump_uri}
# Description of argument(s):
- # dump_id Dump ID.
+ # dump_uri Dump URI
+ # (Eg. /xyz/openbmc_project/dump/bmc/entry/1).
- # Example of BMC Dump entry.
- # "@odata.id": "/redfish/v1/Managers/bmc/LogServices/Dump/Entries/382",
- # "@odata.type": "#LogEntry.v1_7_0.LogEntry",
- # "AdditionalDataSizeBytes": 211072,
- # "AdditionalDataURI": "/redfish/v1/Managers/bmc/LogServices/Dump/attachment/382",
- # "Created": "2021-03-30T17:09:34+00:00",
- # "DiagnosticDataType": "Manager",
- # "EntryType": "Event",
- # "Id": "382",
- # "Name": "BMC Dump Entry"
+ # Example of Dump entry.
+ # "data": {
+ # "CompletedTime": 1616760931,
+ # "Elapsed": 1616760931,
+ # "OffloadUri": "",
+ # "Offloaded": false,
+ # "Password": "",
+ # "Size": 3056,
+ # "SourceDumpId": 117440513,
+ # "StartTime": 1616760931,
+ # "Status": "xyz.openbmc_project.Common.Progress.OperationStatus.Completed",
+ # "VSPString": ""
+ # },
- ${dump_data}= Redfish.Get Properties
- ... /redfish/v1/Managers/bmc/LogServices/Dump/Entries/${dump_id}
- [Return] ${dump_data["AdditionalDataSizeBytes"]}
+ Log ${dump_uri}
+ ${dump_data}= Redfish.Get Properties ${dump_uri}
+ [Return] ${dump_data["data"]["Size"]}
Get Dump ID
- [Documentation] Return task status.
+ [Documentation] Return dump ID.
[Arguments] ${task_id}
# Description of argument(s):
@@ -322,6 +326,18 @@
${resp}= Redfish.Get Properties /redfish/v1/TaskService/Tasks/${task_id}
[Return] ${resp['TaskState']}
+Check Task Completion
+ [Documentation] Check if the task is complete.
+ [Arguments] ${task_id}
+
+ # Description of argument(s):
+ # task_id Task ID.
+
+ ${status}= Get Task Status ${task_id}
+ Run Keyword Unless '${status}' == 'Cancelled' or '${status}' == 'Completed'
+ ... Fail Task is still running.
+ [Return] ${status}
+
Get Dump ID And Status
[Documentation] Return dump ID and status.
[Arguments] ${task_id}
@@ -329,6 +345,7 @@
# Description of argument(s):
# task_id Task ID.
- ${dump_id}= Wait Until Keyword Succeeds 15 min 15 sec Get Dump ID ${task_id}
- ${status}= Get Task Status ${task_id}
- [Return] ${dump_id} ${status}
+ ${task_status}= Wait Until Keyword Succeeds 10 min 15 sec Check Task Completion ${task_id}
+ ${dump_id}= Run Keyword If '${task_status}' == 'Completed' Get Dump ID ${task_id}
+ ... ELSE Set Variable None
+ [Return] ${dump_id} ${task_status}