diff --git a/devstack/plugin.sh b/devstack/plugin.sh index fc07214..221e9ad 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -36,8 +36,6 @@ function update_volume_type { function configure_port_groups { local be_name=$1 - echo "" >> \ - ${CINDER_CONF_DIR}/cinder_dell_emc_config_$be_name.xml vmax_temp="${be_name}_PortGroup" dell_emc_portGroups=0 for i in ${!VMAX*}; do @@ -50,32 +48,55 @@ function configure_port_groups { dell_emc_portGroups=${arrIN[0]} fi done + pg_list="[" for (( m=1 ; m<=dell_emc_portGroups ; m++ )) ; do vmax_temp="${be_name}_PortGroup${m}" - echo "${!vmax_temp}" >> \ - ${CINDER_CONF_DIR}/cinder_dell_emc_config_${be_name}.xml + pg_list="${pg_list}${!vmax_temp}" + if (( m!=dell_emc_portGroups )) ; then + pg_list="${pg_list}," + fi done - echo "" >> \ - ${CINDER_CONF_DIR}/cinder_dell_emc_config_${be_name}.xml + pg_list="${pg_list}]" + iniset ${CINDER_CONF} ${be_name} vmax_port_groups ${pg_list} } function configure_single_pool { local be_name=$1 - for val in "RestServerIp" "RestServerPort" "RestUserName" "RestPassword"\ - "Array" "SRP" "SSLVerify" ; do + configure_port_groups ${be_name} + for val in "SSLVerify" "Array" "SRP" "RestPassword" "RestUserName"\ + "RestServerPort" "RestServerIp" ; do vmax_temp="${be_name}_${val}" if [ -n "${!vmax_temp}" ]; then - echo "<${val}>${!vmax_temp}" >> \ - ${CINDER_CONF_DIR}/cinder_dell_emc_config_${be_name}.xml + if [[ "${val}" == "RestServerIp" ]]; then + iniset ${CINDER_CONF} ${be_name} san_ip ${!vmax_temp} + elif [[ "${val}" == "RestServerPort" ]]; then + iniset ${CINDER_CONF} ${be_name} san_rest_port ${!vmax_temp} + elif [[ "${val}" == "RestUserName" ]]; then + iniset ${CINDER_CONF} ${be_name} san_login ${!vmax_temp} + elif [[ "${val}" == "RestPassword" ]]; then + iniset ${CINDER_CONF} ${be_name} san_password ${!vmax_temp} + elif [[ "${val}" == "Array" ]]; then + iniset ${CINDER_CONF} ${be_name} vmax_array ${!vmax_temp} + elif [[ "${val}" == "SRP" ]]; then + iniset ${CINDER_CONF} ${be_name} vmax_srp ${!vmax_temp} + elif [[ "${val}" == "SSLVerify" ]]; then + if [[ "${!vmax_temp}" != "False" ]]; then + iniset ${CINDER_CONF} ${be_name} driver_ssl_cert_verify \ + True + iniset ${CINDER_CONF} ${be_name} driver_ssl_cert_path \ + ${!vmax_temp} + fi + fi fi done - configure_port_groups ${be_name} } function configure_cinder_backend_vmax { local be_name=$1 local emc_multi=${be_name%%_*} - iniset ${CINDER_CONF} ${be_name} volume_backend_name ${be_name} + + configure_single_pool ${be_name} + storage_proto="${be_name}_StorageProtocol" vmax_directory="cinder.volume.drivers.dell_emc.vmax." if [[ "${!storage_proto}" == "iSCSI" ]]; then @@ -86,22 +107,7 @@ function configure_cinder_backend_vmax { iniset ${CINDER_CONF} ${be_name} volume_driver \ "${vmax_directory}fc.VMAXFCDriver" fi - - iniset ${CINDER_CONF} ${be_name} cinder_dell_emc_config_file \ - "$CINDER_CONF_DIR/cinder_dell_emc_config_$be_name.xml" - - touch ${CINDER_CONF_DIR}/cinder_dell_emc_config_${be_name}.xml - echo "" > \ - ${CINDER_CONF_DIR}/cinder_dell_emc_config_${be_name}.xml - echo "" >> ${CINDER_CONF_DIR}/cinder_dell_emc_config_${be_name}.xml - - configure_single_pool ${be_name} - - echo "" >> ${CINDER_CONF_DIR}/cinder_dell_emc_config_${be_name}.xml - if [ ! -f "$CINDER_CONF_DIR/cinder_dell_emc_config.xml" ]; then - ln -s ${CINDER_CONF_DIR}/cinder_dell_emc_config_${be_name}.xml \ - ${CINDER_CONF_DIR}/cinder_dell_emc_config.xml - fi + iniset ${CINDER_CONF} ${be_name} volume_backend_name ${be_name} } if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then