#!/bin/bash
#
# lib/cinder_backends/solidfire
# Configure the solidfire driver

# Enable with:
#
#   CINDER_ENABLED_BACKENDS+=,solidfire:<volume-type-name>

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

# CINDER_CONF

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

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


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

# configure_cinder_backend_solidfire - Set config files, create data dirs, etc
function configure_cinder_backend_solidfire {
    # To use SolidFire, set the following in local.conf:
    # CINDER_ENABLED_BACKENDS+=,solidfire:<volume-type-name>
    # SAN_IP=<mvip>
    # SAN_LOGIN=<cluster-admin-account>
    # SAN_PASSWORD=<cluster-admin-password>

    local be_name=$1
    iniset $CINDER_CONF $be_name volume_backend_name $be_name
    iniset $CINDER_CONF $be_name volume_driver "cinder.volume.drivers.solidfire.SolidFireDriver"
    iniset $CINDER_CONF $be_name san_ip $SAN_IP
    iniset $CINDER_CONF $be_name san_login $SAN_LOGIN
    iniset $CINDER_CONF $be_name san_password $SAN_PASSWORD
}


# Restore xtrace
$MY_XTRACE

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