summaryrefslogtreecommitdiffstats
path: root/docker/storperf-master
diff options
context:
space:
mode:
Diffstat (limited to 'docker/storperf-master')
-rw-r--r--docker/storperf-master/rest_server.py1
-rw-r--r--docker/storperf-master/storperf/storperf_master.py38
2 files changed, 30 insertions, 9 deletions
diff --git a/docker/storperf-master/rest_server.py b/docker/storperf-master/rest_server.py
index 67d2d05..7f38ab6 100644
--- a/docker/storperf-master/rest_server.py
+++ b/docker/storperf-master/rest_server.py
@@ -192,6 +192,7 @@ class Configure(Resource):
'stack_id': storperf.stack_id})
except Exception as e:
+ self.logger.exception(e)
abort(400, str(e))
@swagger.operation(
diff --git a/docker/storperf-master/storperf/storperf_master.py b/docker/storperf-master/storperf/storperf_master.py
index da8a05e..7244b66 100644
--- a/docker/storperf-master/storperf/storperf_master.py
+++ b/docker/storperf-master/storperf/storperf_master.py
@@ -40,10 +40,19 @@ class StorPerfMaster(object):
name='StorPerfAgentGroup',
template_path='storperf/resources/hot/agent-group.yaml')
- self.os_creds = OSCreds(username=os.environ.get('OS_USERNAME'),
- password=os.environ.get('OS_PASSWORD'),
- auth_url=os.environ.get('OS_AUTH_URL'),
- project_name=os.environ.get('OS_PROJECT_NAME'))
+ self.os_creds = OSCreds(
+ username=os.environ.get('OS_USERNAME'),
+ password=os.environ.get('OS_PASSWORD'),
+ auth_url=os.environ.get('OS_AUTH_URL'),
+ identity_api_version=os.environ.get('OS_IDENTITY_API_VERSION'),
+ user_domain_name=os.environ.get('OS_USER_DOMAIN_NAME'),
+ user_domain_id=os.environ.get('OS_USER_DOMAIN_ID'),
+ region_name=os.environ.get('OS_REGION_NAME'),
+ project_domain_name=os.environ.get('OS_PROJECT_DOMAIN_NAME'),
+ project_domain_id=os.environ.get('OS_PROJECT_DOMAIN_ID'),
+ project_name=os.environ.get('OS_PROJECT_NAME'))
+
+ self.logger.debug("OSCreds: %s" % self.os_creds)
self.heat_stack = OpenStackHeatStack(self.os_creds,
self.stack_settings)
@@ -265,12 +274,23 @@ class StorPerfMaster(object):
res = heat_utils.get_resources(heat_cli,
self.heat_stack.get_stack().id)
self.logger.error("Stack creation failed")
+ reason = ""
+ failed = False
for resource in res:
- status = resource.status
- self.logger.error("%s: %s" % (resource.name, status))
- if status == u'CREATE_FAILED':
- self.delete_stack()
- raise Exception(resource.status_reason)
+ if resource.status == u'CREATE_FAILED':
+ failed = True
+ reason += "%s: %s " % (resource.name,
+ resource.status_reason)
+ self.logger.error("%s - %s: %s" % (resource.name,
+ resource.status,
+ resource.status_reason))
+
+ if failed:
+ try:
+ self.heat_stack.clean()
+ except Exception:
+ pass
+ raise Exception(reason)
def delete_stack(self):
if self._test_executor is not None: