X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2Fnetwork_services%2Fvnf_generic%2Fvnf%2Ftg_prox.py;h=282dd92c557ba89ad97fccaffcd0976826a34c73;hb=5cc6023d88bb6f57cc86957369f5f0516a466c8a;hp=b4568bf4b460b8dea159e4f55bdca7105c112131;hpb=a4d2958ddb727c2aaf46956cbdbf7718bfd0be89;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..282dd92c5 100644 --- a/yardstick/network_services/vnf_generic/vnf/tg_prox.py +++ b/yardstick/network_services/vnf_generic/vnf/tg_prox.py @@ -12,13 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -from __future__ import print_function, absolute_import +from __future__ import 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,44 +25,33 @@ LOG = logging.getLogger(__name__) class ProxTrafficGen(SampleVNFTrafficGen): + APP_NAME = 'ProxTG' PROX_MODE = "Traffic Gen" LUA_PARAMETER_NAME = "gen" - - @staticmethod - def _sort_vpci(vnfd): - """ - - :param vnfd: vnfd.yaml - :return: trex_cfg.yaml file - """ - - def key_func(interface): - return interface["virtual-interface"]["vpci"], interface["name"] - - ext_intf = vnfd["vdu"][0]["external-interface"] - return sorted(ext_intf, key=key_func) + WAIT_TIME = 1 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 - - super(ProxTrafficGen, self).__init__(name, vnfd, setup_env_helper_type, - resource_helper_type) - self._result = {} - # for some reason - self.vpci_if_name_ascending = self._sort_vpci(vnfd) + # 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_process = None self._traffic_process = None - 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()