#!/bin/bash
#
# lib/cinder_backends/vmdk
# Configure the VMware vmdk backend

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

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

# configure_cinder_backend_vmdk - Configure Cinder for VMware vmdk backends

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


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

# configure_cinder_backend_vmdk - Set config files, create data dirs, etc
function configure_cinder_backend_vmdk {
    # To use VMware vmdk backend, set the following in local.conf:
    # CINDER_ENABLED_BACKENDS+=,vmdk:<volume-type-name>
    # VMWAREAPI_IP=<vcenter-ip>
    # VMWAREAPI_USER=<vcenter-admin-account>
    # VMWAREAPI_PASSWORD=<vcenter-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.vmware.vmdk.VMwareVcVmdkDriver"
    iniset $CINDER_CONF $be_name vmware_host_ip "$VMWAREAPI_IP"
    iniset $CINDER_CONF $be_name vmware_host_username "$VMWAREAPI_USER"
    iniset $CINDER_CONF $be_name vmware_host_password "$VMWAREAPI_PASSWORD"
}


# Restore xtrace
$VMDK_XTRACE

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