From eae7c9979adb7bc6b3150fba02cc696187cbe69d Mon Sep 17 00:00:00 2001 From: Thang Pham Date: Sun, 27 Jul 2014 00:06:52 -0400 Subject: [PATCH] Support GlusterFS cinder backend Commit 0971833 added support for multiple cinder backend types. It initially only contains lvm and nfs. The following patch adds glusterfs to the backends supported. Change-Id: I9d5c1dfd4e0d05fcbfe3c35172150c57aa4e6eb2 --- lib/cinder_backends/glusterfs | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 lib/cinder_backends/glusterfs diff --git a/lib/cinder_backends/glusterfs b/lib/cinder_backends/glusterfs new file mode 100644 index 0000000000..dd772a84de --- /dev/null +++ b/lib/cinder_backends/glusterfs @@ -0,0 +1,46 @@ +# lib/cinder_backends/glusterfs +# Configure the glusterfs backend + +# Enable with: +# +# CINDER_ENABLED_BACKENDS+=,glusterfs: + +# Dependencies: +# +# - ``functions`` file +# - ``cinder`` configurations + +# CINDER_CONF +# CINDER_CONF_DIR +# CINDER_GLUSTERFS_SHARES - Contents of glusterfs shares config file + +# configure_cinder_backend_glusterfs - Configure Cinder for GlusterFS backends + +# Save trace setting +GLUSTERFS_XTRACE=$(set +o | grep xtrace) +set +o xtrace + + +# Entry Points +# ------------ + +# configure_cinder_backend_glusterfs - Set config files, create data dirs, etc +function configure_cinder_backend_glusterfs { + local be_name=$1 + iniset $CINDER_CONF $be_name volume_backend_name $be_name + iniset $CINDER_CONF $be_name volume_driver "cinder.volume.drivers.glusterfs.GlusterfsDriver" + iniset $CINDER_CONF $be_name glusterfs_shares_config "$CINDER_CONF_DIR/glusterfs-shares-$be_name.conf" + + if [[ -n "$CINDER_GLUSTERFS_SHARES" ]]; then + CINDER_GLUSTERFS_SHARES=$(echo $CINDER_GLUSTERFS_SHARES | tr ";" "\n") + echo "$CINDER_GLUSTERFS_SHARES" | tee "$CINDER_CONF_DIR/glusterfs-shares-$be_name.conf" + fi +} + + +# Restore xtrace +$GLUSTERFS_XTRACE + +# Local variables: +# mode: shell-script +# End: