While playing with Ceph on Openstack I noticed that after several rebuild I ended up with the following error from nova-scheduler:
Secret not found: rbd no secret matches uuid '3092b632-4e9f-40ca-9430-bbf60cefae36'
Alter 2 hours for using google, i found that this error issued when libvirtd can’t get client access token to ceph. Let’s fix that problem.
- Checking token was stored in libvirtd
# virsh secret-list
UUID Usage
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
The result of previous command show us that there is no secret which was stored in libivirtd. We need create new one.
2. Define new secret
<secret ephemeral=’no’ private=’no’>
<uuid>5041bec2-ef54–4f36-a0a2-e4439a1ac509</uuid>
<usage type=’ceph’>
<name>client.cinder secret</name>
</usage>
</secret>
where uuid is the value was found in section [libvirt] and key rbd_secret_uuid in /etc/nova/nova.conf
3. Get access token to Ceph RBD
Token is the ceph client access token, we can reuse cinder’s token
# cat /etc/ceph/ceph.client.cinder.keyring
[client.cinder]
key = AQA7gwxd0ktGKBAAIrJfgdA/1pfafdfDKy/HJoBXA==
4. Setting value to libvirt secret
virsh secret-set-value — secret 5041bec2-ef54–4f36-a0a2-e4439a1ac509 AQA7gwxd0ktGKBAAIrJfgdA/1pfafdfDKy/HJoBXA==
5. Restart libvirtd and nova-compute
systemctl restart libvirtd.service openstack-nova-compute.service