summaryrefslogtreecommitdiffstats
path: root/VNFs/DPPD-PROX/helper-scripts/openstackrapid/README
diff options
context:
space:
mode:
Diffstat (limited to 'VNFs/DPPD-PROX/helper-scripts/openstackrapid/README')
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/openstackrapid/README77
1 files changed, 49 insertions, 28 deletions
diff --git a/VNFs/DPPD-PROX/helper-scripts/openstackrapid/README b/VNFs/DPPD-PROX/helper-scripts/openstackrapid/README
index 7c229904..c29532ac 100644
--- a/VNFs/DPPD-PROX/helper-scripts/openstackrapid/README
+++ b/VNFs/DPPD-PROX/helper-scripts/openstackrapid/README
@@ -24,9 +24,12 @@ Copy the files in a directory on a machine that can run the OpenStack CLI
commands and that can reach the OpenStack public network. Also create a qcow2
image in the same directory with the following characteristics:
* Name of the qcow2 file should be: rapidVM.qcow2
- This default name can be changed on the rapid command line
+ This default name can be overruled on the rapid command line (--image_file)
* Should have DPDK and PROX installed. PROX should be in /root/prox/ directory
* Image should have cloud-init installed
+* /mnt/huge should exist to support a command that is executed at startup of the VM: 'mount -t hugetlbfs nodev /mnt/huge'
+* Compile prox with 'make crc=soft'. This is a workaround for some cases where the crc calculation offload is not working as expected.
+* Compile dpdk to support AESN-NI Multi Buffer Crypto Poll Mode Driver: http://dpdk.org/doc/guides/cryptodevs/aesni_mb.html
Source the openrc file of the OpenStack environment so that the OpenStack CLI
commands can be run:
@@ -34,52 +37,68 @@ commands can be run:
Now you can run the createrapid.py file. Use help for more info on the usage:
# ./createrapid.py --help
-runrapid.py will use the OpenStack CLI to create the flavor, key-pair, network, image,
+createrapid.py will use the OpenStack CLI to create the flavor, key-pair, network, image,
stack, ...
-It will create a <STACK>.cfg file containing all info that will be used by runrapid.py
+It will create a <STACK>.env file containing all info that will be used by runrapid.py
to actually run the tests. Logging can be found in the CREATE<STACK>.log file
Now you can run the runrapid.py file. Use help for more info on the usage:
# ./runrapid.py --help
-The script will connect to the 2 VMs that have been instantiated and it will launch
-PROX in both VMs.
+The script will connect to all VMs that have been instantiated and it will launch
+PROX in all VMs.
+This will be done through the floating IP assigned to the VMs. You need to make sure
+that floating IPs are working on your OpenStack deployment.
Once that is done it will connect to the PROX tcp socket and start sending
commands to run the actual test.
It will print test results on the screen while running.
-The PROX instance in the Generator VM will generate packets which will arrive in
-the PROX instance running on the SUT (System Under Test) VM. The SUT will then
-send the packets back to the generator by swapping source and destination.
+The actual test that is running is decribed in <TEST>.test.
Notes about prox_user_data.sh script:
- The script contains commands that will be executed using cloud-init at
startup of the VMs.
- The script also assumes some specific DPDK directory and tools which might
change over different DPDK release. This release has been tested with DPDK-17.02.
+- huge pages are allocated for DPDK on node 0 (hard-coded) in the VM.
-An example of the cfg file generated by createrapid.py can be found below.
+Note on using SRIOV ports:
+Before running createrapid, it is best to already create the network, subnet and ports
+manually by entering the following commands (change the parameters to your needs):
+openstack network create --share --external --provider-network-type flat --provider-physical-network physnet2 fast-network
+openstack subnet create --network fast-network --subnet-range 20.20.20.0/24 --gateway none fast-subnet
+openstack port create --network fast-network --vnic-type direct --fixed-ip subnet=fast-subnet Port1
+openstack port create --network fast-network --vnic-type direct --fixed-ip subnet=fast-subnet Port2
+openstack port create --network fast-network --vnic-type direct --fixed-ip subnet=fast-subnet Port3
+Make sure to use the network and subnet in the createrapid parameters list. Port1, Port2 and Port3
+are being used in the yaml files.
+
+
+An example of the env file generated by createrapid.py can be found below.
Note that this file can be created manually in case the stack is created in a
different way (not using the createrapid.py). This can be useful in case you are
not using OpenStack as a VIM or when using special configurations that cannot be
-achieved using createrapid.py. Only the [Generator] and [SUT] section are used as
-input for runrapid.py. In the [SUT] section, you can also set admin_ip = 'none'.
-In that case, only the generator will be controlled by runrapid.py and you must
-start the SUT manually.
-
-[Generator]
-admin_ip = 192.168.3.139
-dp_ip = 10.10.10.3
-hex_dp_ip = 0a 0a 0a 03
-dp_mac = fa:16:3e:96:6c:e7
-
-[SUT]
-admin_ip = 192.168.3.133
+achieved using createrapid.py. Only the [VMx] sections are used as
+input for runrapid.py.
+[DEFAULT]
+admin_ip = none
+
+[VM1]
+admin_ip = 192.168.4.130
dp_ip = 10.10.10.6
-hex_dp_ip = 0a 0a 0a 06
-dp_mac = fa:16:3e:0b:9c:57
+dp_mac = fa:16:3e:3c:1e:12
+
+[VM2]
+admin_ip = 192.168.4.140
+dp_ip = 10.10.10.9
+dp_mac = fa:16:3e:2a:00:5d
+
+[VM3]
+admin_ip = 192.168.4.138
+dp_ip = 10.10.10.11
+dp_mac = fa:16:3e:ae:fa:86
[OpenStack]
-stack = rapidTestEnv
-yaml = rapid.yaml
+stack = rapid
+yaml = 3VMrapid.yaml
key = prox
flavor = prox_flavor
image = rapidVM
@@ -87,9 +106,11 @@ image_file = rapidVM.qcow2
dataplane_network = dataplane-network
subnet = dpdk-subnet
subnet_cidr = 10.10.10.0/24
-admin_network = admin_internal_net
+internal_network = admin_internal_net
+floating_network = admin_floating_net
[rapid]
loglevel = DEBUG
-version = 17.09.03
+version = 17.10.25
+total_number_of_vms = 3