From bf378f2973e129527f2abde54094799303db0d07 Mon Sep 17 00:00:00 2001 From: Martin Klozik Date: Tue, 18 Aug 2015 15:33:14 +0100 Subject: Support of configurable background load and implementation of LTD.CPU.RFC2544.0PacketLoss and LTD.Memory.RFC2544.0PacketLoss Every testcase can be configured to run background load on the DUT. Load is generated by chosen command line tool, which must be installed according to the installation.md. Currently 'stress' and 'stress-ng' tools are supported, but support for new tool can be easily added. Load can be configured by testcase configuration option 'load'. Details about supported load generator options can be found in conf/01_testcases.conf. JIRA: VSPERF-23 JIRA: VSPERF-24 Change-Id: I3e1aebc0d41357f5a2764015c41ffc7e50fdbf8b Signed-off-by: Martin Klozik Reviewed-by: Billy O Mahony Reviewed-by: Maryam Tahhan Reviewed-by: Al Morton --- testcases/testcase.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'testcases') diff --git a/testcases/testcase.py b/testcases/testcase.py index 6191a117..16e222bf 100644 --- a/testcases/testcase.py +++ b/testcases/testcase.py @@ -44,6 +44,15 @@ class TestCase(object): self._collector = cfg['Collector'] self._bidir = cfg['biDirectional'] self._frame_mod = cfg.get('Frame Modification', None) + + # check if test requires background load and which generator it uses + self._load_cfg = cfg.get('Load', None) + if self._load_cfg and 'tool' in self._load_cfg: + self._loadgen = self._load_cfg['tool'] + else: + # background load is not requested, so use dummy implementation + self._loadgen = "Dummy" + if self._frame_mod: self._frame_mod = self._frame_mod.lower() self._results_dir = results_dir @@ -71,12 +80,15 @@ class TestCase(object): collector_ctl = component_factory.create_collector( self._collector, loader.get_collector_class()) - + loadgen = component_factory.create_loadgen( + self._loadgen, + self._load_cfg) self._logger.debug("Setup:") collector_ctl.log_cpu_stats() - with vswitch_ctl: + with vswitch_ctl, loadgen: with vnf_ctl: + vnf_ctl.start() traffic = {'traffic_type': self._traffic_type, 'bidir': self._bidir, 'multistream': self._multistream} -- cgit 1.2.3-korg