Creating Instances from Newly Added Image Fail with Error ‘Corrupt Image Download’
Problem
Instance creation with newly added image in Glance Image Library fails with the below error in /var/log/pf9/ostackhost.log on the compute host.
x
ERROR nova.image.glance [<request_UUID>] Error writing to /opt/pf9/data/instances/_base/<base_disk_UUID>.part: [Errno 32] Corrupt image download. Checksum was a1b2c3d4 expected p5q6r7s8: BrokenPipeError: [Errno 32] Corrupt image download. Checksum was a1b2c3d4 expected p5q6r7s8
ERROR nova.compute.manager [<request_UUID>] [instance: <instance_UUID>] Instance failed to spawn: BrokenPipeError: [Errno 32] Corrupt image download. Checksum was a1b2c3d4 expected p5q6r7s8
Environment
- Platform9 Managed OpenStack - All Versions
- Glance
- Images
- Nova
Cause
- For larger images that are copied over the network (via SCP, FTP, etc) to the Image Library directory directly, the image transfer can take a longer time. In such a case, Image Library could calculate the checksum of a partial image and store it in glance-registry.
- As the checksum differs from the image downloaded by Nova and the image in the Image Library directory, instances creation from that image will fail.
Image Library adds the metadata with the checksum of the glance image to the glance-registry from the image content monitored directory ( Image Library directory default path: /var/opt/pf9/imagelibrary/data/ ).
Resolution
- Remove the existing problematic image from the glance:
$ glance image-delete <image-name>
- The recommended method is to transfer the image to Glance hosts in a temporary/home directory and then move it to the image content monitored directory.
$ scp myimage.img <username>@<glance-host>:/tmp/
$ ssh <username>@<glance-host>
$ mv /tmp/myimage.img /var/opt/pf9/imagelibrary/data/
OR
- Use the glance image-create command to upload the image, Refer Managing Images with CLI article.
$ qemu-img info myimage.img
image: myimage.img
file format: qcow2
virtual size: 39M (41126400 bytes)
disk size: 13M
cluster_size: 65536
$ glance image-create --disk-format qcow2
--container-format bare
--file /tmp/myimage.img
--visibility public
--name myimage
--property pf9_description='best image ever'
--property pf9_virtual_size=41126400
Was this page helpful?