Merge "Use local variable for live migration server client"
diff --git a/releasenotes/notes/add-alt-manager-dynamic-creds-f8f1007862ea5dfb.yaml b/releasenotes/notes/add-alt-manager-dynamic-creds-f8f1007862ea5dfb.yaml
new file mode 100644
index 0000000..bff36c7
--- /dev/null
+++ b/releasenotes/notes/add-alt-manager-dynamic-creds-f8f1007862ea5dfb.yaml
@@ -0,0 +1,4 @@
+---
+features:
+ - |
+ Add alt manager role to the dynamic credentials provider for project scope.
diff --git a/tempest/lib/common/cred_provider.py b/tempest/lib/common/cred_provider.py
index 93b9586..9be7c5e 100644
--- a/tempest/lib/common/cred_provider.py
+++ b/tempest/lib/common/cred_provider.py
@@ -100,6 +100,10 @@
return
@abc.abstractmethod
+ def get_project_alt_manager_creds(self):
+ return
+
+ @abc.abstractmethod
def get_project_member_creds(self):
return
diff --git a/tempest/lib/common/dynamic_creds.py b/tempest/lib/common/dynamic_creds.py
index 1815dc6..11e7215 100644
--- a/tempest/lib/common/dynamic_creds.py
+++ b/tempest/lib/common/dynamic_creds.py
@@ -427,7 +427,8 @@
elif credential_type in [['admin'], ['alt_admin']]:
credentials = self._create_creds(
admin=True, scope=scope, project_id=project_id)
- elif credential_type in [['alt_member'], ['alt_reader']]:
+ elif credential_type in [['alt_manager'], ['alt_member'],
+ ['alt_reader']]:
cred_type = credential_type[0][4:]
if isinstance(cred_type, str):
cred_type = [cred_type]
@@ -511,6 +512,9 @@
def get_project_manager_creds(self):
return self.get_credentials(['manager'], scope='project')
+ def get_project_alt_manager_creds(self):
+ return self.get_credentials(['alt_manager'], scope='project')
+
def get_project_member_creds(self):
return self.get_credentials(['member'], scope='project')
diff --git a/tempest/lib/common/preprov_creds.py b/tempest/lib/common/preprov_creds.py
index 3ba7db1..f3a84d6 100644
--- a/tempest/lib/common/preprov_creds.py
+++ b/tempest/lib/common/preprov_creds.py
@@ -392,6 +392,10 @@
self._creds['project_manager'] = project_manager
return project_manager
+ def get_project_alt_manager_creds(self):
+ # TODO(msava):Implement alt manager hash.
+ return
+
def get_project_member_creds(self):
if self._creds.get('project_member'):
return self._creds.get('project_member')
diff --git a/tempest/tests/lib/common/test_dynamic_creds.py b/tempest/tests/lib/common/test_dynamic_creds.py
index 4122db3..b62d854 100644
--- a/tempest/tests/lib/common/test_dynamic_creds.py
+++ b/tempest/tests/lib/common/test_dynamic_creds.py
@@ -248,6 +248,7 @@
creds = dynamic_creds.DynamicCredentialProvider(**self.fixed_params)
if test_alt_creds:
admin_func = creds.get_project_alt_admin_creds
+ manager_func = creds.get_project_alt_manager_creds
member_func = creds.get_project_alt_member_creds
reader_func = creds.get_project_alt_reader_creds
else:
@@ -290,11 +291,8 @@
# Now request for the project manager creds which should not create new
# project instead should use the project_id of member_creds already
# created project.
- # TODO(gmaan): test test_alt_creds also once alt project
- # manager is available.
- if not test_alt_creds:
- self._request_and_check_second_creds(
- creds, manager_func, member_creds, show_mock, sm_count=3)
+ self._request_and_check_second_creds(
+ creds, manager_func, member_creds, show_mock, sm_count=3)
def test_creds_within_same_project(self):
self._creds_within_same_project()
diff --git a/tempest/tests/test_test.py b/tempest/tests/test_test.py
index 7fb9bb3..f6f3588 100644
--- a/tempest/tests/test_test.py
+++ b/tempest/tests/test_test.py
@@ -407,7 +407,7 @@
def get_identity_version(cls):
return identity_version
- with testtools.ExpectedException(testtools.testcase.TestSkipped):
+ with testtools.ExpectedException(unittest.SkipTest):
NeedAdmin().skip_checks()
mock_iaa.assert_called_once_with('identity_version')
@@ -417,7 +417,7 @@
class NeedV2(self.parent_test):
identity_version = 'v2'
- with testtools.ExpectedException(testtools.testcase.TestSkipped):
+ with testtools.ExpectedException(unittest.SkipTest):
NeedV2().skip_checks()
def test_skip_checks_identity_v3_not_available(self):
@@ -426,7 +426,7 @@
class NeedV3(self.parent_test):
identity_version = 'v3'
- with testtools.ExpectedException(testtools.testcase.TestSkipped):
+ with testtools.ExpectedException(unittest.SkipTest):
NeedV3().skip_checks()
def test_setup_credentials_all(self):