Installing vswitchperf ====================== The test suite requires Python 3.3 and relies on a number of other packages. These need to be installed for the test suite to function. To install Python 3.3 in CentOS 7, an additional repository, Software Collections (see https://www.softwarecollections.org/en/scls/rhscl/python33) should be enabled. Install the requirements as specified below. Enable Software Collections (SCL) --------------------------------- .. code-block:: console yum -y install scl-utils yum -y install https://www.softwarecollections.org/en/scls/rhscl/python33/epel-7-x86_64/download/rhscl-python33-epel-7-x86_64.noarch.rpm (Optional) Enable Repoforge (for stress) ---------------------------------------- Allows optional installation of stress tool, which is required by load tests. .. code-block:: console yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm System packages ----------------- There are a number of packages that must be installed using `yum`. These can be installed like so: .. code-block:: console yum -y --exclude=python33-mod_wsgi* install python33-* pciutils Optional installation of stress tool .. code-block:: console yum -y install stress Python 3 Packages ----------------- To avoid file permission errors and Python version issues, use virtualenv to create an isolated environment with Python3. The required Python 3 packages can be found in the ``requirements.txt`` file in the root of the test suite. They can be installed in your virtual environment like so: .. code-block:: bash scl enable python33 bash # Create virtual environment virtualenv vsperfenv cd vsperfenv source bin/activate pip install -r requirements.txt You need to activate the virtual environment every time you start a new shell session. To activate, simple run: .. code:: bash scl enable python33 bash cd vsperfenv source bin/activate -------------- Working Behind a Proxy ====================== If you're behind a proxy, you'll likely want to configure this before running any of the above. For example: .. code:: bash export http_proxy=proxy.mycompany.com:123 export https_proxy=proxy.mycompany.com:123