Merge "Init default lvm volume group only if required"

This commit is contained in:
Jenkins 2015-01-29 22:55:50 +00:00 committed by Gerrit Code Review
commit d84d93d8ae
4 changed files with 27 additions and 4 deletions

View File

@ -393,6 +393,10 @@ function init_cinder {
fi
if type init_cinder_backend_${be_type} >/dev/null 2>&1; then
# Always init the default volume group for lvm.
if [[ "$be_type" == "lvm" ]]; then
init_default_lvm_volume_group
fi
init_cinder_backend_${be_type} ${be_name}
fi
done

19
lib/lvm
View File

@ -117,6 +117,25 @@ function init_lvm_volume_group {
_clean_lvm_volume_group $vg
}
# Sentinal value to ensure that init of default lvm volume group is
# only performed once across calls of init_default_lvm_volume_group.
_DEFAULT_LVM_INIT=${_DEFAULT_LVM_INIT:-0}
# init_default_lvm_volume_group() initializes a default volume group
# intended to be shared between cinder and nova. It is idempotent;
# the init of the default volume group is guaranteed to be performed
# only once so that either or both of the dependent services can
# safely call this function.
#
# Usage: init_default_lvm_volume_group()
function init_default_lvm_volume_group {
if [[ "$_DEFAULT_LVM_INIT" = "0" ]]; then
init_lvm_volume_group $DEFAULT_VOLUME_GROUP_NAME $VOLUME_BACKING_FILE_SIZE
_DEFAULT_LVM_INIT=1
fi
}
# Restore xtrace
$MY_XTRACE

View File

@ -640,6 +640,10 @@ function init_nova {
create_nova_cache_dir
create_nova_keys_dir
if [[ "$NOVA_BACKEND" == "LVM" ]]; then
init_default_lvm_volume_group
fi
}
# install_novaclient() - Collect source and prepare

View File

@ -918,10 +918,6 @@ init_service_check
# A better kind of sysstat, with the top process per time slice
start_dstat
# Initialize default LVM volume group
# -----------------------------------
init_lvm_volume_group $DEFAULT_VOLUME_GROUP_NAME $VOLUME_BACKING_FILE_SIZE
# Start Services
# ==============