← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1792710] Re: glance backend is in crazy resize when an image is uploading

 

** No longer affects: python-glanceclient

** Description changed:

  When uploading a volume to glance as an image, the glance server don't
  know the image size, so the backend storage server(such as ceph) need to
  resize the image every time it received new chunk of data(by default
- 64K). So there will be huge times of resize operations that will
- terribly impact the performance.
+ 64K). So there will be huge times of resize operations that will impact
+ the performance.
  
- - regarding cinder, it has not calculate the image size and pass the correct size to glanceclient
- - regarding glanceclient, it has not carried the size in (http/https) request which sending to glance server
- - regarding glance, it has not extract the size from the request during the deserial phase, so even the subsequent api contains argument "size", the value is always 0.
+ - regarding cinder, it has not calculate the image size and pass the correct size to glance
+ - regarding glance, it should allow the client to set image size.
  
  This is an known issue which can be found in driver files of all kinds of backend storage system:
  In file: glance_store/_drivers/rbd.py, function: add
  In file: glance_store/_drivers/cinder.py, function: add
  In file: glance_store/_drivers/sheepdog.py, function: add
  In all these files, there're comments like below:
      # If the image size provided is zero we need to do
      # a resize for the amount we are writing. This will
      # be slower so setting a higher chunk size may
      # speed things up a bit.

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1792710

Title:
  glance backend is in crazy resize when an image is uploading

Status in Cinder:
  In Progress
Status in Glance:
  In Progress

Bug description:
  When uploading a volume to glance as an image, the glance server don't
  know the image size, so the backend storage server(such as ceph) need
  to resize the image every time it received new chunk of data(by
  default 64K). So there will be huge times of resize operations that
  will impact the performance.

  - regarding cinder, it has not calculate the image size and pass the correct size to glance
  - regarding glance, it should allow the client to set image size.

  This is an known issue which can be found in driver files of all kinds of backend storage system:
  In file: glance_store/_drivers/rbd.py, function: add
  In file: glance_store/_drivers/cinder.py, function: add
  In file: glance_store/_drivers/sheepdog.py, function: add
  In all these files, there're comments like below:
      # If the image size provided is zero we need to do
      # a resize for the amount we are writing. This will
      # be slower so setting a higher chunk size may
      # speed things up a bit.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cinder/+bug/1792710/+subscriptions


References