...
- User navigates to the Templates page then switches to ISO using the "Select view" selector, then the user clicks on "Register ISO" (existing screen)
- Register ISO form pops up (existing screen)
- User has now the choice to provide URL of the volume/ISO (existing functionality) or Upload File from Browser (new functionality)
- Selects File Upload from Browser then specifies the volume/ISO file (Browse...) to be uploaded
- User fills in other existing form fields
- User clicks OK to submit the form
- Browser UI requests an unique upload URL using the getUploadParamsForVolume api call
- Management server returns an upload url, encrypted metadata string which should be passed on to the upload url while doing the upload
- Browser starts uploading using POST request to the upload URL
- The post request completes once the template is uploaded or there was an error uploading.
- The user can close the dialog (POST request should still be active) and use listvolumes API result to check the status of it
Testing
Unit testing
TBD: unit tests for service layer, api layer and monitoring thread (koushik/rajani)
Automation/marvin cases
https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;a=commit;h=db7964fb11842ef008464e42e715838cbe46e72d
...