Add the ability to activate Nova ceph without Cinder

Prior to this patch, if we wanted to boot a VM in Ceph using
libvirt_image_type we must had Cinder enabled. This patch allows you to
use libvirt_image_type without having Cinder enabled.

Change-Id: Ia61e6effc5a4ccba69f4fa48f6e9984f15bb8979
Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
This commit is contained in:
Sébastien Han 2014-10-06 00:15:33 +02:00
parent 552459cbcc
commit fa16ae92cd
2 changed files with 8 additions and 2 deletions

View File

@ -26,8 +26,9 @@ if is_service_enabled ceph; then
if is_service_enabled cinder; then if is_service_enabled cinder; then
echo_summary "Configuring Cinder for Ceph" echo_summary "Configuring Cinder for Ceph"
configure_ceph_cinder configure_ceph_cinder
# NOTE (leseb): the part below is a requirement from Cinder in order to attach volumes fi
# so we should run the following within the if statement. if is_service_enabled cinder || is_service_enabled nova; then
# NOTE (leseb): the part below is a requirement to attach Ceph block devices
echo_summary "Configuring libvirt secret" echo_summary "Configuring libvirt secret"
import_libvirt_secret_ceph import_libvirt_secret_ceph
fi fi

View File

@ -221,6 +221,11 @@ function configure_ceph_nova {
iniset $NOVA_CONF libvirt images_type rbd iniset $NOVA_CONF libvirt images_type rbd
iniset $NOVA_CONF libvirt images_rbd_pool ${NOVA_CEPH_POOL} iniset $NOVA_CONF libvirt images_rbd_pool ${NOVA_CEPH_POOL}
iniset $NOVA_CONF libvirt images_rbd_ceph_conf ${CEPH_CONF_FILE} iniset $NOVA_CONF libvirt images_rbd_ceph_conf ${CEPH_CONF_FILE}
if ! is_service_enabled cinder; then
sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create client.${CINDER_CEPH_USER} mon "allow r" osd "allow class-read object_prefix rbd_children, allow rwx pool=${CINDER_CEPH_POOL}, allow rwx pool=${NOVA_CEPH_POOL},allow rx pool=${GLANCE_CEPH_POOL}" | sudo tee ${CEPH_CONF_DIR}/ceph.client.${CINDER_CEPH_USER}.keyring > /dev/null
sudo chown ${STACK_USER}:$(id -g -n $whoami) ${CEPH_CONF_DIR}/ceph.client.${CINDER_CEPH_USER}.keyring
fi
} }
# configure_ceph_cinder() - Cinder config needs to come after Cinder is set up # configure_ceph_cinder() - Cinder config needs to come after Cinder is set up