summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOrest Voznyy <orestx.voznyy@intel.com>2018-10-08 20:06:02 +0300
committerAbhijit Sinha <abhijit.sinha@intel.com>2018-10-26 12:40:46 +0000
commitae2ceba66519555749c67eefe2170ea716a1411b (patch)
treeacbe8d3f75287841a3923e23e023b799c685c4c1
parenta4084d27de22c64ecb690369c7bed49175703adf (diff)
Add traffic duration support in test case
Implement code to support traffic_duration field in test case options. This updates the 'duration' in Landslide session profile. traffic_duration should always be much less than runner duration/timeout. JIRA: YARDSTICK-1427 Change-Id: I51094bade683ca8758136ccb619e8894a2ecef72 Signed-off-by: Orest Voznyy <orestx.voznyy@intel.com>
-rw-r--r--samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide.yaml1
-rw-r--r--yardstick/network_services/vnf_generic/vnf/tg_landslide.py7
-rw-r--r--yardstick/tests/unit/network_services/vnf_generic/vnf/test_tg_landslide.py21
3 files changed, 26 insertions, 3 deletions
diff --git a/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide.yaml b/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide.yaml
index 0b94d313f..ee17df138 100644
--- a/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide.yaml
+++ b/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide.yaml
@@ -27,6 +27,7 @@ scenarios:
tg__0: tg__0.traffic_gen
vnf__0: vnf__0.vnf_epc
options:
+ traffic_duration: 70
dmf:
transactionRate: 5
packetSize: 512
diff --git a/yardstick/network_services/vnf_generic/vnf/tg_landslide.py b/yardstick/network_services/vnf_generic/vnf/tg_landslide.py
index a146b72ca..157568618 100644
--- a/yardstick/network_services/vnf_generic/vnf/tg_landslide.py
+++ b/yardstick/network_services/vnf_generic/vnf/tg_landslide.py
@@ -600,6 +600,13 @@ class LandslideResourceHelper(sample_vnf.ClientResourceHelper):
def create_test_session(self, test_session):
# Use tcl client to create session
test_session['library'] = self._user_id
+
+ # If no traffic duration set in test case, use predefined default value
+ # in session profile
+ test_session['duration'] = self.scenario_helper.all_options.get(
+ 'traffic_duration',
+ test_session['duration'])
+
LOG.debug("Creating session='%s'", test_session['name'])
self._tcl.create_test_session(test_session)
diff --git a/yardstick/tests/unit/network_services/vnf_generic/vnf/test_tg_landslide.py b/yardstick/tests/unit/network_services/vnf_generic/vnf/test_tg_landslide.py
index 53439972a..15f7b36c7 100644
--- a/yardstick/tests/unit/network_services/vnf_generic/vnf/test_tg_landslide.py
+++ b/yardstick/tests/unit/network_services/vnf_generic/vnf/test_tg_landslide.py
@@ -337,6 +337,7 @@ class TestLandslideTrafficGen(unittest.TestCase):
'traffic_profile': '../../traffic_profiles/landslide/'
'landslide_dmf_udp.yaml',
'options': {
+ 'traffic_duration': 71,
'test_cases': [
{
'BearerAddrPool': '2002::2',
@@ -1178,10 +1179,24 @@ class TestLandslideResourceHelper(unittest.TestCase):
def test_create_test_session_res_helper(self, *args):
self.res_helper._user_id = self.SUCCESS_RECORD_ID
self.res_helper._tcl = mock.Mock()
- test_session = {'name': 'test'}
- self.assertIsNone(self.res_helper.create_test_session(test_session))
+ self.res_helper.scenario_helper.all_options = {'traffic_duration': 71}
+ _session = {'name': 'test', 'duration': 60}
+ self.assertIsNone(self.res_helper.create_test_session(_session))
self.res_helper._tcl.create_test_session.assert_called_once_with(
- {'name': 'test', 'library': self.SUCCESS_RECORD_ID})
+ {'name': _session['name'],
+ 'duration': 71,
+ 'library': self.SUCCESS_RECORD_ID})
+
+ def test_create_test_session_res_helper_no_traffic_duration(self, *args):
+ self.res_helper._user_id = self.SUCCESS_RECORD_ID
+ self.res_helper._tcl = mock.Mock()
+ self.res_helper.scenario_helper.all_options = {}
+ _session = {'name': 'test', 'duration': 60}
+ self.assertIsNone(self.res_helper.create_test_session(_session))
+ self.res_helper._tcl.create_test_session.assert_called_once_with(
+ {'name': _session['name'],
+ 'duration': 60,
+ 'library': self.SUCCESS_RECORD_ID})
@mock.patch.object(tg_landslide.LandslideTclClient,
'resolve_test_server_name',