Hi Guys,

I have hit an issue on testing against our testbed, It's failed to eject cdrom media after reboot from installed the guest OS.

The reproduce step:

  1.  Attach a block device with a ISO media and start install VM from ISO.
  2.  <disk type='block' device='cdrom'>
          <driver name='qemu' type='raw'/>
          <source dev='/dev/disk/by-id/pbdx-vol-cfe60dca-c271-491b-be3c-11fa8d7625a4' index='6'/>
          <backingStore/>
          <target dev='hda' bus='ide' tray='open'/>
          <readonly/>
          <alias name='ide0-0-0'/>
          <address type='drive' controller='0' bus='0' target='0' unit='0'/>
        </disk>
  3. After installed the OS and reboot from system disk successful.
  4. Then I want to eject CDROM through update device with the xml like below or using virsh tool 'virsh change-media iso_test hda --eject'
  5. All those will failed at "internal error: unable to execute QEMU command 'blockdev-remove-medium': Tray of device 'ide0-0-0' is not open"
<disk type='block' device='cdrom'>
   <driver name='qemu' type='raw'/>
      <backingStore/>
      <target dev='hda' bus='ide' tray='open'/>
      <readonly/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>

block info looks like below:
virsh qemu-monitor-command iso_test --hmp info block
setlocale: No such file or directory
libvirt-6-format: /dev/disk/by-id/pbdx-vol-cfe60dca-c271-491b-be3c-11fa8d7625a4 (raw, read-only)
    Attached to:      ide0-0-0
    Removable device: locked, tray closed
    Cache mode:       writeback

Reproduce envrionment:
     Operating system: rhat8.4
     Architecture:x86
     kernel version:4.18.0-305
     libvirt version:v7.9.0(private build)
     Hypervisor and version:QEMU 5.1.0(private build)

  Is there any workaround?  Any comments are appreciated.
 

  Thanks!