diff options
18 files changed, 89 insertions, 86 deletions
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py b/VNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py index 8d627e5e..e488f352 100755 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py @@ -50,7 +50,7 @@ def main(): rapid_stack_params = {} RapidStackManager.parse_config(rapid_stack_params) log_file = 'CREATE{}.log'.format(rapid_stack_params['stack_name']) - RapidLog.log_init(log_file, 'DEBUG', 'INFO', '2020.05.05') + RapidLog.log_init(log_file, 'DEBUG', 'INFO', '2020.09.23') #cloud_name = 'openstackL6' #stack_name = 'rapid' #heat_template = 'openstack-rapid.yaml' diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/deploycentostools.sh b/VNFs/DPPD-PROX/helper-scripts/rapid/deploycentostools.sh index f90283ef..47ddaaaa 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/deploycentostools.sh +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/deploycentostools.sh @@ -18,11 +18,11 @@ # Directory for package build BUILD_DIR="/opt/rapid" DPDK_VERSION="20.05" -PROX_COMMIT="ba394f91" +PROX_COMMIT="80dfeb5c734cc4d681f467e853a541a8a91fe1cf" PROX_CHECKOUT="git checkout ${PROX_COMMIT}" ## Next line is overruling the PROX_COMMIT and will replace the version with a very specific patch. Should be commented out ## if you want to use a committed version of PROX with the COMMIT ID specified above -##Following line has the commit for testing IMIX, IPV6, ... It is the merge of all PROX commits on May 27th 2020 +## As an example: Following line has the commit for testing IMIX, IPV6, ... It is the merge of all PROX commits on May 27th 2020 #PROX_CHECKOUT="git fetch \"https://gerrit.opnfv.org/gerrit/samplevnf\" refs/changes/23/70223/1 && git checkout FETCH_HEAD" MULTI_BUFFER_LIB_VER="0.52" export RTE_SDK="${BUILD_DIR}/dpdk-${DPDK_VERSION}" diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/gen.cfg b/VNFs/DPPD-PROX/helper-scripts/rapid/gen.cfg index 1827395f..717915d1 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/gen.cfg +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/gen.cfg @@ -28,7 +28,7 @@ rx desc=2048 tx desc=2048 vlan=yes vdev=gen_tap -local ipv4=${local_ip1} +local ipv4=${local_ip1}/24 [variables] diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/gen_gw.cfg b/VNFs/DPPD-PROX/helper-scripts/rapid/gen_gw.cfg index fc3b6a68..f53b41d5 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/gen_gw.cfg +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/gen_gw.cfg @@ -28,7 +28,7 @@ rx desc=2048 tx desc=2048 vlan=yes vdev=gen_tap -local ipv4=${local_ip1} +local ipv4=${local_ip1}/24 [variables] $mbs=8 diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/impair.cfg b/VNFs/DPPD-PROX/helper-scripts/rapid/impair.cfg index d9d86281..cb3f349e 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/impair.cfg +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/impair.cfg @@ -29,7 +29,7 @@ rx desc=2048 tx desc=2048 vlan=yes vdev=impair_tap -local ipv4=${local_ip1} +local ipv4=${local_ip1}/24 [defaults] @@ -49,4 +49,5 @@ sub mode=l3 rx port=if0 tx port=if0 delay us=1000 -probability=100 +proba delay=50 +proba no drop=100 diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/l2gen.cfg b/VNFs/DPPD-PROX/helper-scripts/rapid/l2gen.cfg index 74ac20e2..e0942212 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/l2gen.cfg +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/l2gen.cfg @@ -48,8 +48,6 @@ tx port=p0 bps=1250000000 pkt inline=${dest_hex_mac1} 00 00 00 00 00 00 08 00 45 00 00 2e 00 01 00 00 40 11 f7 7d ${local_hex_ip1} ${dest_hex_ip1} 0b b8 0b b9 00 1a 55 7b pkt size=60 -;gateway ipv4=${gw_ip1} -local ipv4=${local_ip1} min bulk size=$mbs max bulk size=16 drop=yes diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/l2gen_bare.cfg b/VNFs/DPPD-PROX/helper-scripts/rapid/l2gen_bare.cfg index ff9ef8b8..1a8dddb3 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/l2gen_bare.cfg +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/l2gen_bare.cfg @@ -48,7 +48,6 @@ tx port=p0 bps=1250000000 pkt inline=${dest_hex_mac1} 00 00 00 00 00 00 08 00 45 00 00 2e 00 01 00 00 40 11 f7 7d ${local_hex_ip1} ${dest_hex_ip1} 0b b8 0b b9 00 1a 55 7b pkt size=60 -local ipv4=${local_ip1} min bulk size=$mbs max bulk size=64 drop=yes diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/params_rapid.yaml b/VNFs/DPPD-PROX/helper-scripts/rapid/params_rapid.yaml index 941fba03..6b1d863c 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/params_rapid.yaml +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/params_rapid.yaml @@ -1,7 +1,7 @@ parameters:
public_net_name: admin_floating_net
data_net_name: dataplane-network
- PROX_image: testrapidVM
+ PROX_image: rapidVM
my_availability_zone: nova
security_group: prox_security_group
PROXVM_count: 4
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/prox_ctrl.py b/VNFs/DPPD-PROX/helper-scripts/rapid/prox_ctrl.py index a6dd4bcb..586731eb 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/prox_ctrl.py +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/prox_ctrl.py @@ -34,9 +34,6 @@ class prox_ctrl(object): self._user = user self._proxsock = [] - def __del__(self): - self.close() - def ip(self): return self._ip @@ -89,7 +86,6 @@ class prox_ctrl(object): return sock def close(self): - """Must be called before program termination.""" for sock in self._proxsock: sock.quit() @@ -187,9 +183,6 @@ class prox_sock(object): self._sock = sock self._rcvd = b'' - def __del__(self): - self.quit() - def quit(self): if self._sock is not None: self._send('quit') diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_defaults.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_defaults.py index 2aa1acc1..404e6e32 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_defaults.py +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_defaults.py @@ -21,7 +21,7 @@ class RapidDefaults(object): Class to define the test defaults """ test_params = { - 'version' : '2020.04.15', # Please do NOT change, used for debugging + 'version' : '2020.09.23', # Please do NOT change, used for debugging 'environment_file' : 'rapid.env', #Default string for environment 'test_file' : 'basicrapid.test', #Default string for test 'machine_map_file' : 'machine.map', #Default string for machine map file diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py index e5405081..ca3b5a2f 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py @@ -138,7 +138,7 @@ class FlowSizeTest(RapidTest): self.set_background_speed(self.background_machines, speed) self.start_background_traffic(self.background_machines) # Get statistics now that the generation is stable and initial ARP messages are dealt with - pps_req_tx,pps_tx,pps_sut_tx,pps_rx,lat_avg,lat_perc , lat_perc_max, lat_max, abs_tx,abs_rx,abs_dropped, abs_tx_fail, drop_rate, lat_min, lat_used, r, actual_duration = self.run_iteration(float(self.test['runtime']),flow_number,size,speed) + pps_req_tx,pps_tx,pps_sut_tx,pps_rx,lat_avg,lat_perc , lat_perc_max, lat_max, abs_tx,abs_rx,abs_dropped, abs_tx_fail, drop_rate, lat_min, lat_used, r, actual_duration, avg_bg_rate = self.run_iteration(float(self.test['runtime']),flow_number,size,speed) self.stop_background_traffic(self.background_machines) if r > 1: retry_warning = bcolors.WARNING + ' {:1} retries needed'.format(r) + bcolors.ENDC @@ -164,6 +164,7 @@ class FlowSizeTest(RapidTest): enddrop_rate = drop_rate endabs_tx = abs_tx endabs_rx = abs_rx + endavg_bg_rate = avg_bg_rate if lat_warning or retry_warning: endwarning = '| | {:177.177} |'.format(retry_warning + lat_warning) success = True @@ -196,6 +197,7 @@ class FlowSizeTest(RapidTest): enddrop_rate = drop_rate endabs_tx = abs_tx endabs_rx = abs_rx + endavg_bg_rate = avg_bg_rate if lat_warning or gen_warning or retry_warning: endwarning = '| | {:186.186} |'.format(retry_warning + lat_warning + gen_warning) success = True @@ -241,6 +243,10 @@ class FlowSizeTest(RapidTest): TestPassed = False speed_prefix = lat_avg_prefix = lat_perc_prefix = lat_max_prefix = abs_drop_rate_prefix = drop_rate_prefix = bcolors.ENDC RapidLog.info(self.report_result(flow_number,size,endspeed,endpps_req_tx,endpps_tx,endpps_sut_tx,endpps_rx,endlat_avg,endlat_perc,endlat_perc_max,endlat_max,endabs_tx,endabs_rx,endabs_dropped,actual_duration,speed_prefix,lat_avg_prefix,lat_perc_prefix,lat_max_prefix,abs_drop_rate_prefix,drop_rate_prefix)) + if endavg_bg_rate: + tot_avg_rx_rate = endpps_rx + (endavg_bg_rate * len(self.background_machines)) + endtotaltrafficrate = '| | Total amount of traffic received by all generators during this test: {:>4.3f} Gb/s {:7.3f} Mpps {} |'.format(RapidTest.get_speed(tot_avg_rx_rate,size) , tot_avg_rx_rate, ' '*84) + RapidLog.info (endtotaltrafficrate) if endwarning: RapidLog.info (endwarning) RapidLog.info("+--------+------------------+-------------+-------------+-------------+------------------------+----------+----------+----------+-----------+-----------+-----------+-----------+-------+----+") diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_generator_machine.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_generator_machine.py index 1cd1fa33..dee40d94 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_generator_machine.py +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_generator_machine.py @@ -103,10 +103,10 @@ class RapidGeneratorMachine(RapidMachine): appendix = appendix + 'heartbeat="60"\n' super().generate_lua(vim, appendix) - def start_prox(self): + def start_prox(self, configonly=False): # Start the generator with the -e option so that the cores don't # start automatically - super().start_prox('-e') + super().start_prox(configonly, '-e') def set_generator_speed(self, speed): # The assumption is that we only use task 0 for generating diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_impairtest.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_impairtest.py index 0f925552..74d624d5 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_impairtest.py +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_impairtest.py @@ -57,7 +57,7 @@ class ImpairTest(RapidTest): sys.stdout.flush() time.sleep(1) # Get statistics now that the generation is stable and NO ARP messages any more - pps_req_tx,pps_tx,pps_sut_tx,pps_rx,lat_avg, lat_perc, lat_perc_max, lat_max, abs_tx, abs_rx, abs_dropped, abs_tx_fail, drop_rate, lat_min, lat_used, r, actual_duration = self.run_iteration(float(self.test['runtime']),flow_number,size,speed) + pps_req_tx,pps_tx,pps_sut_tx,pps_rx,lat_avg, lat_perc, lat_perc_max, lat_max, abs_tx, abs_rx, abs_dropped, abs_tx_fail, drop_rate, lat_min, lat_used, r, actual_duration, _ = self.run_iteration(float(self.test['runtime']),flow_number,size,speed) # Drop rate is expressed in percentage. lat_used is a ratio (0 to 1). The sum of these 2 should be 100%. # If the sum is lower than 95, it means that more than 5% of the latency measurements where dropped for accuracy reasons. if (drop_rate + lat_used * 100) < 95: diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_machine.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_machine.py index a9f53083..4a0bcb82 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_machine.py +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_machine.py @@ -48,12 +48,13 @@ class RapidMachine(object): self.vim = vim def __del__(self): - self._client.scp_get('/prox.log', './{}.prox.log'.format(self.name)) + if self.machine_params['prox_socket']: + self._client.scp_get('/prox.log', './{}.prox.log'.format(self.name)) def get_cores(self): return (self.machine_params['cores']) - def devbind(self): + def devbind(self, configonly): # Script to bind the right network interface to the poll mode driver for index, dp_port in enumerate(self.dp_ports, start = 1): DevBindFileName = self.rundir + '/devbind-{}-port{}.sh'.format(self.ip, index) @@ -61,8 +62,9 @@ class RapidMachine(object): cmd = 'sed -i \'s/MACADDRESS/' + dp_port['mac'] + '/\' ' + DevBindFileName result = self._client.run_cmd(cmd) RapidLog.debug('devbind.sh MAC updated for port {} on {} {}'.format(index, self.name, result)) - result = self._client.run_cmd(DevBindFileName) - RapidLog.debug('devbind.sh running for port {} on {} {}'.format(index, self.name, result)) + if ((not configonly) and self.machine_params['prox_launch_exit']): + result = self._client.run_cmd(DevBindFileName) + RapidLog.debug('devbind.sh running for port {} on {} {}'.format(index, self.name, result)) def generate_lua(self, vim, appendix = ''): PROXConfigfile = open (self.machine_params['config_file'], 'r') @@ -93,25 +95,28 @@ class RapidMachine(object): self._client.scp_put(self.LuaFileName, self.rundir + '/parameters.lua') self._client.scp_put('helper.lua', self.rundir + '/helper.lua') - def start_prox(self, autostart=''): - self._client = prox_ctrl(self.ip, self.key, self.user) - self._client.connect() - if self.vim in ['OpenStack']: - self.devbind() - self.generate_lua(self.vim) - self._client.scp_put(self.machine_params['config_file'], '{}/{}'.format(self.rundir, self.machine_params['config_file'])) - if self.machine_params['prox_launch_exit']: - cmd = 'sudo {}/prox {} -t -o cli -f {}/{}'.format(self.rundir, autostart, self.rundir, self.machine_params['config_file']) - RapidLog.debug("Starting PROX on {}: {}".format(self.name, cmd)) - result = self._client.run_cmd(cmd, 'PROX Testing on {}'.format(self.name)) - #RapidLog.debug("Finished PROX on {}: {}, {}".format(self.name, cmd, result)) - RapidLog.debug("Finished PROX on {}: {}".format(self.name, cmd)) + def start_prox(self, configonly=False, autostart=''): + if self.machine_params['prox_socket']: + self._client = prox_ctrl(self.ip, self.key, self.user) + self._client.connect() + if self.vim in ['OpenStack']: + self.devbind(configonly) + self.generate_lua(self.vim) + self._client.scp_put(self.machine_params['config_file'], '{}/{}'.format(self.rundir, self.machine_params['config_file'])) + if ((not configonly) and self.machine_params['prox_launch_exit']): + cmd = 'sudo {}/prox {} -t -o cli -f {}/{}'.format(self.rundir, autostart, self.rundir, self.machine_params['config_file']) + RapidLog.debug("Starting PROX on {}: {}".format(self.name, cmd)) + result = self._client.run_cmd(cmd, 'PROX Testing on {}'.format(self.name)) + #RapidLog.debug("Finished PROX on {}: {}, {}".format(self.name, cmd, result)) + RapidLog.debug("Finished PROX on {}: {}".format(self.name, cmd)) def close_prox(self): - self.socket.quit() + if self.machine_params['prox_socket'] and self.machine_params['prox_launch_exit']: + self.socket.quit() def connect_prox(self): - self.socket = self._client.connect_socket() + if self.machine_params['prox_socket']: + self.socket = self._client.connect_socket() def start(self): self.socket.start(self.get_cores()) diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py index 289d8366..af595704 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py @@ -96,33 +96,30 @@ class RapidConfigParser(object): machine = {} for test_machine in range(1, test_params['required_number_of_test_machines']+1): machine.clear() - if not(testconfig.has_option('TestM%d'%test_machine, 'prox_socket') - and not testconfig.getboolean('TestM%d'%test_machine, - 'prox_socket')): - section = 'TestM%d'%test_machine - options = testconfig.options(section) - for option in options: - if option in ['prox_socket','prox_launch_exit','monitor']: - machine[option] = testconfig.getboolean(section, option) - elif option in ['cores', 'gencores','latcores']: - machine[option] = ast.literal_eval(testconfig.get( - section, option)) - elif option in ['bucket_size_exp']: - machine[option] = int(testconfig.get(section, option)) - else: - machine[option] = testconfig.get(section, option) - for key in ['prox_socket','prox_launch_exit']: - if key not in machine.keys(): - machine[key] = True - if 'monitor' not in machine.keys(): - machine['monitor'] = True - index = int(machine_map.get('TestM%d'%test_machine, - 'machine_index')) - section = 'M%d'%index - options = config.options(section) - for option in options: - machine[option] = config.get(section, option) - machines.append(dict(machine)) + section = 'TestM%d'%test_machine + options = testconfig.options(section) + for option in options: + if option in ['prox_socket','prox_launch_exit','monitor']: + machine[option] = testconfig.getboolean(section, option) + elif option in ['cores', 'gencores','latcores']: + machine[option] = ast.literal_eval(testconfig.get( + section, option)) + elif option in ['bucket_size_exp']: + machine[option] = int(testconfig.get(section, option)) + else: + machine[option] = testconfig.get(section, option) + for key in ['prox_socket','prox_launch_exit']: + if key not in machine.keys(): + machine[key] = True + if 'monitor' not in machine.keys(): + machine['monitor'] = True + index = int(machine_map.get('TestM%d'%test_machine, + 'machine_index')) + section = 'M%d'%index + options = config.options(section) + for option in options: + machine[option] = config.get(section, option) + machines.append(dict(machine)) for machine in machines: dp_ports = [] if 'dest_vm' in machine.keys(): diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py index 6654d361..cdacb801 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py @@ -433,4 +433,4 @@ class RapidTest(object): drop_rate = 100.0*tot_dp_drop/dp_tx if ((drop_rate < self.test['drop_rate_threshold']) or (tot_dp_drop == self.test['drop_rate_threshold'] ==0) or (tot_dp_drop > self.test['maxz'])): break - return(pps_req_tx,pps_tx,pps_sut_tx,pps_rx,lat_avg,percentile,percentile_max,lat_max,dp_tx,dp_rx,tot_dp_drop,(t4_tx_fail - t1_tx_fail),drop_rate,lat_min,used_avg,r,tot_core_measurement_duration) + return(pps_req_tx,pps_tx,pps_sut_tx,pps_rx,lat_avg,percentile,percentile_max,lat_max,dp_tx,dp_rx,tot_dp_drop,(t4_tx_fail - t1_tx_fail),drop_rate,lat_min,used_avg,r,tot_core_measurement_duration,avg_bg_rate) diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/runrapid.py b/VNFs/DPPD-PROX/helper-scripts/rapid/runrapid.py index 2c18b232..8e879a06 100755 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/runrapid.py +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/runrapid.py @@ -42,18 +42,21 @@ class RapidTestManager(object): """ RapidTestManager Class """ + def __del__(self): + for machine in self.machines: + machine.close_prox() + @staticmethod def get_defaults(): return (RapidDefaults.test_params) - @staticmethod - def run_tests(test_params): + def run_tests(self, test_params): test_params = RapidConfigParser.parse_config(test_params) RapidLog.debug(test_params) monitor_gen = monitor_sut = False background_machines = [] sut_machine = gen_machine = None - machines = [] + self.machines = [] for machine_params in test_params['machines']: if 'gencores' in machine_params.keys(): machine = RapidGeneratorMachine(test_params['key'], @@ -79,14 +82,16 @@ class RapidTestManager(object): raise Exception("Can only monitor 1 sut") else: monitor_sut = True - sut_machine = machine - machines.append(machine) + if machine_params['prox_socket']: + sut_machine = machine + self.machines.append(machine) + prox_executor = concurrent.futures.ThreadPoolExecutor(max_workers=len(self.machines)) + self.future_to_prox = {prox_executor.submit(machine.start_prox,test_params['configonly']): machine for machine in self.machines} if test_params['configonly']: + concurrent.futures.wait(self.future_to_prox,return_when=ALL_COMPLETED) sys.exit() - prox_executor = concurrent.futures.ThreadPoolExecutor(max_workers=len(machines)) - future_to_prox = {prox_executor.submit(machine.start_prox): machine for machine in machines} - with concurrent.futures.ThreadPoolExecutor(max_workers=len(machines)) as executor: - future_to_connect_prox = {executor.submit(machine.connect_prox): machine for machine in machines} + with concurrent.futures.ThreadPoolExecutor(max_workers=len(self.machines)) as executor: + future_to_connect_prox = {executor.submit(machine.connect_prox): machine for machine in self.machines} concurrent.futures.wait(future_to_connect_prox,return_when=ALL_COMPLETED) result = True for test_param in test_params['tests']: @@ -101,11 +106,11 @@ class RapidTestManager(object): elif test_param['test'] in ['corestats']: test = CoreStatsTest(test_param, test_params['runtime'], test_params['TestName'], - test_params['environment_file'], machines) + test_params['environment_file'], self.machines) elif test_param['test'] in ['portstats']: test = PortStatsTest(test_param, test_params['runtime'], test_params['TestName'], - test_params['environment_file'], machines) + test_params['environment_file'], self.machines) elif test_param['test'] in ['impairtest']: test = ImpairTest(test_param, test_params['lat_percentile'], test_params['runtime'], @@ -115,7 +120,7 @@ class RapidTestManager(object): elif test_param['test'] in ['irqtest']: test = IrqTest(test_param, test_params['runtime'], test_params['TestName'], - test_params['environment_file'], machines) + test_params['environment_file'], self.machines) elif test_param['test'] in ['warmuptest']: test = WarmupTest(test_param, gen_machine) else: @@ -124,8 +129,6 @@ class RapidTestManager(object): single_test_result = test.run() if not single_test_result: result = False - for machine in machines: - machine.close_prox() return (result) def main(): @@ -139,7 +142,8 @@ def main(): test_params['test_file']) RapidLog.log_init(log_file, test_params['loglevel'], test_params['screenloglevel'] , test_params['version'] ) - test_result = RapidTestManager.run_tests(test_params) + test_manager = RapidTestManager() + test_result = test_manager.run_tests(test_params) RapidLog.info('Test result is : {}'.format(test_result)) if __name__ == "__main__": diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/swap.cfg b/VNFs/DPPD-PROX/helper-scripts/rapid/swap.cfg index 0cca80c6..4463f833 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/swap.cfg +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/swap.cfg @@ -27,7 +27,7 @@ name=if0 mac=hardware vlan=yes vdev=swap_tap -local ipv4=${local_ip1} +local ipv4=${local_ip1}/24 [defaults] mempool size=8K |