Currently ODIM does not support handling of tasks returned by the plugin layer. Due to this plugins cannot return task URLs for operations that take a long time to complete. An example is reset needed after volume creation, the current behavior is for ODIM to wait for the reset to complete for a long time before being able to respond to north bound clients with the final response. This time delay can result in the RPC/HTTPS time outs. This also means that the client cannot receive/query task status before the successful/unsuccessful completion of the long standing task.
Here we propose that ODIM is modified to be able
Note #3 and #4 above is already available for task created by ODIM itself as per the redfish Task schema. #3 above will allow the client to query and find the current status of the task. #7 is needed as it will avoid timeouts in client calls. The list task status supported by redfish are
"Cancelled": "Task has been cancelled by an operator or internal process.",
"Cancelling": "Task is in the process of being cancelled.",
"Completed": "Task has completed.",
"Exception": "Task has stopped due to an exception condition.",
"Interrupted": "Task has been interrupted.",
"Killed": "Task was terminated.",
"New": "A new task.",
"Pending": "Task is pending and has not started.",
"Running": "Task is running normally.",
"Service": "Task is running as a service.",
"Starting": "Task is starting.",
"Stopping": "Task is in the process of stopping.",
"Suspended": "Task has been suspended."