Browse code

Merge "Add NetApp Cinder backend support"

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