copy-from broken for large files and swift
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Glance |
Fix Released
|
Critical
|
Alexander Tivelkov | ||
glance_store |
Won't Fix
|
Medium
|
Stuart McLaren |
Bug Description
Glance may loose some image data while transferring it to the backing store thus corrupting the image when ALL the following conditions are met:
- Image is being created by copying data from remote source (--copy-from CLI parameter or appropriate API call)
- Backing store is Swift
- Image size is larger then configured "swift_
In such scenarios the last chunk stored in Swift will have the size significantly less then expected. An attempt to download the image will result in a checksum verification error, however the checksum stored in Glance (with image metadata) is correct, and so is the size.
This is easily reproducible even on devstack (if the devstack is configured to run Swift as Glance backend). Just decrease 'swift_
glance image-create --name tst --disk-format qcow2 --container-format bare --copy-from http://
...
glance image-list
+------
| ID | Name | Disk Format | Container Format | Size | Status |
+------
| fc34ec49-
+------
...
swift stat glance fc34ec49-
Account: AUTH_cce6e9c12f
Container: glance
Object: fc34ec49-
Content Type: application/
Content Length: 509804544 <---- see, the size is different!
Last Modified: Mon, 19 Jan 2015 15:52:18 GMT
ETag: "6d0612f82db9a5
Manifest: glance/
Accept-Ranges: bytes
X-Timestamp: 1421682737.01148
X-Trans-Id: tx01a19f7476a54
....
glance image-download tst --file out.qcow2
[Errno 32] Corrupt image download. Checksum was 0eeddae1007f01b
Changed in glance: | |
assignee: | nobody → Alexander Tivelkov (ativelkov) |
Changed in glance: | |
importance: | Undecided → Medium |
tags: | added: icehouse-backport-potential |
tags: | added: juno-backport-potential |
Changed in glance: | |
importance: | Medium → Critical |
milestone: | none → kilo-2 |
Changed in glance: | |
status: | Fix Committed → Fix Released |
Changed in glance-store: | |
status: | New → In Progress |
assignee: | nobody → Stuart McLaren (stuart-mclaren) |
milestone: | none → v0.1.11 |
importance: | Undecided → Critical |
Changed in glance-store: | |
milestone: | v0.1.11 → none |
milestone: | none → v0.1.12 |
Changed in glance-store: | |
milestone: | v0.1.12 → v0.1.13 |
Changed in glance-store: | |
milestone: | v0.4.0 → v0.4.1 |
Changed in glance: | |
milestone: | kilo-2 → 2015.1.0 |
Changed in glance-store: | |
milestone: | 0.5.0 → none |
no longer affects: | glance/icehouse |
no longer affects: | glance/juno |
Changed in glance-store: | |
importance: | Critical → Medium |
Changed in glance-store: | |
status: | In Progress → Won't Fix |
Fix proposed to branch: master /review. openstack. org/148572
Review: https:/