devstack/lib/cinder_backends/lvm
Eric Harney 8c86e5a53e Cinder: only set volume_clear for LVM
This only applies to the LVM driver (when using
thick provisioning), and doesn't have any effect on
other backends like NFS, so only write the conf entry
for LVM.

Change-Id: I722ba2fa0010d9887ed9b7fdd9e050cd4694768e
2019-10-17 15:48:08 -04:00

72 lines
1.9 KiB
Bash

#!/bin/bash
#
# lib/cinder_backends/lvm
# Configure the LVM backend
# Enable with:
#
# CINDER_ENABLED_BACKENDS+=,lvm: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.volume.drivers.lvm.LVMVolumeDriver"
iniset $CINDER_CONF $be_name volume_group $VOLUME_GROUP_NAME-$be_name
iniset $CINDER_CONF $be_name target_helper "$CINDER_ISCSI_HELPER"
iniset $CINDER_CONF $be_name lvm_type "$CINDER_LVM_TYPE"
iniset $CINDER_CONF $be_name volume_clear "$CINDER_VOLUME_CLEAR"
}
# 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: