summaryrefslogtreecommitdiffstats
path: root/VNFs/DPPD-PROX/helper-scripts/openstackrapid/createrapid.py
diff options
context:
space:
mode:
authorLuc Provoost <luc.provoost@intel.com>2018-02-21 21:03:38 +0100
committerLuc Provoost <luc.provoost@intel.com>2018-02-21 21:14:38 +0100
commit8060c5ed6076886869f7616e0fbbe67ad2724d08 (patch)
treeda3a043b9eeab08dd98edffa90f8162fc510e864 /VNFs/DPPD-PROX/helper-scripts/openstackrapid/createrapid.py
parent485bc363a8709459b560c3446c707765d58d6aef (diff)
Fixed the calculation of dropped packets and other changes
* Calculation of aboslute and relative dropped packets was wrong and is now fixed. * ./createrapid.py has now an extra option to select custom availability zones for the different VMs. * Fixed a typo to create the flavor: hw:cpu_thread_policy * The generator config files have now the packet id & signature fields. See PROX for more details on this. * ./runrapid has now a new option --configonly. Default is False. If set to True, all configuration files will be copied to the VMS, but the tests are not started. This allows you to go to the VMs and manually start PROX. * In addition to the average latency, maximum latency is now also displayed. Change-Id: I3bbd7897deb6e452068c07ef68d3959ffa4a4b50 Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Diffstat (limited to 'VNFs/DPPD-PROX/helper-scripts/openstackrapid/createrapid.py')
-rwxr-xr-xVNFs/DPPD-PROX/helper-scripts/openstackrapid/createrapid.py26
1 files changed, 22 insertions, 4 deletions
diff --git a/VNFs/DPPD-PROX/helper-scripts/openstackrapid/createrapid.py b/VNFs/DPPD-PROX/helper-scripts/openstackrapid/createrapid.py
index f40cc8b8..867ce324 100755
--- a/VNFs/DPPD-PROX/helper-scripts/openstackrapid/createrapid.py
+++ b/VNFs/DPPD-PROX/helper-scripts/openstackrapid/createrapid.py
@@ -31,7 +31,7 @@ from logging import handlers
from prox_ctrl import prox_ctrl
import ConfigParser
-version="18.2.3"
+version="18.2.12"
stack = "rapid" #Default string for stack
yaml = "rapid.yaml" #Default string for yaml file
key = "prox" # This is also the default in the yaml file....
@@ -43,6 +43,9 @@ subnet = "dpdk-subnet" #subnet for dataplane
subnet_cidr="10.10.10.0/24" # cidr for dataplane
internal_network="admin_internal_net"
floating_network="admin_floating_net"
+vm1_availability_zone="nova"
+vm2_availability_zone="nova"
+vm3_availability_zone="nova"
loglevel="DEBUG" # sets log level for writing to file
runtime=10 # time in seconds for 1 test run
@@ -59,6 +62,9 @@ def usage():
print(" [--subnet_cidr SUBNET_CIDR]")
print(" [--internal_network ADMIN_NETWORK]")
print(" [--floating_network ADMIN_NETWORK]")
+ print(" [--vm1_availability_zone ZONE_FOR_VM1]")
+ print(" [--vm2_availability_zone ZONE_FOR_VM2]")
+ print(" [--vm3_availability_zone ZONE_FOR_VM3]")
print(" [--log DEBUG|INFO|WARNING|ERROR|CRITICAL")
print(" [-h] [--help]")
print("")
@@ -77,6 +83,9 @@ def usage():
print(" --subnet_cidr SUBNET_CIDR Specify the subnet CIDR to be used for the dataplane. Default is %s."%subnet_cidr)
print(" --internal_network NETWORK Specify the network name to be used for the control plane. Default is %s."%internal_network)
print(" --floating_network NETWORK Specify the external floating ip network name. Default is %s. NO if no floating ip used."%floating_network)
+ print(" --vm1_availability_zone ZONE Specify the availability zone for VM1. Default is %s."%vm1_availability_zone)
+ print(" --vm2_availability_zone ZONE Specify the availability zone for VM2. Default is %s."%vm2_availability_zone)
+ print(" --vm3_availability_zone ZONE Specify the availability zone for VM3. Default is %s."%vm3_availability_zone)
print(" --log Specify logging level for log file output, screen output level is hard coded")
print(" -h, --help Show help message and exit.")
print("")
@@ -85,7 +94,7 @@ def usage():
print("Note that %s is the default stack name. Replace with STACK_NAME if needed"%stack)
try:
- opts, args = getopt.getopt(sys.argv[1:], "vh", ["version","help", "yaml=","stack=","key=","flavor=","image=","image_file=","dataplane_network=","subnet=","subnet_cidr=","internal_network=","floating_network=","log="])
+ opts, args = getopt.getopt(sys.argv[1:], "vh", ["version","help", "yaml=","stack=","key=","flavor=","image=","image_file=","dataplane_network=","subnet=","subnet_cidr=","internal_network=","floating_network=","vm1_availability_zone=","vm2_availability_zone=","vm3_availability_zone=","log="])
except getopt.GetoptError as err:
print("===========================================")
print(str(err))
@@ -135,6 +144,15 @@ for opt, arg in opts:
elif opt in ("--floating_network"):
floating_network = arg
print ("Using floating ip network: "+ floating_network)
+ elif opt in ("--vm1_availability_zone"):
+ vm1_availability_zone = arg
+ print ("Using VM1 availability zone: "+ vm1_availability_zone)
+ elif opt in ("--vm2_availability_zone"):
+ vm2_availability_zone = arg
+ print ("Using VM2 availability zone: "+ vm2_availability_zone)
+ elif opt in ("--vm3_availability_zone"):
+ vm3_availability_zone = arg
+ print ("Using VM3 availability zone: "+ vm3_availability_zone)
elif opt in ("--log"):
loglevel = arg
print ("Log level: "+ loglevel)
@@ -279,7 +297,7 @@ else:
cmd = cmd + ' |grep "name " | tr -s " " | cut -d" " -f 4'
FlavorExist = subprocess.check_output(cmd , shell=True).strip()
if FlavorExist == flavor:
- cmd = 'openstack flavor set '+ flavor +' --property hw:mem_page_size="large" --property hw:cpu_policy="dedicated" --property hw:cpu_threads_policy="isolate"'
+ cmd = 'openstack flavor set '+ flavor +' --property hw:mem_page_size="large" --property hw:cpu_policy="dedicated" --property hw:cpu_thread_policy="isolate"'
log.debug(cmd)
subprocess.check_call(cmd , shell=True)
log.info("Flavor created")
@@ -335,7 +353,7 @@ cmd = cmd+' |grep "stack_status " | tr -s " " | cut -d"|" -f 3'
StackRunning = subprocess.check_output(cmd , shell=True).strip()
if StackRunning == '':
log.info('Creating Stack ...')
- cmd = 'openstack stack create -t '+ yaml + ' --parameter flavor="'+flavor +'" --parameter key="'+ key + '" --parameter image="'+image + '" --parameter dataplane_network="'+dataplane_network+ '" --parameter internal_network="'+internal_network+'" --parameter floating_network="'+floating_network+'" --wait '+stack
+ cmd = 'openstack stack create -t '+ yaml + ' --parameter flavor="'+flavor +'" --parameter key="'+ key + '" --parameter image="'+image + '" --parameter dataplane_network="'+dataplane_network+ '" --parameter internal_network="'+internal_network+'" --parameter floating_network="'+floating_network+'" --parameter vm1_availability_zone="'+vm1_availability_zone+'" --parameter vm2_availability_zone="'+vm2_availability_zone+'" --parameter vm3_availability_zone="'+vm3_availability_zone+'" --wait '+stack
log.debug(cmd)
cmd = cmd + ' |grep "stack_status " | tr -s " " | cut -d"|" -f 3'
StackRunning = subprocess.check_output(cmd , shell=True).strip()