Description of problem: I'm installing a Windows system from CD but am unable to change the CD during installation to install drivers (I wouldn't see the disk for OS installation otherwise). I keep getting prompted to eject the CD in the guest, but that is not possible. Version-Release number of selected component (if applicable): ovirt-engine-4.2.6-0.1.el7ev.noarch vdsm-4.20.35-1.el7ev.x86_64 libvirt-4.5.0-3.el7.x86_64 How reproducible: always Steps to Reproduce: 1. create a VM and start it with Windows installation CD 2. try to change the CD to virtio-win iso during the installation 3. Actual results: change CD fails Expected results: change CD should succeed so Windows guests can be used in RHV Additional info: engine log: 2018-08-13 15:56:57,331+02 ERROR [org.ovirt.engine.core.bll.storage.disk.ChangeDiskCommand] (de fault task-1) [062b2c31-d44d-4f8e-ae91-2fb98c285625] Command 'org.ovirt.engine.core.bll.storage .disk.ChangeDiskCommand' failed: EngineException: org.ovirt.engine.core.vdsbroker.vdsbroker.VDS ErrorException: VDSGenericException: VDSErrorException: Failed in vdscommand to ChangeDiskVDS, error = Failed to change disk image (Failed with error FAILED_CHANGE_CD_IS_MOUNTED and code 41) 2018-08-13 15:56:57,331+02 DEBUG [org.ovirt.engine.core.bll.storage.disk.ChangeDiskCommand] (de fault task-1) [062b2c31-d44d-4f8e-ae91-2fb98c285625] Exception: org.ovirt.engine.core.common.er rors.EngineException: EngineException: org.ovirt.engine.core.vdsbroker.vdsbroker.VDSErrorExcept ion: VDSGenericException: VDSErrorException: Failed in vdscommand to ChangeDiskVDS, error = Fai led to change disk image (Failed with error FAILED_CHANGE_CD_IS_MOUNTED and code 41) vdsm log: 2018-08-13 15:56:57,604+0200 ERROR (jsonrpc/1) [virt.vm] (vmId='95162aa0-7ee4-4b95-a2da-ec96c7fe84aa') forceful updateD eviceFlags failed (vm:5036) Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/vdsm/virt/vm.py", line 5033, in _changeBlockDev diskelem_xml, libvirt.VIR_DOMAIN_DEVICE_MODIFY_FORCE File "/usr/lib/python2.7/site-packages/vdsm/virt/virdomain.py", line 98, in f ret = attr(*args, **kwargs) File "/usr/lib/python2.7/site-packages/vdsm/common/libvirtconnection.py", line 130, in wrapper ret = f(*args, **kwargs) File "/usr/lib/python2.7/site-packages/vdsm/common/function.py", line 92, in wrapper return func(inst, *args, **kwargs) File "/usr/lib64/python2.7/site-packages/libvirt.py", line 2772, in updateDeviceFlags if ret == -1: raise libvirtError ('virDomainUpdateDeviceFlags() failed', dom=self) libvirtError: operation forbidden: changing device alias is not allowed
please attach both logs
Created attachment 1475752 [details] engine, vdsm, libvirt logs Sorry, thought I attached it yesterday, but bugzilla has a regression about attachments.
This bug report has Keywords: Regression or TestBlocker. Since no regressions or test blockers are allowed between releases, it is also being identified as a blocker for this release. Please resolve ASAP.
Looks like a regression in libvirt. The XML that VDSM passes to libvirt in order to change cd-rom never contained the device's alias [1]. An an evidence, following is the log of changing a device in my env (that succeeds): 2018-08-23 03:39:59,292-0400 INFO (jsonrpc/1) [virt.vm] (vmId='4d245198-a8b2-4562-b26d-2c0e5f95db60') changeBlockDev: using disk XML: <?xml version='1.0' encoding='utf-8'?> <disk device="cdrom" type="file"><source file="/rhev/datacenter/mnt/10.35.1.90:_srv_iso/d11a48a1-2fd6-45fb-9648-ac8c29ec8804/images/11111111-1111-1111-1111-111111111111/Fedora-Server-dvd-x86_64-24-1.2.iso" /><target bus="ide" dev="hdc" /></disk> In my env, libvirt 3.9.0 is installed (centos 7.5). So it may be a regression introduced in a later version of libvirt (I see that the bug happened with libvirt 4.5.0). Petr, is it possible for you to check with an earlier version of libvirt? [1] https://github.com/ovirt/vdsm/blob/v4.20.35/lib/vdsm/virt/vm.py#L5011-L5019
Yeah, it's libvirt regression (or feature), but I'm not sure how to move this bug to libvirt. When using libvirt-3.9.0-14.el7_5.6.x86_64 with the same scenario, there is no problem with changing a CD.
This is probably related to bug bug 1621910. The dependency is already set. If you need rhel-7.5.z, please set it in the bug 1621910. Michale, can you please confirm? Thanks.
Yes, this is the same bug.
need to require 7.6 libvirt
Verified on: libvirt-daemon-4.5.0-10.el7.x86_64 vdsm-4.20.40-1.el7ev.x86_64 ovirt-engine-4.2.7-0.1.el7ev.noarch Steps: 1. Create a VM and start it with Windows installation CD. 2. Change the CD during the installation. Results: The CD was changed without any error during the installation. The VM recognized the CD that was changed.
This bugzilla is included in oVirt 4.2.7 release, published on November 2nd 2018. Since the problem described in this bug report should be resolved in oVirt 4.2.7 release, it has been closed with a resolution of CURRENT RELEASE. If the solution does not work for you, please open a new bug report.