[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