Merge "Fix system & domain scoped admin dynamic credential"
diff --git a/tempest/lib/common/dynamic_creds.py b/tempest/lib/common/dynamic_creds.py
index 220d96c..ecbbe8f 100644
--- a/tempest/lib/common/dynamic_creds.py
+++ b/tempest/lib/common/dynamic_creds.py
@@ -376,15 +376,18 @@
         elif scope and self._creds.get("%s_%s" % (scope, credential_type[0])):
             credentials = self._creds["%s_%s" % (scope, credential_type[0])]
         else:
-            if credential_type in ['primary', 'alt', 'admin']:
+            if scope:
+                if credential_type == 'admin':
+                    credentials = self._create_creds(
+                        admin=True, scope=scope)
+                else:
+                    credentials = self._create_creds(
+                        roles=credential_type, scope=scope)
+            elif credential_type in ['primary', 'alt', 'admin']:
                 is_admin = (credential_type == 'admin')
                 credentials = self._create_creds(admin=is_admin)
             else:
-                if scope:
-                    credentials = self._create_creds(
-                        roles=credential_type, scope=scope)
-                else:
-                    credentials = self._create_creds(roles=credential_type)
+                credentials = self._create_creds(roles=credential_type)
             if scope:
                 self._creds["%s_%s" %
                             (scope, credential_type[0])] = credentials