Add NetApp Cinder backend support
Supports both iSCSI and NFS, and now both 7mode and cluster mode
Change-Id: If590a7a255268fcce4770c94956607251c36fdf5
diff --git a/lib/cinder_backends/netapp_iscsi b/lib/cinder_backends/netapp_iscsi
new file mode 100644
index 0000000..7a67da7
--- /dev/null
+++ b/lib/cinder_backends/netapp_iscsi
@@ -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: