summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/config_file1
-rwxr-xr-xVNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py5
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/format.yaml3
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/gen.cfg2
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/gen_gw.cfg2
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/helper.lua16
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/impair.cfg2
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py8
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_generator_machine.py8
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_impairtest.py6
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_machine.py17
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py2
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py17
-rwxr-xr-xVNFs/DPPD-PROX/helper-scripts/rapid/runrapid.py9
-rwxr-xr-xVNFs/DPPD-PROX/helper-scripts/rapid/stackdeployment.py12
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/swap.cfg2
16 files changed, 76 insertions, 36 deletions
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/config_file b/VNFs/DPPD-PROX/helper-scripts/rapid/config_file
index f31ed25e..0cd5c707 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/config_file
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/config_file
@@ -5,4 +5,5 @@ heat_template= openstack-rapid.yaml
heat_param = params_rapid.yaml
keypair_name = rapid_key
user = centos
+dataplane_subnet_mask = 24
;push_gateway = http://192.168.36.61:9091/metrics/job/
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py b/VNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py
index e488f352..1658cff4 100755
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py
@@ -32,6 +32,8 @@ class RapidStackManager(object):
options = config.options(section)
for option in options:
rapid_stack_params[option] = config.get(section, option)
+ if 'dataplane_subnet_mask' not in rapid_stack_params.keys():
+ rapid_stack_params['dataplane_subnet_mask'] = 24
return (rapid_stack_params)
@staticmethod
@@ -42,9 +44,10 @@ class RapidStackManager(object):
heat_param = rapid_stack_params['heat_param']
keypair_name = rapid_stack_params['keypair_name']
user = rapid_stack_params['user']
+ dataplane_subnet_mask = rapid_stack_params['dataplane_subnet_mask']
deployment = StackDeployment(cloud_name)
deployment.deploy(stack_name, keypair_name, heat_template, heat_param)
- deployment.generate_env_file(user)
+ deployment.generate_env_file(user, dataplane_subnet_mask)
def main():
rapid_stack_params = {}
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/format.yaml b/VNFs/DPPD-PROX/helper-scripts/rapid/format.yaml
index 1ac48abb..f4220775 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/format.yaml
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/format.yaml
@@ -45,6 +45,9 @@ rapid_flowsizetest:
AvgLatency: AvgLatency
PCTLatency: PCTLatency
MaxLatency: MaxLatency
+ Distribution:
+ bucket_size: bucket_size
+ buckets: buckets
Absolute Packet Count:
PacketsSent: PacketsSent
PacketsReceived: PacketsReceived
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/gen.cfg b/VNFs/DPPD-PROX/helper-scripts/rapid/gen.cfg
index 717915d1..1827395f 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}/24
+local ipv4=${local_ip1}
[variables]
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/gen_gw.cfg b/VNFs/DPPD-PROX/helper-scripts/rapid/gen_gw.cfg
index f53b41d5..fc3b6a68 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}/24
+local ipv4=${local_ip1}
[variables]
$mbs=8
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/helper.lua b/VNFs/DPPD-PROX/helper-scripts/rapid/helper.lua
index 237c385b..1b4c657b 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/helper.lua
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/helper.lua
@@ -21,6 +21,22 @@ function convertIPToHex(ip)
return "IP ADDRESS ERROR"
end
+ local chunks = {ip:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)(\/%d+)$")}
+ if #chunks == 5 then
+ for i,v in ipairs(chunks) do
+ if i < 5 then
+ if tonumber(v) > 255 then
+ print ("IPV4 ADDRESS ERROR: ", ip)
+ return "IPV4 ADDRESS ERROR"
+ end
+ address_chunks[#address_chunks + 1] = string.format ("%02x", v)
+ end
+ end
+ result = table.concat(address_chunks, " ")
+ print ("Hex IPV4: ", result)
+ return result
+ end
+
local chunks = {ip:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)$")}
if #chunks == 4 then
for i,v in ipairs(chunks) do
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/impair.cfg b/VNFs/DPPD-PROX/helper-scripts/rapid/impair.cfg
index cb3f349e..95d6516f 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}/24
+local ipv4=${local_ip1}
[defaults]
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py
index ca3b5a2f..f547b3c4 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, avg_bg_rate = 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, bucket_size, buckets = 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
@@ -160,6 +160,7 @@ class FlowSizeTest(RapidTest):
endlat_perc = lat_perc
endlat_perc_max = lat_perc_max
endlat_max = lat_max
+ endbuckets = buckets
endabs_dropped = abs_dropped
enddrop_rate = drop_rate
endabs_tx = abs_tx
@@ -193,6 +194,7 @@ class FlowSizeTest(RapidTest):
endlat_perc = lat_perc
endlat_perc_max = lat_perc_max
endlat_max = lat_max
+ endbuckets = buckets
endabs_dropped = None
enddrop_rate = drop_rate
endabs_tx = abs_tx
@@ -267,7 +269,9 @@ class FlowSizeTest(RapidTest):
'MaxLatency': endlat_max,
'PacketsSent': endabs_tx,
'PacketsReceived': endabs_rx,
- 'PacketsLost': abs_dropped}
+ 'PacketsLost': abs_dropped,
+ 'bucket_size': bucket_size,
+ 'buckets': endbuckets}
self.post_data('rapid_flowsizetest', variables)
else:
RapidLog.info('|{:>7}'.format(str(flow_number))+" | Speed 0 or close to 0")
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 dee40d94..293720de 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_generator_machine.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_generator_machine.py
@@ -49,7 +49,7 @@ class RapidGeneratorMachine(RapidMachine):
"""
Class to deal with a generator PROX instance (VM, bare metal, container)
"""
- def __init__(self, key, user, vim, rundir, machine_params, ipv6):
+ def __init__(self, key, user, vim, rundir, machine_params, configonly, ipv6):
mac_address_size = 6
ethertype_size = 2
FCS_size = 4
@@ -73,7 +73,7 @@ class RapidGeneratorMachine(RapidMachine):
self.udp_dest_port_offset = udp_header_start_offset + 2
self.udp_length_offset = udp_header_start_offset + 4
self.ipv6 = ipv6
- super().__init__(key, user, vim, rundir, machine_params)
+ super().__init__(key, user, vim, rundir, machine_params, configonly)
def get_cores(self):
return (self.machine_params['gencores'] +
@@ -103,10 +103,10 @@ class RapidGeneratorMachine(RapidMachine):
appendix = appendix + 'heartbeat="60"\n'
super().generate_lua(vim, appendix)
- def start_prox(self, configonly=False):
+ def start_prox(self):
# Start the generator with the -e option so that the cores don't
# start automatically
- super().start_prox(configonly, '-e')
+ super().start_prox('-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 74d624d5..8b7f876e 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, _,bucket_size, buckets = 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:
@@ -78,7 +78,9 @@ class ImpairTest(RapidTest):
'PCTLatency': lat_perc,
'MaxLatency': lat_max,
'PacketsLost': abs_dropped,
- 'DropRate': drop_rate}
+ 'DropRate': drop_rate,
+ 'bucket_size': bucket_size,
+ 'buckets': buckets}
self.post_data('rapid_impairtest', variables)
self.gen_machine.stop_latency_cores()
return (True)
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_machine.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_machine.py
index 4a0bcb82..8466c856 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_machine.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_machine.py
@@ -24,7 +24,7 @@ class RapidMachine(object):
"""
Class to deal with a PROX instance (VM, bare metal, container)
"""
- def __init__(self, key, user, vim, rundir, machine_params):
+ def __init__(self, key, user, vim, rundir, machine_params, configonly):
self.name = machine_params['name']
self.ip = machine_params['admin_ip']
self.key = key
@@ -32,6 +32,7 @@ class RapidMachine(object):
self.rundir = rundir
self.dp_ports = []
self.dpdk_port_index = []
+ self.configonly = configonly
index = 1
while True:
ip_key = 'dp_ip{}'.format(index)
@@ -48,13 +49,13 @@ class RapidMachine(object):
self.vim = vim
def __del__(self):
- if self.machine_params['prox_socket']:
+ if ((not self.configonly) and 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, configonly):
+ def devbind(self):
# 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)
@@ -62,7 +63,7 @@ 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))
- if ((not configonly) and self.machine_params['prox_launch_exit']):
+ if ((not self.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))
@@ -95,15 +96,15 @@ 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, configonly=False, autostart=''):
+ def start_prox(self, 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.devbind()
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']):
+ if ((not self.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))
@@ -111,7 +112,7 @@ class RapidMachine(object):
RapidLog.debug("Finished PROX on {}: {}".format(self.name, cmd))
def close_prox(self):
- if self.machine_params['prox_socket'] and self.machine_params['prox_launch_exit']:
+ if (not self.configonly) and self.machine_params['prox_socket'] and self.machine_params['prox_launch_exit']:
self.socket.quit()
def connect_prox(self):
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py
index af595704..992d2d0a 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py
@@ -106,6 +106,8 @@ class RapidConfigParser(object):
section, option))
elif option in ['bucket_size_exp']:
machine[option] = int(testconfig.get(section, option))
+ if machine[option] < 11:
+ RapidLog.exception("Minimum Value for bucket_size_exp is 11")
else:
machine[option] = testconfig.get(section, option)
for key in ['prox_socket','prox_launch_exit']:
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py
index cdacb801..2babd340 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py
@@ -285,8 +285,9 @@ class RapidTest(object):
if sample_count > lat_samples * LAT_PERCENTILE:
break
percentile_max = (sample_percentile == len(buckets))
- sample_percentile = sample_percentile * float(2 ** BUCKET_SIZE_EXP) / (old_div(float(lat_hz),float(10**6)))
- buckets_total = [buckets_total[i] + buckets[i] for i in range(len(buckets_total))]
+ bucket_size = float(2 ** BUCKET_SIZE_EXP) / (old_div(float(lat_hz),float(10**6)))
+ sample_percentile = sample_percentile * bucket_size
+ buckets_total = [buckets_total[i] + buckets[i] for i in range(len(buckets_total))]
t2_lat_tsc = t3_lat_tsc
lat_avail = True
t3_rx, t3_non_dp_rx, t3_tx, t3_non_dp_tx, t3_drop, t3_tx_fail, t3_tsc, tsc_hz = self.gen_machine.core_stats()
@@ -351,7 +352,10 @@ class RapidTest(object):
'MaxLatency': lat_max_sample,
'PacketsSent': delta_dp_tx,
'PacketsReceived': delta_dp_rx,
- 'PacketsLost': tot_dp_drop}
+ 'PacketsLost': tot_dp_drop,
+ 'bucket_size': bucket_size,
+ 'buckets': buckets}
+
self.post_data('rapid_flowsizetest', variables)
end_bg_gen_stats = []
for bg_gen_machine in self.background_machines:
@@ -393,7 +397,7 @@ class RapidTest(object):
if sample_count > lat_samples * LAT_PERCENTILE:
break
percentile_max = (percentile == len(buckets))
- percentile = percentile * float(2 ** BUCKET_SIZE_EXP) / (old_div(float(lat_hz),float(10**6)))
+ percentile = percentile * bucket_size
lat_max = lat_max_sample
lat_avg = lat_avg_sample
delta_rx = t4_rx - t2_rx
@@ -414,12 +418,13 @@ class RapidTest(object):
break ## Not really needed since the while loop will stop when evaluating the value of r
else:
sample_count = 0
+ buckets = buckets_total
for percentile, bucket in enumerate(buckets_total,start=1):
sample_count += bucket
if sample_count > tot_lat_samples * LAT_PERCENTILE:
break
percentile_max = (percentile == len(buckets_total))
- percentile = percentile * float(2 ** BUCKET_SIZE_EXP) / (old_div(float(lat_hz),float(10**6)))
+ percentile = percentile * bucket_size
pps_req_tx = (tot_tx + tot_drop - tot_rx)/tot_core_measurement_duration/1000000.0 # tot_drop is all packets dropped by all tasks. This includes packets dropped at the generator task + packets dropped by the nop task. In steady state, this equals to the number of packets received by this VM
pps_tx = tot_tx/tot_core_measurement_duration/1000000.0 # tot_tx is all generated packets actually accepted by the interface
pps_rx = tot_rx/tot_core_measurement_duration/1000000.0 # tot_rx is all packets received by the nop task = all packets received in the gen VM
@@ -433,4 +438,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,avg_bg_rate)
+ 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,bucket_size,buckets)
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/runrapid.py b/VNFs/DPPD-PROX/helper-scripts/rapid/runrapid.py
index 8e879a06..f5b85a3e 100755
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/runrapid.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/runrapid.py
@@ -57,12 +57,13 @@ class RapidTestManager(object):
background_machines = []
sut_machine = gen_machine = None
self.machines = []
+ configonly = test_params['configonly']
for machine_params in test_params['machines']:
if 'gencores' in machine_params.keys():
machine = RapidGeneratorMachine(test_params['key'],
test_params['user'], test_params['vim_type'],
test_params['rundir'], machine_params,
- test_params['ipv6'])
+ configonly, test_params['ipv6'])
if machine_params['monitor']:
if monitor_gen:
RapidLog.exception("Can only monitor 1 generator")
@@ -75,7 +76,7 @@ class RapidTestManager(object):
else:
machine = RapidMachine(test_params['key'], test_params['user'],
test_params['vim_type'], test_params['rundir'],
- machine_params)
+ machine_params, configonly)
if machine_params['monitor']:
if monitor_sut:
RapidLog.exception("Can only monitor 1 sut")
@@ -86,8 +87,8 @@ class RapidTestManager(object):
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']:
+ self.future_to_prox = {prox_executor.submit(machine.start_prox): machine for machine in self.machines}
+ if configonly:
concurrent.futures.wait(self.future_to_prox,return_when=ALL_COMPLETED)
sys.exit()
with concurrent.futures.ThreadPoolExecutor(max_workers=len(self.machines)) as executor:
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/stackdeployment.py b/VNFs/DPPD-PROX/helper-scripts/rapid/stackdeployment.py
index 2e9c6cc2..925fd8bd 100755
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/stackdeployment.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/stackdeployment.py
@@ -75,7 +75,7 @@ class StackDeployment(object):
for name in server_group_output:
self.names.append(name)
- def print_paramDict(self, user):
+ def print_paramDict(self, user, dataplane_subnet_mask):
if not(len(self.dp_ips) == len(self.dp_macs) == len(self.mngmt_ips)):
sys.exit()
_ENV_FILE_DIR = os.path.dirname(os.path.realpath(__file__))
@@ -90,9 +90,11 @@ class StackDeployment(object):
env_file.write('admin_ip = {}\n'.format(str(self.mngmt_ips[count])))
if type(self.dp_ips[count]) == list:
for i, dp_ip in enumerate(self.dp_ips[count], start = 1):
- env_file.write('dp_ip{} = {}\n'.format(i, str(dp_ip)))
+ env_file.write('dp_ip{} = {}/{}\n'.format(i, str(dp_ip),
+ dataplane_subnet_mask))
else:
- env_file.write('dp_ip1 = {}\n'.format(str(self.dp_ips[count])))
+ env_file.write('dp_ip1 = {}/{}\n'.format(str(self.dp_ips[count]),
+ dataplane_subnet_mask))
if type(self.dp_macs[count]) == list:
for i, dp_mac in enumerate(self.dp_macs[count], start = 1):
env_file.write('dp_mac{} = {}\n'.format(i, str(dp_mac)))
@@ -156,6 +158,6 @@ class StackDeployment(object):
self.create_key()
self.stack = self.create_stack(stack_name, heat_template, heat_param)
- def generate_env_file(self, user = 'centos'):
+ def generate_env_file(self, user = 'centos', dataplane_subnet_mask = '24'):
self.generate_paramDict()
- self.print_paramDict(user)
+ self.print_paramDict(user, dataplane_subnet_mask)
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/swap.cfg b/VNFs/DPPD-PROX/helper-scripts/rapid/swap.cfg
index 4463f833..0cca80c6 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}/24
+local ipv4=${local_ip1}
[defaults]
mempool size=8K