Merge "Add NetApp Cinder backend support"
This commit is contained in:
commit
7fb5d296a2
64
lib/cinder_backends/netapp_iscsi
Normal file
64
lib/cinder_backends/netapp_iscsi
Normal file
@ -0,0 +1,64 @@
|
||||
# lib/cinder_backends/netapp_iscsi
|
||||
# Configure the NetApp iSCSI driver
|
||||
|
||||
# Enable with:
|
||||
#
|
||||
# iSCSI:
|
||||
# CINDER_ENABLED_BACKENDS+=,netapp_iscsi:<volume-type-name>
|
||||
|
||||
# Dependencies:
|
||||
#
|
||||
# - ``functions`` file
|
||||
# - ``cinder`` configurations
|
||||
|
||||
# ``CINDER_CONF``
|
||||
# ``CINDER_CONF_DIR``
|
||||
# ``CINDER_ENABLED_BACKENDS``
|
||||
|
||||
# configure_cinder_backend_netapp_iscsi - configure iSCSI
|
||||
|
||||
# Save trace setting
|
||||
MY_XTRACE=$(set +o | grep xtrace)
|
||||
set +o xtrace
|
||||
|
||||
|
||||
# Entry Points
|
||||
# ------------
|
||||
|
||||
# configure_cinder_backend_netapp_iscsi - Set config files, create data dirs, etc
|
||||
function configure_cinder_backend_netapp_iscsi {
|
||||
# To use NetApp, set the following in local.conf:
|
||||
# CINDER_ENABLED_BACKENDS+=,netapp_iscsi:<volume-type-name>
|
||||
# NETAPP_MODE=ontap_7mode|ontap_cluster
|
||||
# NETAPP_IP=<mgmt-ip>
|
||||
# NETAPP_LOGIN=<admin-account>
|
||||
# NETAPP_PASSWORD=<admin-password>
|
||||
# NETAPP_ISCSI_VOLUME_LIST=<volumes>
|
||||
|
||||
# In ontap_cluster mode, the following also needs to be defined:
|
||||
# NETAPP_ISCSI_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_volume_list $NETAPP_ISCSI_VOLUME_LIST
|
||||
|
||||
iniset $CINDER_CONF $be_name netapp_storage_protocol iscsi
|
||||
iniset $CINDER_CONF $be_name netapp_transport_type https
|
||||
|
||||
if [[ "$NETAPP_MODE" == "ontap_cluster" ]]; then
|
||||
iniset $CINDER_CONF $be_name netapp_vserver $NETAPP_ISCSI_VSERVER
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# Restore xtrace
|
||||
$MY_XTRACE
|
||||
|
||||
# Local variables:
|
||||
# mode: shell-script
|
||||
# End:
|
75
lib/cinder_backends/netapp_nfs
Normal file
75
lib/cinder_backends/netapp_nfs
Normal file
@ -0,0 +1,75 @@
|
||||
# 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:
|
Loading…
Reference in New Issue
Block a user