Merge "test_attacker_baremetal: don't run local commands"
[yardstick.git] / yardstick / benchmark / scenarios / availability / attacker / baseattacker.py
index 78276ef..7b3d8b0 100644 (file)
@@ -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 pkg_resources
 import yaml
 import logging
@@ -24,9 +25,10 @@ class AttackerMgr(object):
 
     def __init__(self):
         self._attacker_list = []
+        self.data = {}
 
     def init_attackers(self, attacker_cfgs, context):
-        LOG.debug("attackerMgr confg: %s" % attacker_cfgs)
+        LOG.debug("attackerMgr confg: %s", attacker_cfgs)
 
         for cfg in attacker_cfgs:
             attacker_cls = BaseAttacker.get_attacker_cls(cfg)
@@ -34,6 +36,8 @@ class AttackerMgr(object):
             attacker_ins.key = cfg['key']
             attacker_ins.setup()
             self._attacker_list.append(attacker_ins)
+            self.data = dict(self.data.items() + attacker_ins.data.items())
+        return self.data
 
     def __getitem__(self, item):
         for obj in self._attacker_list:
@@ -56,11 +60,12 @@ class BaseAttacker(object):
 
         self._config = config
         self._context = context
+        self.data = {}
         self.setup_done = False
 
     @staticmethod
     def get_attacker_cls(attacker_cfg):
-        '''return attacker instance of specified type'''
+        """return attacker instance of specified type"""
         attacker_type = attacker_cfg['fault_type']
         for attacker_cls in utils.itersubclasses(BaseAttacker):
             if attacker_type == attacker_cls.__attacker_type__: