Hello,
I'm trying to using virsh update-device to update the CDROM from type='file'
to ceph rbd iso with type='network'.
But I always get
error: Failed to update device from disk
error: internal error: unable to execute QEMU command 'change': error
connecting: Operation not supported
I'm using libvirt-libs-3.10.0-1.el7.x86_64 with centos7.4
my original cdrom xml:
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<target dev='hdc' bus='ide' tray='open'/>
<readonly/>
<alias name='ide0-1-0'/>
<address type='drive' controller='0' bus='1'
target='0' unit='0'/>
</disk>
my rbd cdrom xml:
<disk device="cdrom" type="network">
<driver name='qemu' type='raw'/>
<auth username="zstack">
<secret type="ceph"
uuid="efd3eb93-014f-4a0f-ba1f-84d7e70c9a89"/>
</auth>
<source
name="ssd/4922ebebd7b52f11bf13b3a482b6ab7e@4922ebebd7b52f11bf13b3a482b6ab7e"
protocol="rbd">
<host name="192.168.250.35" port="6789"/>
</source>
<target bus="ide" dev="hdc"/>
<readonly/>
</disk>
From the libvirtd.log, I got
Send command
'{"execute":"change","arguments":{"device":"drive-ide0-1-0","target":"rbd:ss
d/4922ebebd7b52f11bf13b3a482b6ab7e@4922ebebd7b52f11bf13b3a482b6ab7e:auth_sup
ported=none:mon_host=192.168.250.35\\:6789","arg":"raw"},"id":"libvirt-286"}
'
which seems it pass the auth_support=none to the qemu, while I'm using an
authentication ceph, it should use auth_support=cephx instead.
I also tried to boot the VM with rbd iso and then update-device to another
rbd iso, but got no luck with the same error.
I have succeeded to update-device with libvirt-1.3.3,
I noticed that it depends on the orig_disk->privData->secinfo, and in my
environment it will be null which leads to the auth_support=none.
So I'm wondering if this is a bug or I did something wrong with my
configuration. Thanks in advance,
Best Regards,
Chao