1 .. This work is licensed under a Creative Commons Attribution 4.0 International
3 .. http://creativecommons.org/licenses/by/4.0
4 .. (c) OPNFV, Ericsson AB, Huawei Technologies Co.,Ltd and others.
12 Yardstick currently supports installation on Ubuntu 14.04 or by using a Docker
13 image. Detailed steps about installing Yardstick using both of these options
16 To use Yardstick you should have access to an OpenStack environment,
17 with at least Nova, Neutron, Glance, Keystone and Heat installed.
19 The steps needed to run Yardstick are:
21 1. Install Yardstick and create the test configuration .yaml file.
22 2. Build a guest image and load the image into the OpenStack environment.
23 3. Create a Neutron external network and load OpenStack environment variables.
27 Installing Yardstick on Ubuntu 14.04
28 ------------------------------------
30 .. _install-framework:
32 Installing Yardstick framework
33 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
37 sudo apt-get update && sudo apt-get install -y \
52 Create a python virtual environment, source it and update setuptools:
55 virtualenv ~/yardstick_venv
56 source ~/yardstick_venv/bin/activate
57 easy_install -U setuptools
59 Download source code and install python dependencies:
62 git clone https://gerrit.opnfv.org/gerrit/yardstick
64 python setup.py install
66 There is also a YouTube video, showing the above steps:
68 .. image:: http://img.youtube.com/vi/4S4izNolmR0/0.jpg
69 :alt: http://www.youtube.com/watch?v=4S4izNolmR0
70 :target: http://www.youtube.com/watch?v=4S4izNolmR0
72 Installing extra tools
73 ^^^^^^^^^^^^^^^^^^^^^^
76 Yardstick has an internal plotting tool ``yardstick-plot``, which can be installed
77 using the following command:
80 sudo apt-get install -y g++ libfreetype6-dev libpng-dev pkg-config
81 python setup.py develop easy_install yardstick[plot]
85 Building a guest image
86 ^^^^^^^^^^^^^^^^^^^^^^
87 Yardstick has a tool for building an Ubuntu Cloud Server image containing all
88 the required tools to run test cases supported by Yardstick. It is necessary to
89 have sudo rights to use this tool.
91 Also you may need install several additional packages to use this tool, by
92 follwing the commands below:
95 apt-get update && apt-get install -y \
99 This image can be built using the following command while in the directory where
100 Yardstick is installed (``~/yardstick`` if the framework is installed
101 by following the commands above):
104 sudo ./tools/yardstick-img-modify tools/ubuntu-server-cloudimg-modify.sh
106 **Warning:** the script will create files by default in:
107 ``/tmp/workspace/yardstick`` and the files will be owned by root!
109 The created image can be added to OpenStack using the ``glance image-create`` or
110 via the OpenStack Dashboard.
115 glance --os-image-api-version 1 image-create \
116 --name yardstick-trusty-server --is-public true \
117 --disk-format qcow2 --container-format bare \
118 --file /tmp/workspace/yardstick/yardstick-trusty-server.img
121 Installing Yardstick using Docker
122 ---------------------------------
124 Yardstick has two Docker images, first one (**Yardstick-framework**) serves as a
125 replacement for installing the Yardstick framework in a virtual environment (for
126 example as done in :ref:`install-framework`), while the other image is mostly for
127 CI purposes (**Yardstick-CI**).
129 Yardstick-framework image
130 ^^^^^^^^^^^^^^^^^^^^^^^^^
131 Download the source code:
135 git clone https://gerrit.opnfv.org/gerrit/yardstick
137 Build the Docker image and tag it as *yardstick-framework*:
142 docker build -t yardstick-framework .
144 Run the Docker instance:
148 docker run --name yardstick_instance -i -t yardstick-framework
150 To build a guest image for Yardstick, see :ref:`guest-image`.
154 Pull the Yardstick-CI Docker image from Docker hub:
158 docker pull opnfv/yardstick:$DOCKER_TAG
160 Where ``$DOCKER_TAG`` is latest for master branch, as for the release branches,
161 this coincides with its release name, such as brahmaputra.1.0.
163 Run the Docker image:
171 -e "INSTALLER_TYPE=${INSTALLER_TYPE}" \
172 -e "INSTALLER_IP=${INSTALLER_IP}" \
174 run_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SUITE_NAME}
176 Where ``${INSTALLER_TYPE}`` can be apex, compass, fuel or joid, ``${INSTALLER_IP}``
177 is the installer master node IP address (i.e. 10.20.0.2 is default for fuel). ``${YARDSTICK_DB_BACKEND}``
178 is the IP and port number of DB, ``${YARDSTICK_SUITE_NAME}`` is the test suite you want to run.
179 For more details, please refer to the Jenkins job defined in Releng project, labconfig information
180 and sshkey are required. See the link
181 https://git.opnfv.org/cgit/releng/tree/jjb/yardstick/yardstick-ci-jobs.yml.
183 Basic steps performed by the **Yardstick-CI** container:
185 1. clone yardstick and releng repos
186 2. setup OS credentials (releng scripts)
187 3. install yardstick and dependencies
188 4. build yardstick cloud image and upload it to glance
189 5. upload cirros-0.3.3 cloud image to glance
190 6. run yardstick test scenarios
194 OpenStack parameters and credentials
195 ------------------------------------
199 Most of the sample test cases in Yardstick are using an OpenStack flavor called
200 *yardstick-flavor* which deviates from the OpenStack standard m1.tiny flavor by the
201 disk size - instead of 1GB it has 3GB. Other parameters are the same as in m1.tiny.
203 Environment variables
204 ^^^^^^^^^^^^^^^^^^^^^
205 Before running Yardstick it is necessary to export OpenStack environment variables
206 from the OpenStack *openrc* file (using the ``source`` command) and export the
207 external network name ``export EXTERNAL_NETWORK="external-network-name"``,
208 the default name for the external network is ``net04_ext``.
210 Credential environment variables in the *openrc* file have to include at least:
217 Yardstick default key pair
218 ^^^^^^^^^^^^^^^^^^^^^^^^^^
219 Yardstick uses a SSH key pair to connect to the guest image. This key pair can
220 be found in the ``resources/files`` directory. To run the ``ping-hot.yaml`` test
221 sample, this key pair needs to be imported to the OpenStack environment.
224 Examples and verifying the install
225 ----------------------------------
227 It is recommended to verify that Yardstick was installed successfully
228 by executing some simple commands and test samples. Below is an example invocation
229 of yardstick help command and ping.py test sample:
233 yardstick task start samples/ping.yaml
235 Each testing tool supported by Yardstick has a sample configuration file.
236 These configuration files can be found in the **samples** directory.
238 Example invocation of ``yardstick-plot`` tool:
241 yardstick-plot -i /tmp/yardstick.out -o /tmp/plots/
243 Default location for the output is ``/tmp/yardstick.out``.
245 More info about the tool can be found by executing: