Browse code

Merge "Replace custom cinder driver configs"

Jenkins authored on 2014/02/13 07:38:53
Showing 7 changed files
... ...
@@ -27,6 +27,12 @@ set +o xtrace
27 27
 
28 28
 # set up default driver
29 29
 CINDER_DRIVER=${CINDER_DRIVER:-default}
30
+CINDER_PLUGINS=$TOP_DIR/lib/cinder_plugins
31
+
32
+# grab plugin config if specified via cinder_driver
33
+if [[ -r $CINDER_PLUGINS/$CINDER_DRIVER ]]; then
34
+    source $CINDER_PLUGINS/$CINDER_DRIVER
35
+fi
30 36
 
31 37
 # set up default directories
32 38
 CINDER_DIR=$DEST/cinder
... ...
@@ -308,42 +314,8 @@ function configure_cinder() {
308 308
         setup_colorized_logging $CINDER_CONF DEFAULT "project_id" "user_id"
309 309
     fi
310 310
 
311
-    if [ "$CINDER_DRIVER" == "XenAPINFS" ]; then
312
-        (
313
-            set -u
314
-            iniset $CINDER_CONF DEFAULT volume_driver "cinder.volume.drivers.xenapi.sm.XenAPINFSDriver"
315
-            iniset $CINDER_CONF DEFAULT xenapi_connection_url "$CINDER_XENAPI_CONNECTION_URL"
316
-            iniset $CINDER_CONF DEFAULT xenapi_connection_username "$CINDER_XENAPI_CONNECTION_USERNAME"
317
-            iniset $CINDER_CONF DEFAULT xenapi_connection_password "$CINDER_XENAPI_CONNECTION_PASSWORD"
318
-            iniset $CINDER_CONF DEFAULT xenapi_nfs_server "$CINDER_XENAPI_NFS_SERVER"
319
-            iniset $CINDER_CONF DEFAULT xenapi_nfs_serverpath "$CINDER_XENAPI_NFS_SERVERPATH"
320
-        )
321
-    elif [ "$CINDER_DRIVER" == "nfs" ]; then
322
-        iniset $CINDER_CONF DEFAULT volume_driver "cinder.volume.drivers.nfs.NfsDriver"
323
-        iniset $CINDER_CONF DEFAULT nfs_shares_config "$CINDER_CONF_DIR/nfs_shares.conf"
324
-        echo "$CINDER_NFS_SERVERPATH" | sudo tee "$CINDER_CONF_DIR/nfs_shares.conf"
325
-        sudo chmod 666 $CINDER_CONF_DIR/nfs_shares.conf
326
-    elif [ "$CINDER_DRIVER" == "sheepdog" ]; then
327
-        iniset $CINDER_CONF DEFAULT volume_driver "cinder.volume.drivers.sheepdog.SheepdogDriver"
328
-    elif [ "$CINDER_DRIVER" == "glusterfs" ]; then
329
-        # To use glusterfs, set the following in localrc:
330
-        # CINDER_DRIVER=glusterfs
331
-        # CINDER_GLUSTERFS_SHARES="127.0.0.1:/vol1;127.0.0.1:/vol2"
332
-        # Shares are <host>:<volume> and separated by semicolons.
333
-
334
-        iniset $CINDER_CONF DEFAULT volume_driver "cinder.volume.drivers.glusterfs.GlusterfsDriver"
335
-        iniset $CINDER_CONF DEFAULT glusterfs_shares_config "$CINDER_CONF_DIR/glusterfs_shares"
336
-        touch $CINDER_CONF_DIR/glusterfs_shares
337
-        if [ ! -z "$CINDER_GLUSTERFS_SHARES" ]; then
338
-            CINDER_GLUSTERFS_SHARES=$(echo $CINDER_GLUSTERFS_SHARES | tr ";" "\n")
339
-            echo "$CINDER_GLUSTERFS_SHARES" > $CINDER_CONF_DIR/glusterfs_shares
340
-        fi
341
-    elif [ "$CINDER_DRIVER" == "vsphere" ]; then
342
-        echo_summary "Using VMware vCenter driver"
343
-        iniset $CINDER_CONF DEFAULT vmware_host_ip "$VMWAREAPI_IP"
344
-        iniset $CINDER_CONF DEFAULT vmware_host_username "$VMWAREAPI_USER"
345
-        iniset $CINDER_CONF DEFAULT vmware_host_password "$VMWAREAPI_PASSWORD"
346
-        iniset $CINDER_CONF DEFAULT volume_driver "cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver"
311
+    if [[ -r $CINDER_PLUGINS/$CINDER_DRIVER ]]; then
312
+        configure_cinder_driver
347 313
     fi
348 314
 
349 315
     if [[ is_fedora && $DISTRO =~ (rhel6) ]]; then
350 316
new file mode 100644
... ...
@@ -0,0 +1,44 @@
0
+# lib/cinder_plugins/XenAPINFS
1
+# Configure the XenAPINFS driver
2
+
3
+# Enable with:
4
+#
5
+#   CINDER_DRIVER=XenAPINFS
6
+
7
+# Dependencies:
8
+#
9
+# - ``functions`` file
10
+# - ``cinder`` configurations
11
+
12
+# configure_cinder_driver - make configuration changes, including those to other services
13
+
14
+# Save trace setting
15
+MY_XTRACE=$(set +o | grep xtrace)
16
+set +o xtrace
17
+
18
+
19
+# Defaults
20
+# --------
21
+
22
+# Set up default directories
23
+
24
+
25
+# Entry Points
26
+# ------------
27
+
28
+# configure_cinder_driver - Set config files, create data dirs, etc
29
+function configure_cinder_driver() {
30
+    iniset $CINDER_CONF DEFAULT volume_driver "cinder.volume.drivers.xenapi.sm.XenAPINFSDriver"
31
+    iniset $CINDER_CONF DEFAULT xenapi_connection_url "$CINDER_XENAPI_CONNECTION_URL"
32
+    iniset $CINDER_CONF DEFAULT xenapi_connection_username "$CINDER_XENAPI_CONNECTION_USERNAME"
33
+    iniset $CINDER_CONF DEFAULT xenapi_connection_password "$CINDER_XENAPI_CONNECTION_PASSWORD"
34
+    iniset $CINDER_CONF DEFAULT xenapi_nfs_server "$CINDER_XENAPI_NFS_SERVER"
35
+    iniset $CINDER_CONF DEFAULT xenapi_nfs_serverpath "$CINDER_XENAPI_NFS_SERVERPATH"
36
+}
37
+
38
+# Restore xtrace
39
+$MY_XTRACE
40
+
41
+# Local variables:
42
+# mode: shell-script
43
+# End:
0 44
new file mode 100644
... ...
@@ -0,0 +1,50 @@
0
+# lib/cinder_plugins/glusterfs
1
+# Configure the glusterfs driver
2
+
3
+# Enable with:
4
+#
5
+#   CINDER_DRIVER=glusterfs
6
+
7
+# Dependencies:
8
+#
9
+# - ``functions`` file
10
+# - ``cinder`` configurations
11
+
12
+# configure_cinder_driver - make configuration changes, including those to other services
13
+
14
+# Save trace setting
15
+MY_XTRACE=$(set +o | grep xtrace)
16
+set +o xtrace
17
+
18
+
19
+# Defaults
20
+# --------
21
+
22
+# Set up default directories
23
+
24
+
25
+# Entry Points
26
+# ------------
27
+
28
+# configure_cinder_driver - Set config files, create data dirs, etc
29
+function configure_cinder_driver() {
30
+    # To use glusterfs, set the following in localrc:
31
+    # CINDER_DRIVER=glusterfs
32
+    # CINDER_GLUSTERFS_SHARES="127.0.0.1:/vol1;127.0.0.1:/vol2"
33
+    # Shares are <host>:<volume> and separated by semicolons.
34
+
35
+    iniset $CINDER_CONF DEFAULT volume_driver "cinder.volume.drivers.glusterfs.GlusterfsDriver"
36
+    iniset $CINDER_CONF DEFAULT glusterfs_shares_config "$CINDER_CONF_DIR/glusterfs_shares"
37
+    touch $CINDER_CONF_DIR/glusterfs_shares
38
+    if [ ! -z "$CINDER_GLUSTERFS_SHARES" ]; then
39
+        CINDER_GLUSTERFS_SHARES=$(echo $CINDER_GLUSTERFS_SHARES | tr ";" "\n")
40
+        echo "$CINDER_GLUSTERFS_SHARES" > $CINDER_CONF_DIR/glusterfs_shares
41
+    fi
42
+}
43
+
44
+# Restore xtrace
45
+$MY_XTRACE
46
+
47
+# Local variables:
48
+# mode: shell-script
49
+# End:
0 50
new file mode 100644
... ...
@@ -0,0 +1,42 @@
0
+# lib/cinder_plugins/nfs
1
+# Configure the nfs driver
2
+
3
+# Enable with:
4
+#
5
+#   CINDER_DRIVER=nfs
6
+
7
+# Dependencies:
8
+#
9
+# - ``functions`` file
10
+# - ``cinder`` configurations
11
+
12
+# configure_cinder_driver - make configuration changes, including those to other services
13
+
14
+# Save trace setting
15
+MY_XTRACE=$(set +o | grep xtrace)
16
+set +o xtrace
17
+
18
+
19
+# Defaults
20
+# --------
21
+
22
+# Set up default directories
23
+
24
+
25
+# Entry Points
26
+# ------------
27
+
28
+# configure_cinder_driver - Set config files, create data dirs, etc
29
+function configure_cinder_driver() {
30
+    iniset $CINDER_CONF DEFAULT volume_driver "cinder.volume.drivers.nfs.NfsDriver"
31
+    iniset $CINDER_CONF DEFAULT nfs_shares_config "$CINDER_CONF_DIR/nfs_shares.conf"
32
+    echo "$CINDER_NFS_SERVERPATH" | sudo tee "$CINDER_CONF_DIR/nfs_shares.conf"
33
+    sudo chmod 660 $CINDER_CONF_DIR/nfs_shares.conf
34
+}
35
+
36
+# Restore xtrace
37
+$MY_XTRACE
38
+
39
+# Local variables:
40
+# mode: shell-script
41
+# End:
0 42
new file mode 100644
... ...
@@ -0,0 +1,39 @@
0
+# lib/cinder_plugins/sheepdog
1
+# Configure the sheepdog driver
2
+
3
+# Enable with:
4
+#
5
+#   CINDER_DRIVER=sheepdog
6
+
7
+# Dependencies:
8
+#
9
+# - ``functions`` file
10
+# - ``cinder`` configurations
11
+
12
+# configure_cinder_driver - make configuration changes, including those to other services
13
+
14
+# Save trace setting
15
+MY_XTRACE=$(set +o | grep xtrace)
16
+set +o xtrace
17
+
18
+
19
+# Defaults
20
+# --------
21
+
22
+# Set up default directories
23
+
24
+
25
+# Entry Points
26
+# ------------
27
+
28
+# configure_cinder_driver - Set config files, create data dirs, etc
29
+function configure_cinder_driver() {
30
+    iniset $CINDER_CONF DEFAULT volume_driver "cinder.volume.drivers.sheepdog.SheepdogDriver"
31
+}
32
+
33
+# Restore xtrace
34
+$MY_XTRACE
35
+
36
+# Local variables:
37
+# mode: shell-script
38
+# End:
0 39
new file mode 100644
... ...
@@ -0,0 +1,48 @@
0
+# lib/cinder_plugins/solidfire
1
+# Configure the solidfire driver
2
+
3
+# Enable with:
4
+#
5
+#   CINDER_DRIVER=solidfire
6
+
7
+# Dependencies:
8
+#
9
+# - ``functions`` file
10
+# - ``cinder`` configurations
11
+
12
+# configure_cinder_driver - make configuration changes, including those to other services
13
+
14
+# Save trace setting
15
+MY_XTRACE=$(set +o | grep xtrace)
16
+set +o xtrace
17
+
18
+
19
+# Defaults
20
+# --------
21
+
22
+# Set up default directories
23
+
24
+
25
+# Entry Points
26
+# ------------
27
+
28
+# configure_cinder_driver - Set config files, create data dirs, etc
29
+function configure_cinder_driver() {
30
+    # To use solidfire, set the following in localrc:
31
+    # CINDER_DRIVER=solidfire
32
+    # SAN_IP=<mvip>
33
+    # SAN_LOGIN=<cluster-admin-account>
34
+    # SAN_PASSWORD=<cluster-admin-password>
35
+
36
+    iniset $CINDER_CONF DEFAULT volume_driver "cinder.volume.drivers.solidfire.SolidFireDriver"
37
+    iniset $CINDER_CONF DEFAULT san_ip $SAN_IP
38
+    iniset $CINDER_CONF DEFAULT san_login $SAN_LOGIN
39
+    iniset $CINDER_CONF DEFAULT san_password $SAN_PASSWORD
40
+}
41
+
42
+# Restore xtrace
43
+$MY_XTRACE
44
+
45
+# Local variables:
46
+# mode: shell-script
47
+# End:
0 48
new file mode 100644
... ...
@@ -0,0 +1,42 @@
0
+# lib/cinder_plugins/vsphere
1
+# Configure the vsphere driver
2
+
3
+# Enable with:
4
+#
5
+#   CINDER_DRIVER=vsphere
6
+
7
+# Dependencies:
8
+#
9
+# - ``functions`` file
10
+# - ``cinder`` configurations
11
+
12
+# configure_cinder_driver - make configuration changes, including those to other services
13
+
14
+# Save trace setting
15
+MY_XTRACE=$(set +o | grep xtrace)
16
+set +o xtrace
17
+
18
+
19
+# Defaults
20
+# --------
21
+
22
+# Set up default directories
23
+
24
+
25
+# Entry Points
26
+# ------------
27
+
28
+# configure_cinder_driver - Set config files, create data dirs, etc
29
+function configure_cinder_driver() {
30
+    iniset $CINDER_CONF DEFAULT vmware_host_ip "$VMWAREAPI_IP"
31
+    iniset $CINDER_CONF DEFAULT vmware_host_username "$VMWAREAPI_USER"
32
+    iniset $CINDER_CONF DEFAULT vmware_host_password "$VMWAREAPI_PASSWORD"
33
+    iniset $CINDER_CONF DEFAULT volume_driver "cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver"
34
+}
35
+
36
+# Restore xtrace
37
+$MY_XTRACE
38
+
39
+# Local variables:
40
+# mode: shell-script
41
+# End: