X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2Fnetwork_services%2Fvnf_generic%2Fvnf%2Ftg_prox.py;h=c266f2c0f9295b91ffc4b89e4dc6b87431db29c4;hb=0a24ca320c46c10a50d38b8eab6336eb0e32f8c9;hp=b4568bf4b460b8dea159e4f55bdca7105c112131;hpb=4a5bc16d841221e8ac7853b3044e50af0c8143d2;p=yardstick.git diff --git a/yardstick/network_services/vnf_generic/vnf/tg_prox.py b/yardstick/network_services/vnf_generic/vnf/tg_prox.py index b4568bf4b..c266f2c0f 100644 --- a/yardstick/network_services/vnf_generic/vnf/tg_prox.py +++ b/yardstick/network_services/vnf_generic/vnf/tg_prox.py @@ -16,9 +16,8 @@ from __future__ import print_function, absolute_import import logging - -from yardstick.network_services.vnf_generic.vnf.prox_helpers import ProxDpdkVnfSetupEnvHelper -from yardstick.network_services.vnf_generic.vnf.prox_helpers import ProxResourceHelper +from yardstick.network_services.utils import get_nsb_option +from yardstick.network_services.vnf_generic.vnf.prox_vnf import ProxApproxVnf from yardstick.network_services.vnf_generic.vnf.sample_vnf import SampleVNFTrafficGen LOG = logging.getLogger(__name__) @@ -26,8 +25,10 @@ LOG = logging.getLogger(__name__) class ProxTrafficGen(SampleVNFTrafficGen): + APP_NAME = 'ProxTG' PROX_MODE = "Traffic Gen" LUA_PARAMETER_NAME = "gen" + WAIT_TIME = 1 @staticmethod def _sort_vpci(vnfd): @@ -44,26 +45,35 @@ class ProxTrafficGen(SampleVNFTrafficGen): return sorted(ext_intf, key=key_func) def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None): - if setup_env_helper_type is None: - setup_env_helper_type = ProxDpdkVnfSetupEnvHelper - - if resource_helper_type is None: - resource_helper_type = ProxResourceHelper + # don't call superclass, use custom wrapper of ProxApproxVnf + self._vnf_wrapper = ProxApproxVnf(name, vnfd, setup_env_helper_type, resource_helper_type) + self.bin_path = get_nsb_option('bin_path', '') + self.name = self._vnf_wrapper.name + self.ssh_helper = self._vnf_wrapper.ssh_helper + self.setup_helper = self._vnf_wrapper.setup_helper + self.resource_helper = self._vnf_wrapper.resource_helper + self.scenario_helper = self._vnf_wrapper.scenario_helper + + self.runs_traffic = True + self.traffic_finished = False + self.tg_port_pairs = None + self._tg_process = None + self._traffic_process = None - super(ProxTrafficGen, self).__init__(name, vnfd, setup_env_helper_type, - resource_helper_type) - self._result = {} - # for some reason + # used for generating stats self.vpci_if_name_ascending = self._sort_vpci(vnfd) - self._traffic_process = None + self.resource_helper.vpci_if_name_ascending = self._sort_vpci(vnfd) def listen_traffic(self, traffic_profile): pass def terminate(self): + self._vnf_wrapper.terminate() super(ProxTrafficGen, self).terminate() - self.resource_helper.terminate() - if self._traffic_process: - self._traffic_process.terminate() - self.ssh_helper.execute("pkill prox") - self.resource_helper.rebind_drivers() + + def instantiate(self, scenario_cfg, context_cfg): + self._vnf_wrapper.instantiate(scenario_cfg, context_cfg) + self._tg_process = self._vnf_wrapper._vnf_process + + def wait_for_instantiate(self): + self._vnf_wrapper.wait_for_instantiate()