If you want to use CentOS 7.1 for your hypervisors with Apache CloudStack and Ceph’s RBD as Primary Storage you need to rebuild libvirt.
CloudStack requires libvirt to be built with RBD storage pool support. It uses libvirt to manage RBD volumes. By default libvirt under CentOS is not built with this support. (On Ubuntu it is btw).
Rebuilding from source
First we need to install a couple of packages:
$ yum install -y rpm-build gcc make ceph-devel
Now we need to download the sRPM:
$ wget http://vault.centos.org/centos/7.1.1503/os/Source/SPackages/libvirt-1.2.8-16.el7.src.rpm
Create a rpmbuild directory:
$ mkdir /root/rpmbuild
Now edit /root/.rpmmacros so that it contains:
Install the sRPM:
$ rpm -i libvirt-1.2.8-16.el7.src.rpm
Open the /root/rpmbuild/SPECS/libvirt.spec file and look for:
%else %define with_storage_rbd 0 %endif
Change this to:
%else %define with_storage_rbd 1 %endif
Now build the RPM:
$ cd /root/rpmbuild $ rpmbuild -ba SPECS/libvirt.spec
After a couple of minutes you should have RPMs with RBD storage pool support enabled!