Red Hat Bugzilla – Bug 750801
[RFE] specifying the entire image chain as a qemu drive (blockdev-add) (qemu)
Last modified: 2018-03-26 20:22:50 EDT
Description of problem: I would like to be able to tell qemu the exact chain of images and let it override the information written within the image metadata The arg should be something on the line of: -drive=qcow2:/tmp/A.img,qcow2:/tmp/B.img,raw:/tmp/c.img The exact formatting is unimportant as long as separators can be escaped and image format can also be specified. This will allow users that have the base image in multiple location specify the base image on-the-fly without changing the image metadata. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Why not use qemu-img to change the meta data? Orit, maybe we'll need it for iscsi+block live migration anyway
This is another instance of these "we need -blockdev" features. Reassigning to Markus. If there is no RFE for it yet, we can take this one, otherwise this should probably be closed as a duplicate.
Changing the MD is costly and requires write privileged to all the files in the chain. Also on long chains we might want to have different chains on different hosts (Locally cached templates). This will mean changing the Metadata while a VM is running. And will mean exclusively locking the template because the same VM might want to be used by another VM on another host. The point is we have to assume base images never change. This changing the metadata before each VM run breaks this assumption.
(In reply to comment #2) > Why not use qemu-img to change the meta data? > Orit, maybe we'll need it for iscsi+block live migration anyway Dor,We don't need to modify the meta data in iscsi+block live migration.
I think this is a fair RFE. It needs to be pursued upstream. No ETA, yet.
I would just like to clarify that the qemu-img tool also needs a way to have the entire chain passed to it.
Basic support is already in 7.0, however even upstream there are a few parts missing: * Support for network protocol drivers in blockdev-add * Modifying backing file options doesn't work for all options yet (e.g. cache) We're relatively close to implementing these, so I'll leave this BZ for 7.1 for the moment, while keeping cond-nack upstream.
Also missing upstream: blockdev-del. Tracked for 7.1 as bug 1086193.
Making progress upstream, but the full implementation won't make it for 7.1.
blockdev-add/del is still experimental upstream. We don't expect it to be declared stable (API wise) on time for RHEL-7.3, so deferring it to 7.4.
Based on 1. Bug 1086193 - RFE: Add blockdev-delete QMP command in company with blockdev-add - VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=1086193#c16 2. Bug 1159728 - add blockdev-add support with libiscsi backends - VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=1159728#c7 3. Bug 1159726 - RFE: blockdev-add support for gluster - VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=1159726#c8 Set bug status to 'VERIFIED'. Thanks.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2017:2392