X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2Fbenchmark%2Fcontexts%2Fbase.py;h=0be2eee778f9d8206bc2b60e5216c014b1f3c402;hb=9b19d7542e494c9c39da7aead2ef630a866b8455;hp=76a8288118bfc8c0d12fcb087825084a84d9d753;hpb=2e1094d4aee93180126d3ce86db3cc7df2e87bc5;p=yardstick.git diff --git a/yardstick/benchmark/contexts/base.py b/yardstick/benchmark/contexts/base.py index 76a828811..0be2eee77 100644 --- a/yardstick/benchmark/contexts/base.py +++ b/yardstick/benchmark/contexts/base.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import import abc import six @@ -14,7 +15,7 @@ import yardstick.common.utils as utils @six.add_metaclass(abc.ABCMeta) class Context(object): - '''Class that represents a context in the logical model''' + """Class that represents a context in the logical model""" list = [] def __init__(self): @@ -26,7 +27,7 @@ class Context(object): @staticmethod def get_cls(context_type): - '''Return class of specified type.''' + """Return class of specified type.""" for context in utils.itersubclasses(Context): if context_type == context.__context_type__: return context @@ -40,23 +41,27 @@ class Context(object): @abc.abstractmethod def deploy(self): - '''Deploy context.''' + """Deploy context.""" @abc.abstractmethod def undeploy(self): - '''Undeploy context.''' + """Undeploy context.""" + self._delete_context() + + def _delete_context(self): + Context.list.remove(self) @abc.abstractmethod def _get_server(self, attr_name): - '''get server info by name from context - ''' + """get server info by name from context + """ @staticmethod def get_server(attr_name): - '''lookup server info by name from context + """lookup server info by name from context attr_name: either a name for a server created by yardstick or a dict with attribute name mapping when using external heat templates - ''' + """ server = None for context in Context.list: server = context._get_server(attr_name)