Manila: Set multitenancy_enabled in [share]

Manila's tests _need_ this configuration, and it
defaults to True. However, if there are no backends
that satisfy that condition, we need to set this
config opt to False, else tests will fail due
to misconfiguration.

Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
Change-Id: I40bf6c53f205318bcd92effed433fa40f230aa02
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
This commit is contained in:
Goutham Pacha Ravi 2021-03-22 10:50:09 -07:00
parent d625ec79c2
commit 677d9c8e4e
1 changed files with 8 additions and 0 deletions

View File

@ -46,13 +46,21 @@ class ShareService(VersionedService):
if pools:
backends = set()
enable_protocols = set()
dhss = set()
for pool in pools:
backends.add(pool['backend'])
protocol = pool['capabilities']['storage_protocol'].lower()
enable_protocols.update(protocol.split('_'))
dhss.add(pool['capabilities']['driver_handles_share_servers'])
conf.set('share', 'backend_names', ','.join(backends))
conf.set('share', 'enable_protocols', ','.join(enable_protocols))
# NOTE(gouthamr): manila tests can be run with
# driver_handles_share_servers set to either True or False,
# not both at the same time. Lets err on the side of caution and
# set this to True if any DHSS=True backend is present.
conf.set('share', 'multitenancy_enabled', str(any(dhss)))
if len(backends) > 1:
conf.set('share', 'multi_backend', 'True')