summaryrefslogtreecommitdiffstats
path: root/core/component_factory.py
diff options
context:
space:
mode:
Diffstat (limited to 'core/component_factory.py')
-rw-r--r--core/component_factory.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/core/component_factory.py b/core/component_factory.py
index 1fe0964e..f92de204 100644
--- a/core/component_factory.py
+++ b/core/component_factory.py
@@ -21,6 +21,9 @@ from core.vswitch_controller_pvp import VswitchControllerPVP
from core.vnf_controller_p2p import VnfControllerP2P
from core.vnf_controller_pvp import VnfControllerPVP
from core.collector_controller import CollectorController
+from tools.load_gen.stress.stress import Stress
+from tools.load_gen.stress_ng.stress_ng import StressNg
+from tools.load_gen.dummy.dummy import DummyLoadGen
def __init__():
@@ -98,3 +101,22 @@ def create_collector(collector, collector_class):
if "cpu" in collector or "memory" in collector:
return CollectorController(collector_class)
+def create_loadgen(loadgen_type, loadgen_cfg):
+ """Return a new ILoadGenerator for the loadgen type.
+
+ The returned load generator has the given loadgen type and loadgen
+ generator class.
+
+ :param loadgen_type: Name of loadgen type
+ :param loadgen_class: Reference to load generator class to be used.
+ :return: A new ILoadGenerator class
+ """
+ loadgen_type = loadgen_type.lower()
+ if loadgen_type.find("dummy") >= 0:
+ return DummyLoadGen(loadgen_cfg)
+ elif loadgen_type.find("stress-ng") >= 0:
+ return StressNg(loadgen_cfg)
+ elif loadgen_type.find("stress") >= 0:
+ return Stress(loadgen_cfg)
+
+