blob: d90b7f7d1957bea34435ce5eac6eea2798ec9653 [file] [log] [blame]
Dean Troyera08ba1c2014-06-12 18:45:42 -05001# lib/cinder_backends/netapp_nfs
2# Configure the NetApp NFS driver
3
4# Enable with:
5#
6# NFS:
7# CINDER_ENABLED_BACKENDS+=,netapp_nfs:<volume-type-name>
8
9# Dependencies:
10#
11# - ``functions`` file
12# - ``cinder`` configurations
13
14# ``CINDER_CONF``
15# ``CINDER_CONF_DIR``
16# ``CINDER_ENABLED_BACKENDS``
17
18# configure_cinder_backend_netapp_nfs - configure NFS
19
20# Save trace setting
21MY_XTRACE=$(set +o | grep xtrace)
22set +o xtrace
23
24
25# Entry Points
26# ------------
27
28# configure_cinder_backend_netapp_nfs - Set config files, create data dirs, etc
29function configure_cinder_backend_netapp_nfs {
30 # To use NetApp, set the following in local.conf:
31 # CINDER_ENABLED_BACKENDS+=,netapp_nfs:<volume-type-name>
32 # NETAPP_MODE=ontap_7mode|ontap_cluster
33 # NETAPP_IP=<mgmt-ip>
34 # NETAPP_LOGIN=<admin-account>
35 # NETAPP_PASSWORD=<admin-password>
36 # NETAPP_NFS_VOLUME_LIST=<export-volumes>
37
38 # In ontap_cluster mode, the following also needs to be defined:
39 # NETAPP_NFS_VSERVER=<vserver-name>
40
41 local be_name=$1
42 iniset $CINDER_CONF $be_name volume_backend_name $be_name
43 iniset $CINDER_CONF $be_name volume_driver "cinder.volume.drivers.netapp.common.NetAppDriver"
44 iniset $CINDER_CONF $be_name netapp_storage_family ${NETAPP_MODE:-ontap_7mode}
45 iniset $CINDER_CONF $be_name netapp_server_hostname $NETAPP_IP
46 iniset $CINDER_CONF $be_name netapp_login $NETAPP_LOGIN
47 iniset $CINDER_CONF $be_name netapp_password $NETAPP_PASSWORD
48
49 iniset $CINDER_CONF $be_name netapp_storage_protocol nfs
50 iniset $CINDER_CONF $be_name netapp_transport_type https
51 iniset $CINDER_CONF $be_name nfs_shares_config $CINDER_CONF_DIR/netapp_shares.conf
52
53 echo "$NETAPP_NFS_VOLUME_LIST" | tee "$CINDER_CONF_DIR/netapp_shares.conf"
54
55 if [[ "$NETAPP_MODE" == "ontap_cluster" ]]; then
56 iniset $CINDER_CONF $be_name netapp_vserver $NETAPP_NFS_VSERVER
57 fi
58}
59
60function cleanup_cinder_backend_netapp_nfs {
61 # Clean up remaining NFS mounts
62 # Be blunt and do them all
63 local m
64 for m in $CINDER_STATE_PATH/mnt/*; do
65 sudo umount $m
66 done
67}
68
69
70# Restore xtrace
71$MY_XTRACE
72
73# Local variables:
74# mode: shell-script
75# End: