X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2Fnetwork_services%2Fvnf_generic%2Fvnf%2Ftg_rfc2544_ixia.py;h=630c8b9c0e7c0a9dbaeaf4b03d48bf04b8caca06;hb=f105602bfb6049b91d8e86aa396c1725755c2a96;hp=12266d6adefb97fd7a7e61ae049c58d20bfeb87e;hpb=c84187fc404d44082826f98b47c28d3d8f6690e5;p=yardstick.git 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 12266d6ad..630c8b9c0 100644 --- a/yardstick/network_services/vnf_generic/vnf/tg_rfc2544_ixia.py +++ b/yardstick/network_services/vnf_generic/vnf/tg_rfc2544_ixia.py @@ -14,7 +14,6 @@ from __future__ import absolute_import -import json import time import os import logging @@ -130,39 +129,28 @@ class IxiaResourceHelper(ClientResourceHelper): self.client.ix_assign_ports() - ixia_file = find_relative_file("ixia_traffic.cfg", - self.scenario_helper.scenario_cfg["task_path"]) - - static_traffic = {} - with open(ixia_file) as stream: - try: - static_traffic = json.load(stream) - except Exception: - LOG.exception("") mac = {} - for vld_id, traffic in static_traffic.items(): - intfs = self.vnfd_helper.port_pairs.networks.get(vld_id, []) - interface = next(iter(intfs), None) - if 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) - mac["dst_mac_{}".format(traffic["id"])] = virt_intf.get("dst_mac", default) + for port_name in self.vnfd_helper.port_pairs.all_ports: + intf = self.vnfd_helper.find_interface(name=port_name) + virt_intf = intf["virtual-interface"] + # we only know static traffic id by reading the json + # this is used by _get_ixia_trafficrofile + port_num = self.vnfd_helper.port_num(intf) + mac["src_mac_{}".format(port_num)] = virt_intf.get("local_mac", default) + mac["dst_mac_{}".format(port_num)] = virt_intf.get("dst_mac", default) samples = {} # Generate ixia traffic config... try: while not self._terminated.value: - traffic_profile.execute_traffic(self, self.client, mac, ixia_file) + traffic_profile.execute_traffic(self, self.client, mac) self.client_started.value = 1 time.sleep(WAIT_FOR_TRAFFIC) self.client.ix_stop_traffic() samples = self.generate_samples(traffic_profile.ports) self._queue.put(samples) status, samples = traffic_profile.get_drop_percentage(self, samples, min_tol, - max_tol, self.client, mac, - ixia_file) + max_tol, self.client, mac) current = samples['CurrentDropPercentage'] if min_tol <= current <= max_tol or status == 'Completed': @@ -170,24 +158,25 @@ class IxiaResourceHelper(ClientResourceHelper): self.client.ix_stop_traffic() self._queue.put(samples) - except Exception: - LOG.exception("Run Traffic terminated") - if not self.rfc_helper.is_done(): - self._terminated.value = 1 - return + if not self.rfc_helper.is_done(): + self._terminated.value = 1 + return + + traffic_profile.execute_traffic(self, self.client, mac) + for _ in range(5): + time.sleep(self.LATENCY_TIME_SLEEP) + self.client.ix_stop_traffic() + samples = self.generate_samples(traffic_profile.ports, 'latency', {}) + self._queue.put(samples) + traffic_profile.start_ixia_latency(self, self.client, mac) + if self._terminated.value: + break - traffic_profile.execute_traffic(self, self.client, mac, ixia_file) - for _ in range(5): - time.sleep(self.LATENCY_TIME_SLEEP) self.client.ix_stop_traffic() - samples = self.generate_samples(traffic_profile.ports, 'latency', {}) - self._queue.put(samples) - traffic_profile.start_ixia_latency(self, self.client, mac, ixia_file) - if self._terminated.value: - break + except Exception: # pylint: disable=broad-except + LOG.exception("Run Traffic terminated") - self.client.ix_stop_traffic() self._terminated.value = 1 def collect_kpi(self): @@ -212,16 +201,6 @@ class IxiaTrafficGen(SampleVNFTrafficGen): def _check_status(self): pass - def scale(self, flavor=""): - pass - - def listen_traffic(self, traffic_profile): - pass - def terminate(self): self.resource_helper.stop_collect() super(IxiaTrafficGen, self).terminate() - - def wait_for_instantiate(self): - # not needed for IxNet - pass