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