Respect configured cred provider in scenario utils
This commit fixes the scenario util classes to actually used the
configured credential provider. Previously these classes were making
a bare call to Manager() to setup the clients. However without passing
it credentials to use Manager tries to use credentials from the config
file regardless of whether tempest is configured using the old config
options for credentials. (it ignores the accounts.yaml or tenant
isolation settings)
Closes-Bug: #1451484
Change-Id: Ie3bca345e094c00299167d37150cca3d6c1d8b38
diff --git a/tempest/scenario/utils.py b/tempest/scenario/utils.py
index 6c00d09..60eb1c3 100644
--- a/tempest/scenario/utils.py
+++ b/tempest/scenario/utils.py
@@ -23,7 +23,7 @@
import testtools
from tempest import clients
-from tempest.common import cred_provider
+from tempest.common import credentials
from tempest import config
from tempest import exceptions
@@ -41,7 +41,10 @@
self.non_ssh_image_pattern = \
CONF.input_scenario.non_ssh_image_regex
# Setup clients
- os = clients.Manager()
+ self.isolated_creds = credentials.get_isolated_credentials(
+ name='ScenarioImageUtils',
+ identity_version=CONF.identity.auth_version)
+ os = clients.Manager(self.isolated_creds.get_primary_creds())
self.images_client = os.images_client
self.flavors_client = os.flavors_client
@@ -100,8 +103,10 @@
digit=string.digits)
def __init__(self):
- os = clients.Manager(
- cred_provider.get_configured_credentials('user', fill_in=False))
+ self.isolated_creds = credentials.get_isolated_credentials(
+ name='InputScenarioUtils',
+ identity_version=CONF.identity.auth_version)
+ os = clients.Manager(self.isolated_creds.get_primary_creds())
self.images_client = os.images_client
self.flavors_client = os.flavors_client
self.image_pattern = CONF.input_scenario.image_regex
@@ -162,7 +167,7 @@
scenario_utils = InputScenarioUtils()
scenario_flavor = scenario_utils.scenario_flavors
scenario_image = scenario_utils.scenario_images
- except exceptions.InvalidConfiguration:
+ except (exceptions.InvalidConfiguration, TypeError):
return standard_tests
for test in testtools.iterate_tests(standard_tests):
setattr(test, 'scenarios', testscenarios.multiply_scenarios(