Add Barbican scenario in Rally
[functest.git] / functest / core / tenantnetwork.py
index 4298ea9..7b2bf87 100644 (file)
@@ -20,6 +20,8 @@ This classes could be reused by more complexed scenarios (Single VM)
 
 import logging
 import os
+import random
+import string
 import time
 import uuid
 
@@ -53,7 +55,8 @@ class NewProject(object):
         """Create projects/users"""
         assert self.orig_cloud
         assert self.case_name
-        self.password = str(uuid.uuid4())
+        self.password = ''.join(random.choice(
+            string.ascii_letters + string.digits) for _ in range(30))
         self.domain = self.orig_cloud.get_domain(
             name_or_id=self.orig_cloud.auth.get(
                 "project_domain_name", "Default"))
@@ -95,6 +98,21 @@ class NewProject(object):
             cloud_config=osconfig.get_one_cloud())
         self.__logger.debug("new cloud %s", self.cloud.auth)
 
+    def get_environ(self):
+        "Get new environ"
+        environ = dict(
+            os.environ,
+            OS_USERNAME=self.user.name,
+            OS_PROJECT_NAME=self.project.name,
+            OS_PROJECT_ID=self.project.id,
+            OS_PASSWORD=self.password)
+        try:
+            del environ['OS_TENANT_NAME']
+            del environ['OS_TENANT_ID']
+        except Exception:  # pylint: disable=broad-except
+            pass
+        return environ
+
     def clean(self):
         """Remove projects/users"""
         try: