Bug #3705
Images downloaded from the Marketplace to Ceph are left with DRIVER=qcow2
Status: | Closed | Start date: | 03/22/2015 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | Vlastimil Holer | % Done: | 0% | |
Category: | Drivers - Storage | |||
Target version: | Release 5.4 | |||
Resolution: | fixed | Pull request: | ||
Affected Versions: | OpenNebula 4.12 |
Description
Downloading an image from the Marketplace into a Ceph datastore correctly converts the image to raw format, but leaves the image with the tag "DRIVER" set to "qcow2"
A naive patch to ceph/cp looks like:
diff -uNr opennebula-4.10.2.orig/src/datastore_mad/remotes/ceph/cp opennebula-4.10.2-ceph/src/datastore_mad/remotes/ceph/cp --- opennebula-4.10.2.orig/src/datastore_mad/remotes/ceph/cp 2015-01-14 12:11:50.000000000 -0500 +++ opennebula-4.10.2-ceph/src/datastore_mad/remotes/ceph/cp 2015-03-17 18:07:55.229239336 -0400 ***OMITTED UNRELATED PATCHES*** ssh_exec_and_log "$DST_HOST" "$REGISTER_CMD" \ "Error registering $RBD_SOURCE in $DST_HOST" +# Ensure the image is specified as "raw" +( + tmpUpdateImageFile="${TMPDIR:-/tmp}/update-image-file-$$${RANDOM}${RANDOM}${RANDOM}.oi" + echo 'DRIVER="raw"' > "${tmpUpdateImageFile}" + oneimage update "${ID}" "${tmpUpdateImageFile}" --append + rm -f "${tmpUpdateImageFile}" +) 2>/dev/null >/dev/null </dev/null + echo "$RBD_SOURCE"
Associated revisions
B #3705: Override image DRIVER attribute by the datastore DRIVER
B #3705: Update DS_MAD fs/cp to support CONVERT/DRIVER
B #3705: DRIVER configuration for the TM_MAD_CONF
B #3705: Default CONVERT=yes in fs/cp
B #3705: Set DRIVER=qcow2 for TM_MAD qcow2
B #3705: Don't override image DRIVER if CDROM
B #3705: Add TEMPLATE/DRIVER=raw into exist. CEPH/LVM DS on migration
History
#1 Updated by Ruben S. Montero almost 6 years ago
- Category set to Drivers - Storage
#2 Updated by Jaime Melis almost 6 years ago
- Status changed from Pending to New
I like the idea of fixing this bug, but I would do this in the Core. For example, if the datastore has a "DRIVER" attribute, the core will overwrite the image's driver attribute with the datastore's. Setting to "New".
#3 Updated by Roy Keene over 4 years ago
Still present in OpenNebula 5.2.0
#4 Updated by Ruben S. Montero over 4 years ago
- Target version set to Release 5.4
#5 Updated by Vlastimil Holer about 4 years ago
- Assignee set to Vlastimil Holer
#6 Updated by Vlastimil Holer about 4 years ago
- Assignee deleted (
Vlastimil Holer)
Following PR should allow to set the DRIVER on datastore level to override the image DRIVER: https://github.com/OpenNebula/one/pull/309
#7 Updated by Vlastimil Holer about 4 years ago
- Status changed from New to Closed
- Assignee set to Vlastimil Holer
- Resolution set to fixed
Merged by Javi.