diff options
author | Martin Klozik <martinx.klozik@intel.com> | 2016-10-11 12:41:57 +0100 |
---|---|---|
committer | Martin Klozik <martinx.klozik@intel.com> | 2016-10-27 13:20:19 +0000 |
commit | 9c13028cf9b29da86e5b12c5d3b8c4d6bd858545 (patch) | |
tree | bfff243bcfa31ec2db5b92a0d507bcecbc7fcd2c /core/vnf_controller.py | |
parent | adfdd0db071cf8247434cb456cc676144323719f (diff) |
teststeps: Generic support of step driven tests
In the past, step driven testcases were supported
only by integration testcases. This patch adds generic
support of TestSteps for both integration and performance
testcases. Step driven test were improved to support
modification of existing deployment. As part of
the patch a refactoring of traffic controllers
were performed. Traffic controllers were modified
to support trafficgen-off and trafficgen-pause
modes in all possible ways of trafficgen invocation.
JIRA: VSPERF-362
Change-Id: Ic8b7a9b0e7165f0a15a52279ed0f0952da9fedb8
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com>
Reviewed-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
Diffstat (limited to 'core/vnf_controller.py')
-rw-r--r-- | core/vnf_controller.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/core/vnf_controller.py b/core/vnf_controller.py index 3e472f04..937cd5cc 100644 --- a/core/vnf_controller.py +++ b/core/vnf_controller.py @@ -31,10 +31,14 @@ class VnfController(object): _vnfs: A list of vnfs controlled by the controller. """ - def __init__(self, deployment, vnf_class): + def __init__(self, deployment, vnf_class, extra_vnfs): """Sets up the VNF infrastructure based on deployment scenario :param vnf_class: The VNF class to be used. + :param extra_vnfs: The number of VNFs not involved in given + deployment scenario. It will be used to correctly expand + configuration values and initialize shared dirs. This parameter + is used in case, that additional VNFs are executed by TestSteps. """ # reset VNF ID counter for each testcase IVnf.reset_vnf_counter() @@ -57,9 +61,9 @@ class VnfController(object): # without VNFs like p2p vm_number = 0 - if vm_number: - self._logger.debug('Check configuration for %s guests.', vm_number) - settings.check_vm_settings(vm_number) + if vm_number + extra_vnfs > 0: + self._logger.debug('Check configuration for %s guests.', vm_number + extra_vnfs) + settings.check_vm_settings(vm_number + extra_vnfs) # enforce that GUEST_NIC_NR is 1 or even number of NICs updated = False nics_nr = settings.getValue('GUEST_NICS_NR') @@ -73,10 +77,11 @@ class VnfController(object): 'was updated to GUEST_NICS_NR = %s', settings.getValue('GUEST_NICS_NR')) + if vm_number: self._vnfs = [vnf_class() for _ in range(vm_number)] - self._logger.debug('__init__ ' + str(len(self._vnfs)) + - ' VNF[s] with ' + ' '.join(map(str, self._vnfs))) + self._logger.debug('__init__ ' + str(len(self._vnfs)) + + ' VNF[s] with ' + ' '.join(map(str, self._vnfs))) def get_vnfs(self): """Returns a list of vnfs controlled by this controller. |