You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

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 

  1.  receive HTTP 201 (accepted replies) along with task URI.
  2.  relay this response to the client on the north side.
  3.  Allow the client to query the status for such tasks  
  4.  Alternately allow the client to subscribe for such task updates without having to poll

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. 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."

  • No labels