summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHelen Walsh <helen.walsh@emc.com>2019-01-22 14:13:10 +0000
committerHelen Walsh <helen.walsh@emc.com>2019-02-26 15:54:03 +0000
commit971503c6a34a5778be02331bd059d464514822c0 (patch)
tree65fa40a5be31bd0ac839b830d21cbff5af855a39
parentcd3b97978cde95c7a76a5ab23eb646a623711c85 (diff)
Update devstack-plugin-vmax to reflect VMAX to PowerMax rebrandHEADsteinmaster
Update the devstack script to point to the correct PowerMax drivers and to leverage the new PowerMax tags in cinder.conf merged in https://review.openstack.org/#/c/620659. Will change the name of the git repo at a later date. Change-Id: I0139e1ffd04ac7eb33021cd276e5b27379da79d0
Notes
Notes (review): Code-Review+2: Helen Walsh <helen.walsh@emc.com> Code-Review+2: Michael McAleer <Michael.Mcaleer@dell.com> Workflow+1: Helen Walsh <helen.walsh@emc.com> Verified+2: Zuul Submitted-by: Zuul Submitted-at: Tue, 26 Feb 2019 16:10:09 +0000 Reviewed-on: https://review.openstack.org/632473 Project: openstack/devstack-plugin-vmax Branch: refs/heads/master
-rw-r--r--README.md32
-rw-r--r--devstack/plugin.sh52
2 files changed, 42 insertions, 42 deletions
diff --git a/README.md b/README.md
index a2e02bc..90ed701 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
1# devstack-plugin-vmax 1# devstack-plugin-vmax
2This plugin enables the VMAX backend for cinder. For each backend, it creates the required xml file, populating said file along with cinder.conf with the appropriate values 2This plugin enables the POWERMAX backend for cinder. For each backend, it creates the required xml file, populating said file along with cinder.conf with the appropriate values
3 3
4# Enabling in devstack 4# Enabling in devstack
5* Add this repo as an external repository to localrc:: 5* Add this repo as an external repository to localrc::
@@ -7,27 +7,27 @@ This plugin enables the VMAX backend for cinder. For each backend, it creates th
7 [[local|localrc]]</br> 7 [[local|localrc]]</br>
8 enable_plugin devstack-plugin-vmax https://github.com/openstack/devstack-plugin-vmax 8 enable_plugin devstack-plugin-vmax https://github.com/openstack/devstack-plugin-vmax
9 9
10* For each vmax cinder backend to be used in the devstack setup, add the 10* For each powermax cinder backend to be used in the devstack setup, add the
11backend name to the enabled backends in localrc as shown below. Backend name 11backend name to the enabled backends in localrc as shown below. Backend name
12 has to start with VMAX:: 12 has to start with POWERMAX::
13 13
14 [[local|localrc]]</br> 14 [[local|localrc]]</br>
15 CINDER_ENABLED_BACKENDS=vmax:VMAX_Backend_1,vmax:VMAX_Backend_2 15 CINDER_ENABLED_BACKENDS=powermax:POWERMAX_Backend_1,powermax:POWERMAX_Backend_2
16 16
17* For each vmax backend in CINDER_ENABLED_BACKENDS above, append the 17* For each vmax backend in CINDER_ENABLED_BACKENDS above, append the
18configuration details to localrc as shown below for VMAX_Backend_1. Contact 18configuration details to localrc as shown below for POWERMAX_Backend_1. Contact
19your Storage Admin for your parameters:: 19your Storage Admin for your parameters::
20 20
21 VMAX_Backend_1_RestServerIp=<insert_ip_address></br> 21 POWERMAX_Backend_1_RestServerIp=<insert_ip_address></br>
22 VMAX_Backend_1_RestServerPort=<Rest_port_number></br> 22 POWERMAX_Backend_1_RestServerPort=<Rest_port_number></br>
23 VMAX_Backend_1_RestUserName=<Rest_password></br> 23 POWERMAX_Backend_1_RestUserName=<Rest_password></br>
24 VMAX_Backend_1_Array=<Array_to_use></br> 24 POWERMAX_Backend_1_Array=<Array_to_use></br>
25 VMAX_Backend_1_SRP=<storage_resource_pool></br> 25 POWERMAX_Backend_1_SRP=<storage_resource_pool></br>
26 VMAX_Backend_1_WORKLOAD=<work_load></br> 26 POWERMAX_Backend_1_WORKLOAD=<work_load></br>
27 VMAX_Backend_1_SLO=<Service_level></br> 27 POWERMAX_Backend_1_SLO=<Service_level></br>
28 VMAX_Backend_1_SSLVerify=<pem_file_for_ssl_verification></br> 28 POWERMAX_Backend_1_SSLVerify=<pem_file_for_ssl_verification></br>
29 VMAX_Backend_1_PortGroup1=<port_group></br> 29 POWERMAX_Backend_1_PortGroup1=<port_group></br>
30 VMAX_Backend_1_PortGroup2=<port_group></br> 30 POWERMAX_Backend_1_PortGroup2=<port_group></br>
31 VMAX_Backend_1_StorageProtocol=<Storage_protocol> 31 POWERMAX_Backend_1_StorageProtocol=<Storage_protocol>
32 32
33* run "stack.sh" \ No newline at end of file 33* run "stack.sh" \ No newline at end of file
diff --git a/devstack/plugin.sh b/devstack/plugin.sh
index 221e9ad..15c0ec0 100644
--- a/devstack/plugin.sh
+++ b/devstack/plugin.sh
@@ -1,28 +1,28 @@
1#!/bin/bash 1#!/bin/bash
2 2
3# devstack/plugin.sh 3# devstack/plugin.sh
4# Setup VMAX as backend for Devstack 4# Setup PowerMax as backend for Devstack
5 5
6function update_volume_type { 6function update_volume_type {
7# Update volume types 7# Update volume types
8 for be in ${CINDER_ENABLED_BACKENDS//,/ }; do 8 for be in ${CINDER_ENABLED_BACKENDS//,/ }; do
9 be_name=${be##*:} 9 be_name=${be##*:}
10 be_type=${be%%:*} 10 be_type=${be%%:*}
11 if [[ ${be_type} == "vmax" ]]; then 11 if [[ ${be_type} == "powermax" ]]; then
12 array="${be_name}_Array" 12 array="${be_name}_Array"
13 srp="${be_name}_SRP" 13 srp="${be_name}_SRP"
14 slo="None" 14 slo="None"
15 workload="None" 15 workload="None"
16 pool_name=${!srp}+${!array} 16 pool_name=${!srp}+${!array}
17 vmax_temp="${be_name}_WORKLOAD" 17 powermax_temp="${be_name}_WORKLOAD"
18 if [ -n "${!vmax_temp}" ]; then 18 if [ -n "${!powermax_temp}" ]; then
19 workload="${be_name}_WORKLOAD" 19 workload="${be_name}_WORKLOAD"
20 pool_name=${!workload}+${pool_name} 20 pool_name=${!workload}+${pool_name}
21 else 21 else
22 pool_name=${workload}+${pool_name} 22 pool_name=${workload}+${pool_name}
23 fi 23 fi
24 vmax_temp="${be_name}_SLO" 24 powermax_temp="${be_name}_SLO"
25 if [ -n "${!vmax_temp}" ]; then 25 if [ -n "${!powermax_temp}" ]; then
26 slo="${be_name}_SLO" 26 slo="${be_name}_SLO"
27 pool_name=${!slo}+${pool_name} 27 pool_name=${!slo}+${pool_name}
28 else 28 else
@@ -36,10 +36,10 @@ function update_volume_type {
36 36
37function configure_port_groups { 37function configure_port_groups {
38 local be_name=$1 38 local be_name=$1
39 vmax_temp="${be_name}_PortGroup" 39 powermax_temp="${be_name}_PortGroup"
40 dell_emc_portGroups=0 40 dell_emc_portGroups=0
41 for i in ${!VMAX*}; do 41 for i in ${!POWERMAX*}; do
42 temp1=${i##${vmax_temp}} 42 temp1=${i##${powermax_temp}}
43 if [[ "$temp1" == "$i" ]]; then 43 if [[ "$temp1" == "$i" ]]; then
44 continue 44 continue
45 fi 45 fi
@@ -50,14 +50,14 @@ function configure_port_groups {
50 done 50 done
51 pg_list="[" 51 pg_list="["
52 for (( m=1 ; m<=dell_emc_portGroups ; m++ )) ; do 52 for (( m=1 ; m<=dell_emc_portGroups ; m++ )) ; do
53 vmax_temp="${be_name}_PortGroup${m}" 53 powermax_temp="${be_name}_PortGroup${m}"
54 pg_list="${pg_list}${!vmax_temp}" 54 pg_list="${pg_list}${!powermax_temp}"
55 if (( m!=dell_emc_portGroups )) ; then 55 if (( m!=dell_emc_portGroups )) ; then
56 pg_list="${pg_list}," 56 pg_list="${pg_list},"
57 fi 57 fi
58 done 58 done
59 pg_list="${pg_list}]" 59 pg_list="${pg_list}]"
60 iniset ${CINDER_CONF} ${be_name} vmax_port_groups ${pg_list} 60 iniset ${CINDER_CONF} ${be_name} powermax_port_groups ${pg_list}
61} 61}
62 62
63function configure_single_pool { 63function configure_single_pool {
@@ -65,47 +65,47 @@ function configure_single_pool {
65 configure_port_groups ${be_name} 65 configure_port_groups ${be_name}
66 for val in "SSLVerify" "Array" "SRP" "RestPassword" "RestUserName"\ 66 for val in "SSLVerify" "Array" "SRP" "RestPassword" "RestUserName"\
67 "RestServerPort" "RestServerIp" ; do 67 "RestServerPort" "RestServerIp" ; do
68 vmax_temp="${be_name}_${val}" 68 powermax_temp="${be_name}_${val}"
69 if [ -n "${!vmax_temp}" ]; then 69 if [ -n "${!powermax_temp}" ]; then
70 if [[ "${val}" == "RestServerIp" ]]; then 70 if [[ "${val}" == "RestServerIp" ]]; then
71 iniset ${CINDER_CONF} ${be_name} san_ip ${!vmax_temp} 71 iniset ${CINDER_CONF} ${be_name} san_ip ${!powermax_temp}
72 elif [[ "${val}" == "RestServerPort" ]]; then 72 elif [[ "${val}" == "RestServerPort" ]]; then
73 iniset ${CINDER_CONF} ${be_name} san_rest_port ${!vmax_temp} 73 iniset ${CINDER_CONF} ${be_name} san_rest_port ${!powermax_temp}
74 elif [[ "${val}" == "RestUserName" ]]; then 74 elif [[ "${val}" == "RestUserName" ]]; then
75 iniset ${CINDER_CONF} ${be_name} san_login ${!vmax_temp} 75 iniset ${CINDER_CONF} ${be_name} san_login ${!powermax_temp}
76 elif [[ "${val}" == "RestPassword" ]]; then 76 elif [[ "${val}" == "RestPassword" ]]; then
77 iniset ${CINDER_CONF} ${be_name} san_password ${!vmax_temp} 77 iniset ${CINDER_CONF} ${be_name} san_password ${!powermax_temp}
78 elif [[ "${val}" == "Array" ]]; then 78 elif [[ "${val}" == "Array" ]]; then
79 iniset ${CINDER_CONF} ${be_name} vmax_array ${!vmax_temp} 79 iniset ${CINDER_CONF} ${be_name} powermax_array ${!powermax_temp}
80 elif [[ "${val}" == "SRP" ]]; then 80 elif [[ "${val}" == "SRP" ]]; then
81 iniset ${CINDER_CONF} ${be_name} vmax_srp ${!vmax_temp} 81 iniset ${CINDER_CONF} ${be_name} powermax_srp ${!powermax_temp}
82 elif [[ "${val}" == "SSLVerify" ]]; then 82 elif [[ "${val}" == "SSLVerify" ]]; then
83 if [[ "${!vmax_temp}" != "False" ]]; then 83 if [[ "${!powermax_temp}" != "False" ]]; then
84 iniset ${CINDER_CONF} ${be_name} driver_ssl_cert_verify \ 84 iniset ${CINDER_CONF} ${be_name} driver_ssl_cert_verify \
85 True 85 True
86 iniset ${CINDER_CONF} ${be_name} driver_ssl_cert_path \ 86 iniset ${CINDER_CONF} ${be_name} driver_ssl_cert_path \
87 ${!vmax_temp} 87 ${!powermax_temp}
88 fi 88 fi
89 fi 89 fi
90 fi 90 fi
91 done 91 done
92} 92}
93 93
94function configure_cinder_backend_vmax { 94function configure_cinder_backend_powermax {
95 local be_name=$1 95 local be_name=$1
96 local emc_multi=${be_name%%_*} 96 local emc_multi=${be_name%%_*}
97 97
98 configure_single_pool ${be_name} 98 configure_single_pool ${be_name}
99 99
100 storage_proto="${be_name}_StorageProtocol" 100 storage_proto="${be_name}_StorageProtocol"
101 vmax_directory="cinder.volume.drivers.dell_emc.vmax." 101 powermax_directory="cinder.volume.drivers.dell_emc.powermax."
102 if [[ "${!storage_proto}" == "iSCSI" ]]; then 102 if [[ "${!storage_proto}" == "iSCSI" ]]; then
103 iniset ${CINDER_CONF} ${be_name} volume_driver \ 103 iniset ${CINDER_CONF} ${be_name} volume_driver \
104 "${vmax_directory}iscsi.VMAXISCSIDriver" 104 "${powermax_directory}iscsi.PowerMaxISCSIDriver"
105 fi 105 fi
106 if [ "${!storage_proto}" = "FC" ]; then 106 if [ "${!storage_proto}" = "FC" ]; then
107 iniset ${CINDER_CONF} ${be_name} volume_driver \ 107 iniset ${CINDER_CONF} ${be_name} volume_driver \
108 "${vmax_directory}fc.VMAXFCDriver" 108 "${powermax_directory}fc.PowerMaxFCDriver"
109 fi 109 fi
110 iniset ${CINDER_CONF} ${be_name} volume_backend_name ${be_name} 110 iniset ${CINDER_CONF} ${be_name} volume_backend_name ${be_name}
111} 111}