Merge "TempFix: vCGNAPT/vACL ipv4 perf issue"
[samplevnf.git] / VNFs / DPPD-PROX / helper-scripts / openstackrapid / README
index 3123a0e..cc940fc 100644 (file)
@@ -21,8 +21,9 @@ rapid is a set of files offering an easy way to do a sanity check of the
 dataplane performance of an OpenStack environment.
 
 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:
+commands and that can reach the OpenStack public network.
+One option is to 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 overruled on the rapid command line (--image_file)
 * Should have DPDK and PROX installed. PROX should be in /root/prox/ directory
@@ -31,25 +32,40 @@ image in the same directory with the following characteristics:
 * 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:
+Alternatively, you can create an image in OpenStack using Packer and then specify
+the image to be used as a parameter to createrapid.py. First step is to upload an
+existing CentOs cloud image from the internet into OpenStack.
+Check out: https://cloud.centos.org/centos/7/images/
+You should now source the proper .rc file so Packer can connect to your OpenStack.
+There are 2 files: centos.json and deploycentos.sh, allowing you to create
+an image automatically. Run
+  # packer build centos.json
+Note that this procedure is not only installing the necessary tools to run PROX,
+but also does some system optimizations (tuned).
+
+Now that the image exists in OpenStack, source the openrc file of the OpenStack
+environment so that the OpenStack CLI commands can be run:
   # source openrc
 Now you can run the createrapid.py file. Use help for more info on the usage:
   # ./createrapid.py --help
 
 createrapid.py will use the OpenStack CLI to create the flavor, key-pair, network, image,
-stack, ...
+servers, ...
 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
 You can use floating IP addresses by specifying the floating IP network
 --floating_network NETWORK
 or directly connect throught the INTERNAL_NETWORK by using the following parameter:
 --floating_network NO
+/etc/resolv.conf will contain DNS info from the "best" interface. Since we are
+deploying VMs with multiple interface on different networks, this info might be
+taken from the "wrong" network (e.g. the dataplane network). It is good to provide
+also a working DNS on that network.
 
 Now you can run the runrapid.py file. Use help for more info on the usage:
   # ./runrapid.py --help
-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 admin IP assigned to the VMs.
+The script will connect to all machines that have been instantiated and it will launch
+PROX in all machines. This will be done through the admin IP assigned to the machines.
 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.
@@ -71,7 +87,7 @@ openstack port create --network fast-network --vnic-type direct --fixed-ip subne
 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.
+are being used in the *.env file.
 
 Note when doing tests using the gateway functionality on OVS:
 When a GW VM is sending packets on behalf of another VM (e.g. the generator), we need to make sure the OVS
@@ -88,22 +104,25 @@ 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 [VMx] sections are used as
-input for runrapid.py.
+achieved using creater needed for runrapid are:
+* all info in the [Mx] sections
+* the key information in the [OpenStack] section
+* the total_number_of_vms information in the [rapid] section
+
 [DEFAULT]
 admin_ip = none
 
-[VM1]
+[M1]
 admin_ip = 192.168.4.130
 dp_ip = 10.10.10.6
 dp_mac = fa:16:3e:3c:1e:12
 
-[VM2]
+[M2]
 admin_ip = 192.168.4.140
 dp_ip = 10.10.10.9
 dp_mac = fa:16:3e:2a:00:5d
 
-[VM3]
+[M3]
 admin_ip = 192.168.4.138
 dp_ip = 10.10.10.11
 dp_mac = fa:16:3e:ae:fa:86