[Kimchi-devel] [PATCHv4 6/7] Storage volume upload: Adding progress to task message
Aline Manera
alinefm at linux.vnet.ibm.com
Thu Sep 4 14:46:52 UTC 2014
On 09/04/2014 06:25 AM, lvroyce at linux.vnet.ibm.com wrote:
> From: Royce Lv <lvroyce at linux.vnet.ibm.com>
>
> Periodically update current written bytes to task message
> so that UI can query the latest progress of volume uploading.
>
> Signed-off-by: Royce Lv <lvroyce at linux.vnet.ibm.com>
> ---
> src/kimchi/model/storagevolumes.py | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/src/kimchi/model/storagevolumes.py b/src/kimchi/model/storagevolumes.py
> index 91abc81..a6c7c9f 100644
> --- a/src/kimchi/model/storagevolumes.py
> +++ b/src/kimchi/model/storagevolumes.py
> @@ -73,13 +73,19 @@ class StorageVolumesModel(object):
> raise InvalidParameter('KCHVOL0001E', {'name': params['name']})
>
> upload_file = params['file']
> + f_len = upload_file.fp.length
> + pool = StoragePoolModel.get_storagepool(pool_name, self.conn)
> try:
> + size = 0
> f = open(file_path, 'wb')
> + pool.refresh()
> while True:
> data = upload_file.file.read(8192)
> if not data:
> break
> + size += len(data)
> f.write(data)
> + cb('%s/%s' % (f_len, size), True)
It should be (size, f_len), right? =)
As size represents the partial size and f_len the total file size
> f.close()
> except Exception as e:
> raise OperationFailed('KCHVOL0007E',
> @@ -88,9 +94,7 @@ class StorageVolumesModel(object):
> 'err': e.message})
>
> # Refresh to make sure volume can be found in following lookup
> - pool = StoragePoolModel.get_storagepool(pool_name, self.conn)
> pool.refresh()
> - cb('', True)
>
> def _create_volume_with_capacity(self, cb, params):
> pool_name = params.pop('pool')
More information about the Kimchi-devel
mailing list