[glance] Slow image download when using glanceclient

Lucio Seki lucioseki at gmail.com
Thu Oct 13 16:30:20 UTC 2022


Hi glance experts,

I'm using the following code to download a glance image:

```
from glanceapi import client
...
glance = client.Client(GLANCE_API_VERSION, session=sess)
...
with open(path, 'wb') as image_file:
    data = glance.images.data(image_id)
    for chunk in tqdm(data, unit='B', unit_scale=True, unit_divisor=1024):
        image_file.write(chunk)
```

And I get a speed around 3kB/s. It would take months to download an image.
I'm using python3-glanceclient==3.6.0.
I even tried:
```
    for chunk in tqdm(data, unit='B', unit_scale=True, unit_divisor=1024):
        pass
```
to see if the bottleneck was the disk I/O, but didn't get any faster.

In the same environment, when I use the glance CLI instead:

```
glance image-download --file $path $image_id
```
I get hundreds of MB/s download speed, and it finishes in a few minutes.

Is there anything I can do to improve the glanceclient performance?
I'm considering using subprocess.Popen(['glance', 'image-download', ...])
if nothing helps...

Regards,
Lucio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.openstack.org/pipermail/openstack-discuss/attachments/20221013/11d10506/attachment-0001.htm>


More information about the openstack-discuss mailing list