447f141d4f
FakeLoggingVolumeDriver will be used for functional Cinder tests to prevent dependencies on any storage. FakeGateDriver is based on LVM and will be used to run Tempest tests for such features like CG's, replication, etc. Depends-On: I383bcdb531c7d52c0fdbb6875de73f1274a92854 Change-Id: I2dc8ea416f5eb3fcc9d2e959533497e464220ff5
75 lines
1.9 KiB
Bash
75 lines
1.9 KiB
Bash
#!/bin/bash
|
|
#
|
|
# lib/cinder_backends/lvm
|
|
# Configure the LVM backend
|
|
|
|
# Enable with:
|
|
#
|
|
# CINDER_ENABLED_BACKENDS+=,fake_gate:lvmname
|
|
|
|
# Dependencies:
|
|
#
|
|
# - ``functions`` file
|
|
# - ``cinder`` configurations
|
|
|
|
# CINDER_CONF
|
|
# DATA_DIR
|
|
# VOLUME_GROUP_NAME
|
|
|
|
# clean_cinder_backend_lvm - called from clean_cinder()
|
|
# configure_cinder_backend_lvm - called from configure_cinder()
|
|
# init_cinder_backend_lvm - called from init_cinder()
|
|
|
|
|
|
# Save trace setting
|
|
_XTRACE_CINDER_LVM=$(set +o | grep xtrace)
|
|
set +o xtrace
|
|
|
|
|
|
# TODO: resurrect backing device...need to know how to set values
|
|
#VOLUME_BACKING_DEVICE=${VOLUME_BACKING_DEVICE:-}
|
|
|
|
# Entry Points
|
|
# ------------
|
|
|
|
# cleanup_cinder_backend_lvm - Delete volume group and remove backing file
|
|
# cleanup_cinder_backend_lvm $be_name
|
|
function cleanup_cinder_backend_lvm {
|
|
local be_name=$1
|
|
|
|
# Campsite rule: leave behind a volume group at least as clean as we found it
|
|
clean_lvm_volume_group $VOLUME_GROUP_NAME-$be_name
|
|
clean_lvm_filter
|
|
}
|
|
|
|
# configure_cinder_backend_lvm - Set config files, create data dirs, etc
|
|
# configure_cinder_backend_lvm $be_name
|
|
function configure_cinder_backend_lvm {
|
|
local be_name=$1
|
|
|
|
iniset $CINDER_CONF $be_name volume_backend_name $be_name
|
|
iniset $CINDER_CONF $be_name volume_driver "cinder.tests.fake_driver.FakeGateDriver"
|
|
iniset $CINDER_CONF $be_name volume_group $VOLUME_GROUP_NAME-$be_name
|
|
iniset $CINDER_CONF $be_name iscsi_helper "$CINDER_ISCSI_HELPER"
|
|
iniset $CINDER_CONF $be_name lvm_type "$CINDER_LVM_TYPE"
|
|
|
|
if [[ "$CINDER_VOLUME_CLEAR" == "non" ]]; then
|
|
iniset $CINDER_CONF $be_name volume_clear none
|
|
fi
|
|
}
|
|
|
|
# init_cinder_backend_lvm - Initialize volume group
|
|
# init_cinder_backend_lvm $be_name
|
|
function init_cinder_backend_lvm {
|
|
local be_name=$1
|
|
|
|
# Start with a clean volume group
|
|
init_lvm_volume_group $VOLUME_GROUP_NAME-$be_name $VOLUME_BACKING_FILE_SIZE
|
|
}
|
|
|
|
# Restore xtrace
|
|
$_XTRACE_CINDER_LVM
|
|
|
|
# mode: shell-script
|
|
# End:
|