I have used Ceph/RBD images for libvirt manage KVM virtual machines before. I did this by including the Monitor addresses and Ceph authentication details directly in the <disk> section of the Domain's XML.

I'm trying to add Ceph support to the Kimchi project. They use pools for disk storage. So I attempted to add support for adding pools to Kimchi, and that seems to have worked. The resulting pool definition is such:

<pool type='rbd'>
  <name>cephpooltest3</name>
  <uuid>ed08f580-f841-48cb-ba05-747aef3cee12</uuid>
  <capacity unit='bytes'>144881172480</capacity>
  <allocation unit='bytes'>114</allocation>
  <available unit='bytes'>139953623040</available>
  <source>
    <host name='192.168.122.254'/>
    <host name='192.168.122.253'/>
    <host name='192.168.122.252'/>
    <name>prod-virt-pool</name>
    <auth type='ceph' username='libvirt'>
      <secret usage='cephpooltest3'/>
    </auth>
  </source>
</pool>


But the thing I can't seem to figure out is what XML should I be using under a VM/Domain to have a disk that is stored on that pool? Is this even possible right now? I found https://www.redhat.com/archives/libvirt-users/2015-March/msg00123.html which seems to indicate that this was not possible as of about a year ago. If that is still the case, is there any usefulness to being able to define an RBD pool? What needs to be done before the patches mentioned could be applied?