Description of problem: Right now there is no option to download an image (using python-sdk) - if the image is attached to a vm. This is the error: raise Error(msg) ovirtsdk4.Error: Fault reason is "Operation Failed". Fault detail is "[Cannot ${action} Storage. The disk 1gb-disk-raw-1mb-test is attached to VMs: test-upload-16-01-23-20]". HTTP response code is 409. It would be nice to have the option to download a disk even when it's attached to vm.
Allowing upload/download of a disk attached to a non-down VM may require some delicate coordination/locking, but for a DOWN vm(s), this looks like an easy win.
(In reply to Allon Mureinik from comment #1) > Allowing upload/download of a disk attached to a non-down VM may require > some delicate coordination/locking, but for a DOWN vm(s), this looks like an > easy win. Actually, unplugged disks for VMs in any state should also be an easy win. I'll add a patch for that too.
Can you consider a backport to 4.1.z?
(In reply to Yaniv Lavi from comment #3) > Can you consider a backport to 4.1.z? This implementation included some "cleanup" work to unify similar validations throughout the code, which I don't want to bother the z-stream with, but if we take just the minimal fix, it shouldn't be too much of a problem. I'm restoring the needinfo until I evaluate this properly, and either post patches to backport it or have a good explanation why this won't be as easy as I thought.
(In reply to Allon Mureinik from comment #4) > (In reply to Yaniv Lavi from comment #3) > > Can you consider a backport to 4.1.z? > > This implementation included some "cleanup" work to unify similar > validations throughout the code, which I don't want to bother the z-stream > with, but if we take just the minimal fix, it shouldn't be too much of a > problem. > I'm restoring the needinfo until I evaluate this properly, and either post > patches to backport it or have a good explanation why this won't be as easy > as I thought. Patches backported. The series still needs some verifications and review, but there's no reason it shouldn't be in by 4.1.5.
Verified using builds: ovirt-engine-4.1.5-0.1.el7.noarch ovirt-imageio-proxy-1.0.0-0.el7ev.noarch ovirt-imageio-common-1.0.0-0.el7ev.noarch vdsm-4.19.25-1.el7ev.x86_64 ovirt-imageio-daemon-1.0.0-0.el7ev.noarch