X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2Fnetwork_services%2Fvnf_generic%2Fvnf%2Ftg_prox.py;h=151252ce899dbcb0b3d9bc5393182816e25f577a;hb=f105602bfb6049b91d8e86aa396c1725755c2a96;hp=b4568bf4b460b8dea159e4f55bdca7105c112131;hpb=0e21cfca2c8cd9cf9d06480d0f6e0b8e7535808d;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..151252ce8 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,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,31 @@ 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 - - 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 + # used for generating stats + self.vpci_if_name_ascending = self._sort_vpci(vnfd) + self.resource_helper.vpci_if_name_ascending = self._sort_vpci(vnfd) 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()