On 09/18/2012 06:51 AM, Andrey Korolyov wrote:
Hello,
Current version adding 'auth_supported=none' at the end of disk path
and failing to do an authentication with specified cephx key:
<source protocol='rbd'
name='rbd/vmxxxxxxxxx:id=qemukvm:key=[cut]==:auth_supported=cephx'>
<host name='10.0.0.13' port='6789'/>
<host name='10.0.0.10' port='6789'/>
<host name='10.0.0.17' port='6789'/>
</source>
If you use the libvirt secret explicitly instead of passing it through
the name like that, libvirt >= 0.10 will set auth_supported=cephx if
you specify the secret, and auth_supported=none if you don't specify the
secret. For example:
secret.xml:
<secret ephemeral='no' private='no'>
<usage type='ceph'>
<name>client.qemukvm secret</name>
</usage>
</secret>
$ virsh secret-define --file secret.xml
Secret 83a0e970-a18b-5490-6fce-642f9052f832 created
$ virsh secret-set-value --secret 83a0e970-a18b-5490-6fce-642f9052f832
--base64 [key for client.qemukvm]
Then use xml with an auth element referencing that secret:
<disk type='network'>
<driver name="qemu" type="raw"/>
<source protocol='rbd' name='rbd/vmxxxxxxxxx'>
<host name='10.0.0.13' port='6789'/>
<host name='10.0.0.10' port='6789'/>
<host name='10.0.0.17' port='6789'/>
</source>
<target dev="vda" bus="virtio"/>
<auth username='qemukvm'>
<secret type='ceph'
uuid='83a0e970-a18b-5490-6fce-642f9052f832'/>
</auth>
</disk>
This secret key handling for ceph was added in libvirt 0.9.7.
Josh
results to:
0.10.1
-drive
file=rbd:rbd/vmxxxxxxxxx-YSG:id=qemukvm:key=[cut]:auth_supported=cephx:auth_supported=none:mon_host=10.0.0.13\:6789\;10.0.0.10\:6789\;10.0.0.17\:6789,if=none,id=drive-virtio-disk0,format=raw,bps_rd=80000000,bps_wr=40000000,iops_rd=400,iops_wr=200
0.9.13
-drive
file=rbd:rbd/vmxxxxxxxxx-YSG:id=qemukvm:key=[cut]:auth_supported=cephx:mon_host=10.0.0.13\:6789\;10.0.0.10\:6789\;10.0.0.17\:6789,if=none,id=drive-virtio-disk0,format=raw,bps_rd=80000000,bps_wr=40000000,iops_rd=400,iops_wr=200
In ceph-devel I have mentioned incorrectly that both strings are the
same due to incorrect grep statement, so all that needs to be fixed is
an wrong parameter at the end.
Thanks!