Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

At any point while this post is active, the api user should be able to call the listtemplates/listvolumes api to get the upload status of it. 

DB Changes

No db changes.

Sequence Diagram

  1. failure at any point during the form upload to ssvm apache would return error to the user and DOWNLOAD_ERROR when the management server pings for download status.
  2. polling starts after the success of getUploadParams
  3. current polling interval is 10000 ms 
  4. currently it polls thrice to check the status. We may need to increase this. (is the current value 5 or 3?)

...

  • how does management server decide which SSVM to pick
  • how does management server decide which NFS server to store
  • if there is enough load on the SSVM, will management server try launch new SSVM
  • how does the admin the outstanding browser based uploads
  • how does the use know the state of browser based upload
  • how does the management server know download complete
  • how does the management server know the % of download
  • how does the management server know the failed upload
  • where does the management server persist the state & percentage of upload

fault scenarios & recovering failed uploads 

...

  1. Browser UI requests the upload form by doing the getUploadParams api call. 
  2. Management Server returns a upload url, params json string which should be passed on to the upload url while doing the upload
  3. UI shows an upload dialog with a way to browse and upload file.
  4. User chooses a file and posts on the url.
  5. The post request completes once the template is downloaded/errored. 
  6. The user can close the dialog(Post request should still be active) and use list page to check the status of it.

DB Changes

No db changes.

...

Future Enhancements

  1. Upload progress to the user (http://creativejs.com/tutorials/advanced-uploading-techniques-part-1/ )
  2. split upload and join in apache so as to not hit browser timeouts
  3. post url should be active only for one time call - return proper error message on subsequent calls - how do we determine if its already used?

  4. Admin to list all the uploads happening and cancel any if required?

  5. Partial data upload and template cleanup (can be due to SSVM to agent restart or network error)
  6. a new global param to limit the max upload size

...