#!/bin/bash
#
# lib/cinder_plugins/glusterfs
# Configure the glusterfs driver

# Enable with:
#
#   CINDER_DRIVER=glusterfs

# Dependencies:
#
# - ``functions`` file
# - ``cinder`` configurations

# configure_cinder_driver - make configuration changes, including those to other services

# Save trace setting
_XTRACE_CINDER_GLUSTERFS=$(set +o | grep xtrace)
set +o xtrace


# Defaults
# --------

# Set up default directories


# Entry Points
# ------------

# configure_cinder_driver - Set config files, create data dirs, etc
function configure_cinder_driver {
    # To use glusterfs, set the following in localrc:
    # CINDER_DRIVER=glusterfs
    # CINDER_GLUSTERFS_SHARES="127.0.0.1:/vol1;127.0.0.1:/vol2"
    # Shares are <host>:<volume> and separated by semicolons.

    iniset $CINDER_CONF DEFAULT volume_driver "cinder.volume.drivers.glusterfs.GlusterfsDriver"
    iniset $CINDER_CONF DEFAULT glusterfs_shares_config "$CINDER_CONF_DIR/glusterfs_shares"
    touch $CINDER_CONF_DIR/glusterfs_shares
    if [ ! -z "$CINDER_GLUSTERFS_SHARES" ]; then
        CINDER_GLUSTERFS_SHARES=$(echo $CINDER_GLUSTERFS_SHARES | tr ";" "\n")
        echo "$CINDER_GLUSTERFS_SHARES" > $CINDER_CONF_DIR/glusterfs_shares
    fi
}

# Restore xtrace
$_XTRACE_CINDER_GLUSTERFS

# Local variables:
# mode: shell-script
# End: