[Kimchi-devel] [PATCH v2 0/4] UI: Download Remote Image Feature

Hongliang Wang hlwang at linux.vnet.ibm.com
Mon Sep 15 09:47:22 UTC 2014


On 09/14/2014 10:09 PM, Aline Manera wrote:
>
> On 09/12/2014 05:55 PM, Aline Manera wrote:
>>
>> Hi Hongliang,
>>
>> Most of issues I commented in this patch set are fixed in 
>> "[Kimchi-devel] [PATCH] Adjustments on upload/download UI"
>>
>> We still need to fix the upload to do not freeze the UI and crash 
>> browser when uploading big files.
>> To fix it, I think, we will need to send the file part by part, let's 
>> say 5MB per request. It will also require changes on backend but it 
>> can solve our problems.
>>
>> Regards,
>> Aline Manera
>
> I forgot to mention you also need to apply the same Kimchi style to 
> the input box and the browser button.
ACK.
The file selector button styling is somewhat different. Let me do some 
investigation.
> You can merge this patch set with mine and do the style changes. And 
> to do not block the UI patch, disable the upload option by now until 
> we get the backend updated.
>
> Royce,
>
> For the backend I imagine we can allow receive multiple POST request 
> to get the whole file while uploading it.
> Example:
>
> POST /storagepools/<pool>/storagevolumes/ {file: fd}
>
> this fd object will have :
>
> - fd.file: a part of 10MB of the file to be uploaded
> - fd.part: the correspond part number
> - fd.total: total number of parts to be received
>
> The UI will do something like:
>
> fd.total = round(fd.size / 10MB)
> transfered = 0
> part = 0
>
> while part < fd.total:
>     fd.file = read more 10MB of the file
>     fd.part = part
>     POST POST /storagepools/<pool>/storagevolumes/ {file: fd}
>     fd.part++
>
> On backend:
> if os.path.exists(filepath) and fd.part = 0:
>     raise InvalidParemeter("file already exists")
>
> localfile = open(filepath, a)
> localfile.seek(fd.part * 10MB)
> localfile.write(fd.file)
What's the problem here for large files? Seems your solution will 
introduce lots of requests. I tried a large ISO file and the window was 
not closed and finally the request timed out.
>
>>
>> On 09/12/2014 06:42 AM, Hongliang Wang wrote:
>>> Implemented download remote image feature.
>>>
>>> v1 -> v2:
>>>    2a) Disabled add volume for inactive and iscsi/scsi pools
>>>        (Aline's comment)
>>>
>>>    2b) Removed progress bar after upload/download finished
>>>        (Aline & Cristian's comment)
>>>
>>>    2c) Changed the button label to "Add" from "OK"
>>>        (Cristian's comment)
>>>
>>>    2d) Made add volume button behave correctly (enabled/disabled)
>>>        (Cristian's comment)
>>>
>>>    2e) Removed some code redundent
>>>        (Aline & Cristian's comment)
>>>
>>> Hongliang Wang (4):
>>>    Storage Pool Add Volume UI: Add APIs to kimchi.api.js
>>>    Storage Pool Add Volume UI: Add i18n Strings
>>>    Storage Pool Add Volume UI: Implement Download/Upload Volume 
>>> Function
>>>    Storage Pool Add Volume UI: Connect the Feature in Storage Tab
>>>
>>>   ui/css/theme-default/storage.css                |  31 ++-
>>>   ui/css/theme-default/storagepool-add-volume.css |  36 ++++
>>>   ui/js/src/kimchi.api.js                         |  37 ++++
>>>   ui/js/src/kimchi.storage_main.js                | 116 ++++++++++-
>>>   ui/js/src/kimchi.storagepool_add_volume_main.js | 243 
>>> ++++++++++++++++++++++++
>>>   ui/pages/i18n.json.tmpl                         |   4 +
>>>   ui/pages/storagepool-add-volume.html.tmpl       |  80 ++++++++
>>>   ui/pages/tabs/storage.html.tmpl                 |  12 +-
>>>   8 files changed, 549 insertions(+), 10 deletions(-)
>>>   create mode 100644 ui/css/theme-default/storagepool-add-volume.css
>>>   create mode 100644 ui/js/src/kimchi.storagepool_add_volume_main.js
>>>   create mode 100644 ui/pages/storagepool-add-volume.html.tmpl
>>>
>>
>> _______________________________________________
>> Kimchi-devel mailing list
>> Kimchi-devel at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>>
>




More information about the Kimchi-devel mailing list