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 { function set_backend_availability_zones {
ENABLED_BACKENDS=$1 ENABLED_BACKENDS=$1
echo_summary "Setting up backend_availability_zone option \ echo_summary "Setting up backend_availability_zone option \
for any enabled backends that do not use the Generic driver. \ for any enabled backends that do not use the Generic driver and have \
Availability zones for the Generic driver must coincide with those \ not been set previously. Availability zones for the Generic driver \
created for Nova and Cinder." must coincide with those created for Nova and Cinder."
local zonenum local zonenum
generic_driver='manila.share.drivers.generic.GenericShareDriver' generic_driver='manila.share.drivers.generic.GenericShareDriver'
for BE in ${ENABLED_BACKENDS//,/ }; do for BE in ${ENABLED_BACKENDS//,/ }; do
share_driver=$(iniget $MANILA_CONF $BE share_driver) 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++))" zone="manila-zone-$((zonenum++))"
iniset $MANILA_CONF $BE backend_availability_zone $zone iniset $MANILA_CONF $BE backend_availability_zone $zone
fi fi