Fix manila plugin.sh set backend_availability_zone

Manila plugin is setting the availability zone of the
backends without checking if it is set. As result, a CI
configuring that field will not be respected.

Fixed by only setting the field in case its value was
not set before. Otherwise, keep as it is.

Change-Id: I546e5f057f3b748417dcbcfe9c3f3ae4a5d51556
This commit is contained in:
Felipe Rodrigues 2022-06-22 16:33:07 -03:00
parent 7fc3809550
commit 79af79f07b

View File

@ -147,14 +147,15 @@ function set_cinder_quotas {
function set_backend_availability_zones {
ENABLED_BACKENDS=$1
echo_summary "Setting up backend_availability_zone option \
for any enabled backends that do not use the Generic driver. \
Availability zones for the Generic driver must coincide with those \
created for Nova and Cinder."
for any enabled backends that do not use the Generic driver and have \
not been set previously. Availability zones for the Generic driver \
must coincide with those created for Nova and Cinder."
local zonenum
generic_driver='manila.share.drivers.generic.GenericShareDriver'
for BE in ${ENABLED_BACKENDS//,/ }; do
share_driver=$(iniget $MANILA_CONF $BE share_driver)
if [[ $share_driver != $generic_driver ]]; then
az=$(iniget $MANILA_CONF $BE backend_availability_zone)
if [[ -z $az && $share_driver != $generic_driver ]]; then
zone="manila-zone-$((zonenum++))"
iniset $MANILA_CONF $BE backend_availability_zone $zone
fi