diff options
author | Ross Brattain <ross.b.brattain@intel.com> | 2018-03-01 21:17:05 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2018-03-01 21:17:05 +0000 |
commit | 3536e57cbbe7e84461d50a87fb87b4e99b4cd20a (patch) | |
tree | f54b56b274c2f5bb65fb5af3d531f48a755b10cb /yardstick/benchmark | |
parent | 6f7dd8ff0e6358ef958426a6baeae5deee1a57d8 (diff) | |
parent | f8c32c5df789ab9dd698b247740cd72049e1bf65 (diff) |
Merge "Add ability to reuse existing OpenStack set-up"
Diffstat (limited to 'yardstick/benchmark')
-rw-r--r-- | yardstick/benchmark/contexts/heat.py | 19 | ||||
-rw-r--r-- | yardstick/benchmark/core/task.py | 4 |
2 files changed, 20 insertions, 3 deletions
diff --git a/yardstick/benchmark/contexts/heat.py b/yardstick/benchmark/contexts/heat.py index ed301a998..75e26e06f 100644 --- a/yardstick/benchmark/contexts/heat.py +++ b/yardstick/benchmark/contexts/heat.py @@ -331,7 +331,14 @@ class HeatContext(Context): if self.template_file is None: self._add_resources_to_template(heat_template) - self.stack = self._create_new_stack(heat_template) + if self._flags.no_setup: + # Try to get an existing stack, returns a stack or None + self.stack = self._retrieve_existing_stack(self.name) + if not self.stack: + self.stack = self._create_new_stack(heat_template) + + else: + self.stack = self._create_new_stack(heat_template) # TODO: use Neutron to get segmentation-id self.get_neutron_info() @@ -397,6 +404,10 @@ class HeatContext(Context): def undeploy(self): """undeploys stack from cloud""" + if self._flags.no_teardown: + LOG.info("Undeploying context '%s' SKIP", self.name) + return + if self.stack: LOG.info("Undeploying context '%s' START", self.name) self.stack.delete() @@ -444,7 +455,11 @@ class HeatContext(Context): server.private_ip = self.stack.outputs.get( attr_name.get("private_ip_attr", object()), None) else: - server = self._server_map.get(attr_name, None) + try: + server = self._server_map[attr_name] + except KeyError: + attr_name_no_suffix = attr_name.split("-")[0] + server = self._server_map.get(attr_name_no_suffix, None) if server is None: return None diff --git a/yardstick/benchmark/core/task.py b/yardstick/benchmark/core/task.py index 4993d2a7e..a4514f5f1 100644 --- a/yardstick/benchmark/core/task.py +++ b/yardstick/benchmark/core/task.py @@ -343,7 +343,7 @@ class Task(object): # pragma: no cover try: config_context_target(item) except KeyError: - pass + LOG.debug("Got a KeyError in config_context_target(%s)", item) else: break @@ -524,6 +524,8 @@ class TaskParser(object): # pragma: no cover context_type = cfg_attrs.get("type", "Heat") context = Context.get(context_type) context.init(cfg_attrs) + # Update the name in case the context has used the name_suffix + cfg_attrs['name'] = context.name contexts.append(context) run_in_parallel = cfg.get("run_in_parallel", False) |