diff --git a/.mailmap b/.mailmap index 516ae6f..5f2cf35 100644 --- a/.mailmap +++ b/.mailmap @@ -1,3 +1,5 @@ # Format is: # # + +vmtp-core@cisco.com diff --git a/README-short.txt b/README-short.txt new file mode 100644 index 0000000..abdea24 --- /dev/null +++ b/README-short.txt @@ -0,0 +1 @@ +A data path performance tool for OpenStack clouds. diff --git a/README.md b/README.md deleted file mode 100644 index aec1e39..0000000 --- a/README.md +++ /dev/null @@ -1,314 +0,0 @@ - -# VMTP: An OpenStack TCP/UDP throughput measurement tool - -VMTP is a python application that will automatically perform ping connectivity, ping round trip time measuerment (latency) and TCP/UDP throughput measurement for the following flows on any OpenStack deployment: - -* VM to VM same network (private fixed IP) -* VM to VM different network same tenant (intra-tenant L3 fixed IP) -* VM to VM different network and tenant (floating IP inter-tenant L3) - -Optionally, when an external Linux host is available: - -* external host/VM download and upload throughput/latency (L3/floating IP) - -Optionally, when ssh login to any Linux host (native or virtual) is available: - -* host to host throughput (intra-node and inter-node) - -For VM-related flows, VMTP will automatically create the necessary OpenStack resources (router, networks, subnets, key pairs, security groups, test VMs), perform the throughput measurements then cleanup all related resources before exiting. -In the case involving pre-existing native or virtual hosts, VMTP will ssh to the targeted hosts to perform measurements. - -All TCP/UDP throughput measurements are done using the nuttcp tool by default. -The iperf tool can be used alternatively (--tp-tool iperf). - -Optionally, VMTP can extract automatically CPU usage from all native hosts in the cloud during the throughput tests, provided the Ganglia monitoring service (gmond) is installed and enabled on those hosts. - -Pre-requisite to run VMTP successfully: - -* For VM related performance measurements: - - * Access to the cloud Horizon Dashboard - * 1 working external network pre-configured on the cloud (VMTP will pick the first one found) - * at least 2 floating IP if an external router is configured or 3 floating IP if there is no external router configured - * 1 Linux image available in OpenStack (any distribution) - * a configuration file that is properly set for the cloud to test (see "Configuration File" section below) - -* for native/external host throughput, a public key must be installed on the target hosts (see ssh password-less access below) -* for pre-existing native host throughputs, firewalls must be configured to allow TCP/UDP ports 5001 and TCP port 5002 -* Docker if using the VMTP Docker image - -## VMTP results output - -VMTP will display the results to stdout with the following data: - -* session general information (date, auth_url, OpenStack encaps, VMTP version...) -* list of results per flow, for each flow: - - * flow name - * to and from IP addresses - * to and from availability zones (if VM) - * results: - * TCP - * throughput value - * number of retransmissions - * round trip time in ms - * CPU usage (if enabled), for each host in the openstack cluster: - * baseline (before test starts) - * 1 or more readings during test - * UDP - * for each packet size - * throughput value - * loss rate - * CPU usage (if enabled) - * ICMP - * average, min, max and stddev round trip time in ms - -Detailed results can also be stored in a file in JSON format using the --json command line argument. - -## How to run the VMTP tool - -### VMTP Docker image - -In its Docker image form, VMTP is located under the /vmtp directory in the container and can either take arguments from the host shell, or can be executed from inside the Docker image shell. - -To run VMTP directly from the host shell (may require "sudo" up front if not root) - -``` -docker run -i -t python /vmtp/vmtp.py - -``` - -To run VMTP from the Docker image shell: - -``` -docker run -i -t /bin/bash -cd /vmtp.py -python vmtp.py - -``` -(then type exit to exit and terminate the container instance) - -All the examples below assume running from inside the Docker image shell. - -### Print VMTP usage - -``` -usage: vmtp.py [-h] [-c ] [-r ] - [-m [:]] [-p ] [-t