X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=VNFs%2FDPPD-PROX%2Fhelper-scripts%2Frapid%2FREADME;h=198b6db146a4c4e936019f4924022acf6dc5560d;hb=d092ffd38f9b5acafb740da11b5a2467ff972036;hp=75ba30e3fcc44a9eebfc4caaedb91678016220f5;hpb=21c3b7f054e34055654a9ca94058deefb51c25e6;p=samplevnf.git diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/README b/VNFs/DPPD-PROX/helper-scripts/rapid/README index 75ba30e3..198b6db1 100644 --- a/VNFs/DPPD-PROX/helper-scripts/rapid/README +++ b/VNFs/DPPD-PROX/helper-scripts/rapid/README @@ -1,5 +1,5 @@ ## -## Copyright (c) 2010-2019 Intel Corporation +## Copyright (c) 2010-2020 Intel Corporation ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. @@ -20,6 +20,8 @@ rapid (Rapid Automated Performance Indication for Dataplane) rapid is a set of files offering an easy way to do a sanity check of the dataplane performance of an OpenStack or container environment. +Most of the information below is now available on wiki.opnfv.org/display/SAM/Rapid+scripting + In case of OpenStack, copy the files in a directory on a machine that can run the OpenStack CLI commands and that can reach the networks to connect to the VMs. @@ -52,20 +54,20 @@ clouds: Packer could be run from docker image, you will need to create following alias: -alias packer='docker run -it -v "$PWD":/root/project -w /root/project hashicorp/packer:light $@' - +alias packer='docker run -it --env OS_CLOUD=$OS_CLOUD -v "$PWD":/root/project -w /root/project hashicorp/packer:light $@' +and make sure the OS_CLOUD variable is set to the correct cloud: in the clouds.yaml example above, you would first +export OS_CLOUD=overcloud There are 2 files: centos.json and deploycentostools.sh, allowing you to create an image automatically. Run # packer build centos.json -Edit centos.json to reflect the settings of your environment: The following fields need to -be the ID's of your system: +Edit centos.json to reflect the settings of your environment: The following fields need to populated +with the values of your system: - "source_image_name": Needs to be the name of the Centos cloud image - "flavor": Needs to be the ID or name of the flavor existing in your OpenStack environment that will be used to start the VM in which we will install all tools - - "networks": ID of the network that will be used for the VM - - "use_floating_ip": true or false - - "floating_ip_network": ID of the floating ip network in case floating ip are being used + - "network_discovery_cidrs": Should contain the CIDR of the network you want to use e.g. "10.6.6.0/24" + - "floating_ip_network": ID or name of the floating ip network in case floating ip are being used - "security_groups": ID or name of the security group being used Refer to Packer docs for more details: @@ -74,20 +76,36 @@ https://www.packer.io/docs/builders/openstack.html Note that this procedure is not only installing the necessary tools to run PROX, but also does some system optimizations (tuned). Check deploycentostools.sh for more details. -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, -servers, ... -It will create a .env file containing all info that will be used by runrapid.py -to actually run the tests. Logging can be found in the CREATE.log file -You can use floating IP addresses by specifying the floating IP network ---floating_network NETWORK -or directly connect through 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). +Now you need to create a stack, that will deploy the PROX VMs using the PROX +image built in the previous step. The stack needs to have an ouput section +with the following outputs: +outputs: + number_of_servers: + value: + - # A list of + server_name: + value: + - - # A list containing a list of + data_plane_ips: + value: + - - # A list containing a list of + data_plane_macs: + value: + - - # A list containing a list of + mngmt_ips: + value: + - - # A list containing a list of +where + * is an int + * is a string + * is a list of strings + * is a list of strings + * is a string + +createrapid.py will take the input from config_file, to create an ssh keypair +and stack (if not already existing). The tool will use the yaml files as +specified in the config_file and create a .env file, containing +input used for runrapid.py. Now you can run the runrapid.py file. Use help for more info on the usage: # ./runrapid.py --help @@ -112,8 +130,6 @@ openstack subnet create --network fast-network --subnet-range 20.20.20.0/24 -- 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 *.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 @@ -128,9 +144,9 @@ neutron port-update xxxxxx --port_security_enabled=False 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. Fields needed for runrapid are: +different way than what is described in this text. 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. Fields needed for runrapid are: * all info in the [Mx] sections * the key information in the [ssh] section * the total_number_of_vms information in the [rapid] section @@ -143,32 +159,25 @@ total_number_of_machines = 3 [M1] name = rapid-VM1 admin_ip = 10.25.1.109 -dp_ip = 10.10.10.4 -dp_mac = fa:16:3e:25:be:25 +dp_ip1 = 10.10.10.4 +dp_mac1 = fa:16:3e:25:be:25 [M2] name = rapid-VM2 admin_ip = 10.25.1.110 -dp_ip = 10.10.10.7 -dp_mac = fa:16:3e:72:bf:e8 +dp_ip1 = 10.10.10.7 +dp_mac1 = fa:16:3e:72:bf:e8 [M3] name = rapid-VM3 admin_ip = 10.25.1.125 -dp_ip = 10.10.10.15 -dp_mac = fa:16:3e:69:f3:e7 +dp_ip1 = 10.10.10.15 +dp_mac1 = fa:16:3e:69:f3:e7 [ssh] -key = prox +key = prox.pem +user = centos [Varia] vim = OpenStack stack = rapid -vms = rapidVMs.vms -image = rapidVM -image_file = rapidVM.qcow2 -dataplane_network = dataplane-network -subnet = dpdk-subnet -subnet_cidr = 10.10.10.0/24 -internal_network = admin_internal_net -floating_network = admin_floating_net