shows that the reporters' libvirt +QEMU are capable of doing the right thing and using human-monitor-command. So assuming this virsh demo was done against the same libvirtd instance, I think the most likely explanation is that Nova and virsh are somehow generating different XML, which causes different libvirt behaviour. We need to find out what XML virsh attach-interface creates.
Hmm this log from comment #2
-05-09 15:38:14.311+0000: 22564: debug : virJSONValueToS tring:1071 : result= {"execute" :"human- monitor- command" ,"arguments" :{"command- line":" drive_add dummy file=/dev/ disk/by- path/ip- XXX.XXX. XXX.XXX: 3260-iscsi- iqn.2010- 10.org. openstack: volume- 0000002b- lun-1,if= none,id= drive-virtio- disk5,format= raw"}," id":"libvirt- 22"}
shows that the reporters' libvirt +QEMU are capable of doing the right thing and using human-monitor- command. So assuming this virsh demo was done against the same libvirtd instance, I think the most likely explanation is that Nova and virsh are somehow generating different XML, which causes different libvirt behaviour. We need to find out what XML virsh attach-interface creates.