devstack/lib/cinder_backends/netapp_nfs

78 lines
2.1 KiB
Bash

#!/bin/bash
#
# lib/cinder_backends/netapp_nfs
# Configure the NetApp NFS driver
# Enable with:
#
# NFS:
# CINDER_ENABLED_BACKENDS+=,netapp_nfs:<volume-type-name>
# Dependencies:
#
# - ``functions`` file
# - ``cinder`` configurations
# ``CINDER_CONF``
# ``CINDER_CONF_DIR``
# ``CINDER_ENABLED_BACKENDS``
# configure_cinder_backend_netapp_nfs - configure NFS
# Save trace setting
MY_XTRACE=$(set +o | grep xtrace)
set +o xtrace
# Entry Points
# ------------
# configure_cinder_backend_netapp_nfs - Set config files, create data dirs, etc
function configure_cinder_backend_netapp_nfs {
# To use NetApp, set the following in local.conf:
# CINDER_ENABLED_BACKENDS+=,netapp_nfs:<volume-type-name>
# NETAPP_MODE=ontap_7mode|ontap_cluster
# NETAPP_IP=<mgmt-ip>
# NETAPP_LOGIN=<admin-account>
# NETAPP_PASSWORD=<admin-password>
# NETAPP_NFS_VOLUME_LIST=<export-volumes>
# In ontap_cluster mode, the following also needs to be defined:
# NETAPP_NFS_VSERVER=<vserver-name>
local be_name=$1
iniset $CINDER_CONF $be_name volume_backend_name $be_name
iniset $CINDER_CONF $be_name volume_driver "cinder.volume.drivers.netapp.common.NetAppDriver"
iniset $CINDER_CONF $be_name netapp_storage_family ${NETAPP_MODE:-ontap_7mode}
iniset $CINDER_CONF $be_name netapp_server_hostname $NETAPP_IP
iniset $CINDER_CONF $be_name netapp_login $NETAPP_LOGIN
iniset $CINDER_CONF $be_name netapp_password $NETAPP_PASSWORD
iniset $CINDER_CONF $be_name netapp_storage_protocol nfs
iniset $CINDER_CONF $be_name netapp_transport_type https
iniset $CINDER_CONF $be_name nfs_shares_config $CINDER_CONF_DIR/netapp_shares.conf
echo "$NETAPP_NFS_VOLUME_LIST" | tee "$CINDER_CONF_DIR/netapp_shares.conf"
if [[ "$NETAPP_MODE" == "ontap_cluster" ]]; then
iniset $CINDER_CONF $be_name netapp_vserver $NETAPP_NFS_VSERVER
fi
}
function cleanup_cinder_backend_netapp_nfs {
# Clean up remaining NFS mounts
# Be blunt and do them all
local m
for m in $CINDER_STATE_PATH/mnt/*; do
sudo umount $m
done
}
# Restore xtrace
$MY_XTRACE
# Local variables:
# mode: shell-script
# End: