From fe3d086141f85d4fa6ed7cbaca70222e223c3323 Mon Sep 17 00:00:00 2001 From: Ross Brattain Date: Thu, 21 Sep 2017 15:00:30 -0700 Subject: tg_rfc2544_ixia: log exceptions and fix list iter Change-Id: Ia9722604b7c8ae23e784e780f113d012de544d4b Signed-off-by: Ross Brattain --- .../vnf_generic/vnf/test_tg_rfc2544_ixia.py | 18 +++++++++++------- .../vnf_generic/vnf/tg_rfc2544_ixia.py | 16 +++++++++------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_ixia.py b/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_ixia.py index 0c3520c44..f62a0fb3b 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_ixia.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_ixia.py @@ -252,7 +252,8 @@ class TestIXIATrafficGen(unittest.TestCase): mock_traffic_profile = mock.Mock(autospec=TrafficProfile) mock_traffic_profile.get_traffic_definition.return_value = "64" mock_traffic_profile.params = self.TRAFFIC_PROFILE - mock_traffic_profile.ports = ["xe0", "xe1"] + # traffic_profile.ports is standardized on port_num + mock_traffic_profile.ports = [0, 1] mock_ssh_instance = mock.Mock(autospec=mock_ssh.SSH) mock_ssh_instance.execute.return_value = 0, "", "" @@ -346,9 +347,12 @@ class TestIXIATrafficGen(unittest.TestCase): 'task_path': '/path/to/task' } - with mock.patch('yardstick.benchmark.scenarios.networking.vnf_generic.open', - create=True) as mock_open: - with mock.patch('yardstick.network_services.vnf_generic.vnf.tg_rfc2544_ixia.open', - create=True) as mock_ixia_open: - result = sut._traffic_runner(mock_traffic_profile) - self.assertIsNone(result) + @mock.patch('yardstick.benchmark.scenarios.networking.vnf_generic.open', create=True) + @mock.patch('yardstick.network_services.vnf_generic.vnf.tg_rfc2544_ixia.open', + mock.mock_open(), create=True) + @mock.patch('yardstick.network_services.vnf_generic.vnf.tg_rfc2544_ixia.LOG.exception') + def _traffic_runner(*args): + result = sut._traffic_runner(mock_traffic_profile) + self.assertIsNone(result) + + _traffic_runner() diff --git a/yardstick/network_services/vnf_generic/vnf/tg_rfc2544_ixia.py b/yardstick/network_services/vnf_generic/vnf/tg_rfc2544_ixia.py index cd9553d12..12266d6ad 100644 --- a/yardstick/network_services/vnf_generic/vnf/tg_rfc2544_ixia.py +++ b/yardstick/network_services/vnf_generic/vnf/tg_rfc2544_ixia.py @@ -81,11 +81,13 @@ class IxiaResourceHelper(ClientResourceHelper): latency = stats[0] samples = {} - for port_name in ports: + # this is not DPDK port num, but this is whatever number we gave + # when we selected ports and programmed the profile + for port_num in ports: try: - # this is not DPDK port num, but this is whatever number we gave - # when we selected ports and programmed the profile - port_num = self.vnfd_helper.port_num(port_name) + # reverse lookup port name from port_num so the stats dict is descriptive + intf = self.vnfd_helper.find_interface_by_port(port_num) + port_name = intf["name"] samples[port_name] = { "rx_throughput_kps": float(last_result["Rx_Rate_Kbps"][port_num]), "tx_throughput_kps": float(last_result["Tx_Rate_Kbps"][port_num]), @@ -140,9 +142,9 @@ class IxiaResourceHelper(ClientResourceHelper): mac = {} for vld_id, traffic in static_traffic.items(): intfs = self.vnfd_helper.port_pairs.networks.get(vld_id, []) - interface = next(intfs, None) + interface = next(iter(intfs), None) if interface: - virt_intf = interface["virtual-interface"] + virt_intf = self.vnfd_helper.find_interface(name=interface)["virtual-interface"] # we only know static traffic id by reading the json # this is used by _get_ixia_traffic_profile mac["src_mac_{}".format(traffic["id"])] = virt_intf.get("local_mac", default) @@ -169,7 +171,7 @@ class IxiaResourceHelper(ClientResourceHelper): self.client.ix_stop_traffic() self._queue.put(samples) except Exception: - LOG.info("Run Traffic terminated") + LOG.exception("Run Traffic terminated") if not self.rfc_helper.is_done(): self._terminated.value = 1 -- cgit 1.2.3-korg