# 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:
