Document enhancements

Change-Id: Id2cc0115fed140849757d6fc0da97414c9cb69d0
This commit is contained in:
Yichen Wang 2015-08-06 23:04:21 -07:00
parent 933a64ae57
commit e67d767bb7
6 changed files with 31 additions and 22 deletions

View File

@ -57,10 +57,6 @@ For pre-existing native host throughputs
* Firewalls must be configured to allow TCP/UDP ports 5001 and TCP port 5002
For running VMTP Docker Image
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* Docker is installed. See `here <https://docs.docker.com/installation/#installation/>`_ for instructions.
Sample Results Output
---------------------
@ -99,6 +95,7 @@ Example of column chart generated by genchart.py:
.. image:: images/genchart-sample.png
Limitations and Caveats
-----------------------

View File

@ -29,7 +29,7 @@ There are some criteria that are enforced to commit to VMTP. Below commands will
$ tox -epep8
**Note:** The first run usually takes longer, as tox will create a new virtual environment and download all dependencies. Once that is the done, further run will be very fast.
.. note:: The first run usually takes longer, as tox will create a new virtual environment and download all dependencies. Once that is the done, further run will be very fast.
4. Run the test suite::
@ -50,7 +50,7 @@ Submit Review
$ git commit -a
**Note:** For a feature commit, please supply a clear commit message indicating what the feature is; for a bugfix commit, please also containing a launchpad link to the bug you are working on.
.. note:: For a feature commit, please supply a clear commit message indicating what the feature is; for a bugfix commit, please also containing a launchpad link to the bug you are working on.
7. Submit the review::

View File

@ -16,4 +16,4 @@ The default setting is to find the "optimal" throughput with packet loss rate wi
In some cases, it is not possible to converge with a loss rate within that range and trying to do so may require too many iterations. The algorithm used is empiric and tries to achieve a result within a reasonable and bounded number of iterations. In most cases the optimal throughput is found in less than 30 seconds for any given flow.
**Note:** UDP measurements are only available with nuttcp (not available with iperf).
.. note:: UDP measurements are only available with nuttcp (not available with iperf).

View File

@ -4,7 +4,7 @@ Installation
There are two ways to install and run VMTP tool. Users of VMTP should use regular PyPI based installation, while developers of VMTP should use GitHub/StackForge Repository based installation. Normally, PyPI based installation will satisfy most of use cases, and it is the recommended way for running VMTP under production environments, or through an automated or scheduled job. A git repository based installation gives more flexibility, and it is a must for developers of VMTP.
**Note:** Installation from PyPI will only have the latest stable version.
.. note:: Installation from PyPI will only have the latest stable version.
PyPI based Installation
@ -17,17 +17,23 @@ Step 1
Install required development libraries. Run the command based on your distro.
Ubuntu/Debian based::
Ubuntu/Debian based:
.. code-block:: bash
$ sudo apt-get install python-dev python-virtualenv git git-review
$ sudo apt-get install libxml2-dev libxslt-dev libffi-dev libz-dev libyaml-dev libssl-dev
RHEL/CentOS based::
RHEL/CentOS based:
.. code-block:: bash
$ sudo yum install python-devel python-virtualenv git
# sudo yum install libxml2-devel libxslt-devel libffi-devel libyaml-devel openssl-devel
MacOSX::
MacOSX:
.. code-block:: bash
$ sudo easy_install pip
$ sudo pip install virtualenv
@ -35,18 +41,21 @@ MacOSX::
Step 2
^^^^^^
Create a virtual environment for Python, and install VMTP::
Create a virtual environment for Python, and install VMTP:
.. code-block:: bash
$ virtualenv ./vmtpenv
$ source ./vmtpenv/bin/activate
$ pip install vmtp
$ vmtp -h
**Note:** "A Virtual Environment is a tool to keep the dependencies required by different projects in separate places, by creating virtual Python environments for them." It is optional but recommended. We could use::
.. note::
"A Virtual Environment is a tool to keep the dependencies required by different projects in separate places, by creating virtual Python environments for them." It is optional but recommended. We could use::
$ sudo pip install vmtp
instead if isolation among multiple Python projects is not needed.
instead if isolation among multiple Python projects is not needed.
.. _git_installation:
@ -60,7 +69,7 @@ It is recommended to run VMTP inside a virtual environment. However, it can be s
Super quick installation on Ubuntu/Debian
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code::
.. code-block:: bash
$ sudo apt-get install python-dev python-virtualenv git git-review
$ sudo apt-get install libxml2-dev libxslt-dev libffi-dev libz-dev libyaml-dev libssl-dev
@ -75,7 +84,7 @@ Super quick installation on Ubuntu/Debian
Super quick installation on RHEL/CentOS
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code::
.. code-block:: bash
$ sudo yum install python-devel python-virtualenv git
# sudo yum install libxml2-devel libxslt-devel libffi-devel libyaml-devel openssl-devel
@ -95,7 +104,7 @@ VMTP can run natively on MacOSX. These instructions have been verified to work o
First, download XCode from App Store, then execute below commands:
.. code::
.. code-block:: bash
$ # Download the XCode command line tools
$ code-select --install

View File

@ -89,7 +89,7 @@ The precedence order for configuration files is as follows:
To override a default value set in cfg.default.yaml, simply redefine that value in the configuration file passed in -c or in the $HOME/.vmtp.yaml file.
Check the content of cfg.default.yaml file as it contains the list of configuration variables and instructions on how to set them.
**Note:** the configuration file is not needed if VMTP only runs the native host throughput option (*--host*)
.. note:: The configuration file is not needed if VMTP only runs the native host throughput option (*--host*)
OpenStack openrc File
@ -99,7 +99,7 @@ VMTP requires downloading an "openrc" file from the OpenStack Dashboard (Project
This file should then be passed to VMTP using the *-r* option or should be sourced prior to invoking VMTP.
**Note:** the openrc file is not needed if VMTP only runs the native host throughput option (*--host*)
.. note:: The openrc file is not needed if VMTP only runs the native host throughput option (*--host*)
Access Info for Controller Node
@ -148,7 +148,6 @@ VMTP requires a Linux image available in Glance to spawn VMs. It could be upload
There is a candidate image defined in the default config already. It has been verified working, but of course it is OK to try other Linux distro as well.
**Note:** Due to the limitation of the Python glanceclient API (v2.0), it is not able to create the image directly from a remote URL. So the implementation of this feature used a glance CLI command instead. Be sure to source the OpenStack rc file first before running VMTP with this feature.
VNIC Type
^^^^^^^^^
@ -157,6 +156,7 @@ By default test VMs will be created with ports that have a "normal" VNIC type.
To create test VMs with ports that use PCI passthrough SRIOV, specify "--vnic_type direct". This will assume that the host where the VM are instantiated have SRIOV capable NIC.
An exception will be thrown if a test VM is lauched on a host that does not have SRIOV capable NIC or has not been configured to use such feature.
Quick guide to run VMTP on an OpenStack Cloud
----------------------------------------------
@ -183,7 +183,7 @@ Upload the Linux image to the OpenStack controller node, so that OpenStack is ab
python vmtp.py -r admin-openrc.sh -p admin --vm_image_url http://<url_to_the_image>
**Note:** Currently, VMTP only supports the qcow2 format.
.. note:: Currently, VMTP only supports to load the image in qcow2 format.
Examples of running VMTP on an OpenStack Cloud
@ -282,7 +282,9 @@ Running VMTP as a library
VMTP supports to be invoked from another Python program, just like an API call. Once the benchmarking is finished, the API will return a Python dictionary with all details.
Example of code for running VMTP as an API call::
Example of code for running VMTP as an API call:
.. code-block:: python
import argparse
opts = argparse.Namespace()

1
images Symbolic link
View File

@ -0,0 +1 @@
doc/source/images