summaryrefslogtreecommitdiffstats
path: root/docs/testing
diff options
context:
space:
mode:
Diffstat (limited to 'docs/testing')
-rw-r--r--docs/testing/developer/devguide/gerrit.rst203
-rw-r--r--docs/testing/developer/devguide/ide.rst110
-rw-r--r--docs/testing/developer/devguide/index.rst18
-rw-r--r--docs/testing/developer/devguide/initial.rst42
-rw-r--r--docs/testing/developer/devguide/unit_tests.rst88
-rwxr-xr-xdocs/testing/user/installation.rst138
-rw-r--r--docs/testing/user/test-usage.rst46
7 files changed, 592 insertions, 53 deletions
diff --git a/docs/testing/developer/devguide/gerrit.rst b/docs/testing/developer/devguide/gerrit.rst
new file mode 100644
index 0000000..b227d21
--- /dev/null
+++ b/docs/testing/developer/devguide/gerrit.rst
@@ -0,0 +1,203 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Dell EMC and others.
+
+======
+Gerrit
+======
+
+Installing and configuring Git and Git-Review is necessary in order to follow
+this guide. The `Getting Started <https://wiki.opnfv.org/display/DEV/
+Developer+Getting+Started>`_ page will provide you with some help for that.
+
+Committing the code with Gerrit
+===============================
+
+* Open a terminal window and set the project's directory to the working
+ directory using the cd command. In this case "/home/tim/OPNFV/storperf" is
+ the path to the StorPerf project folder on my computer. Replace this with the
+ path of your own project.
+
+.. code-block:: bash
+
+ cd /home/tim/OPNFV/storperf
+
+* Start a new topic for your change.
+
+.. code-block:: bash
+
+ git checkout -b TOPIC-BRANCH
+
+* Tell Git which files you would like to take into account for the next commit.
+ This is called 'staging' the files, by placing them into the staging area,
+ using the 'git add' command (or the synonym 'git stage' command).
+
+.. code-block:: bash
+
+ git add storperf/utilities/math.py
+ git add storperf/tests/utilities/math.py
+ ...
+
+* Alternatively, you can choose to stage all files that have been modified
+ (that is the files you have worked on) since the last time you generated a
+ commit, by using the -a argument.
+
+.. code-block:: bash
+
+ git add -a
+
+* Git won't let you push (upload) any code to Gerrit if you haven't pulled the
+ latest changes first. So the next step is to pull (download) the latest
+ changes made to the project by other collaborators using the 'pull' command.
+
+.. code-block:: bash
+
+ git pull
+
+* Now that you have the latest version of the project and you have staged the
+ files you wish to push, it is time to actually commit your work to your local
+ Git repository.
+
+.. code-block:: bash
+
+ git commit --signoff -m "Title of change
+
+ Test of change that describes in high level what
+ was done. There is a lot of documentation in code
+ so you do not need to repeat it here.
+
+ JIRA: STORPERF-54"
+
+The message that is required for the commit should follow a specific set of
+rules. This practice allows to standardize the description messages attached to
+the commits, and eventually navigate among the latter more easily. This
+`document <https://chris.beams.io/posts/git-commit/>`_ happened to be very clear
+and useful to get started with that.
+
+
+Pushing the code to Git for review
+==================================
+
+* Now that the code has been comitted into your local Git repository the
+ following step is to push it online to Gerrit for it to be reviewed. The
+ command we will use is 'git review'.
+
+.. code-block:: bash
+
+ git review
+
+* This will automatically push your local commit into Gerrit, and the command
+ should get back to you with a Gerrit URL that looks like this :
+
+.. image:: ../images/git_review.png
+
+* The OPNFV-Gerrit-Bot in #opnfv-storperf IRC channel will send a message with
+ the URL as well.
+
+.. image:: ../images/gerrit_bot.png
+
+* Copy/Paste the URL into a web browser to get to the Gerrit code review you
+ have just generated, and click the 'add' button to add reviewers to review
+ your changes :
+
+.. image:: ../images/add_reviewers.png
+
+.. note::
+
+ Check out this `section <https://wiki.opnfv.org/display/storperf/Development
+ +Environment#DevelopmentEnvironment-IfGerrituploadisdenied>`_ if the git
+ review command returns to you with an "access denied" error.
+
+
+Fetching a Git review
+=====================
+
+If you want to collaborate with another developer, you can fetch their review
+by the Gerrit change id (which is part of the URL, and listed in the top left
+as Change NNNNN).
+
+.. code-block:: bash
+
+ git review -d 16213
+
+would download the patchset for change 16213. If there were a topic branch
+associated with it, it would switch you to that branch, allowing you to look at
+different patch sets locally at the same time without conflicts.
+
+
+Modifying the code under review in Gerrit
+=========================================
+
+At the same time the code is being reviewed in Gerrit, you may need to edit it
+to make some changes and then send it back for review. The following steps go
+through the procedure.
+
+* Once you have modified/edited your code files under your IDE, you will have
+ to stage them. The 'status' command is very helpful at this point as it
+ provides an overview of Git's current state.
+
+.. code-block:: bash
+
+ git status
+
+.. image:: ../images/git_status.png
+
+* The output of the command provides us with the files that have been modified
+ after the latest commit (in this case I modified storperf/tests/utilities/
+ math.py and storperf/utilities/math.py).
+
+* We can now stage the files that have been modified as part of the Gerrit code
+ review edition/modification/improvement :
+
+.. code-block:: bash
+
+ git add storperf/tests/utilities/math.py
+ git add storperf/utilities/math.py
+
+* The 'git status' command should take this into consideration :
+
+.. image:: ../images/git_status_2.png
+
+* It is now time to commit the newly modified files, but the objective here is
+ not to create a new commit, we simply want to inject the new changes into the
+ previous commit. We can achieve that with the '--amend' option on the
+ 'commit' command :
+
+.. code-block:: bash
+
+ git commit --amend
+
+.. image:: ../images/amend_commit.png
+
+* If the commit was successful, the 'status' command should not return the
+ updated files as about to be committed.
+
+* The final step consists in pushing the newly modified commit to Gerrit.
+
+.. code-block:: bash
+
+ git review
+
+.. image:: ../images/git_review_2.png
+
+The Gerrit code review should be updated, which results in a 'patch set 2'
+notification appearing in the history log. 'patch set 1' being the original
+code review proposition.
+
+
+If Gerrit upload is denied
+==========================
+
+The 'git review' command might return to you with an "access denied" error that
+looks like this :
+
+.. image:: ../images/Access_denied.png
+
+In this case, you need to make sure your Gerrit account has been added as a
+member of the StorPerf contributors group : ldap/opnfv-gerrit-storperf-
+contributors. You also want to check that have signed the CLA (Contributor
+License Agreement), if not you can sign it in the "Agreements" section of your
+Gerrit account :
+
+.. image:: ../images/CLA_agreement.png
+
diff --git a/docs/testing/developer/devguide/ide.rst b/docs/testing/developer/devguide/ide.rst
new file mode 100644
index 0000000..3af4b6c
--- /dev/null
+++ b/docs/testing/developer/devguide/ide.rst
@@ -0,0 +1,110 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Dell EMC and others.
+
+===
+IDE
+===
+
+While PyCharm as an excellent IDE, some aspects of it require licensing, and
+the PyDev Plugin for Eclipse (packaged as LiClipse) is fully open source
+(although donations are welcome). Therefore this section focuses on using
+LiClipse for StorPerf development.
+
+
+Download
+============
+
+.. code-block:: bash
+
+ http://www.liclipse.com/download.html
+
+
+Storperf virtualenv Interpretor
+=================================
+
+Setting up interpreter under PyDev (LiClipse):
+
+* Go to Project -> Properties, PyDev Interpreter:
+
+.. image:: ../images/PyDev_Interpreter.jpeg
+
+* Click to configure an interpreter not listed.
+
+.. image:: ../images/PyDev_Interpreters_List.jpeg
+
+* Click New, and create a new interpreter called StorPerf that points to your
+ Virtual Env.
+
+.. image:: ../images/PyDev_New_Interpreter.jpeg
+
+* You should get a pop up similar to:
+
+.. image:: ../images/PyDev_Interpreter_Folders.jpeg
+
+* And then you can change the Interpreter to StorPerf.
+
+.. image:: ../images/PyDev_StorPerf_Interpreter.jpeg
+
+
+Code Formatting
+===============
+
+Pep8 and Flake8 rule. These are part of the Gerrit checks and I'm going to
+start enforcing style guidelines soon.
+
+* Go to Window -> Preferences, under PyDev, Editor, Code Style, Code Formatter
+ and select autopep8.py for code formatting.
+
+.. image:: ../images/Code_formatter.jpeg
+
+* Next, under Save Actions, enable "Auto-format editor contents before saving",
+ and "Sort imports on save".
+
+.. image:: ../images/Save_Actions.jpeg
+
+* And under Imports, select Delete unused imports.
+
+.. image:: ../images/Unused_imports.jpeg
+
+* Go to PyDev -> Editor -> Code Analysis and under the pycodestye.py (pep8),
+ select Pep8 as Error. This flag highlight badly formatted lines as errors.
+ These must be fixed before Jenkins will +1 any review.
+
+.. image:: ../images/Code_analysis.jpeg
+
+
+Import Storperf as Git Project
+==============================
+
+I prefer to do the git clone from the command line, and then import that as a
+local project in LiClipse.
+
+* From the menu: File -> Import Project
+
+.. image:: ../images/Import_Project.png
+
+|
+
+.. image:: ../images/Local_Repo.png
+
+|
+
+.. image:: ../images/Add_git.png
+
+|
+
+* Browse to the directory where you cloned StorPerf
+
+.. image:: ../images/Browse.png
+
+|
+
+* You should now have storperf as a valid local git repo:
+
+.. image:: ../images/Git_Selection.png
+
+|
+
+* Choose Import as general project
+
diff --git a/docs/testing/developer/devguide/index.rst b/docs/testing/developer/devguide/index.rst
new file mode 100644
index 0000000..48000cf
--- /dev/null
+++ b/docs/testing/developer/devguide/index.rst
@@ -0,0 +1,18 @@
+.. _storperf-devguide:
+
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Dell EMC and others.
+
+======================
+StorPerf Dev Guide
+======================
+
+.. toctree::
+ :maxdepth: 2
+
+ initial.rst
+ ide.rst
+ unit_tests.rst
+ gerrit.rst
diff --git a/docs/testing/developer/devguide/initial.rst b/docs/testing/developer/devguide/initial.rst
new file mode 100644
index 0000000..04b1c45
--- /dev/null
+++ b/docs/testing/developer/devguide/initial.rst
@@ -0,0 +1,42 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Dell EMC and others.
+
+================
+Initial Set up
+================
+
+Getting the Code
+================
+
+Replace your LFID with your actual Linux Foundation ID.
+
+.. code-block:: bash
+
+ git clone ssh://YourLFID@gerrit.opnfv.org:29418/storperf
+
+
+Virtual Environment
+=======================
+It is preferred to use virtualenv for Python dependencies. This way it is known
+exactly what libraries are needed, and can restart from a clean state at any
+time to ensure any library is not missing. Simply running the script:
+
+.. code-block:: bash
+
+ ci/verify.sh
+
+from inside the storperf directory will automatically create a virtualenv in
+the home directory called 'storperf_venv'. This will be used as the Python
+interpreter for the IDE.
+
+
+Docker Version
+=======================
+In order to run the full set of StorPerf services, docker and docker-compose
+are required to be installed. This requires docker 17.05 at a minimum.
+
+.. code-block:: bash
+
+ https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/
+
diff --git a/docs/testing/developer/devguide/unit_tests.rst b/docs/testing/developer/devguide/unit_tests.rst
new file mode 100644
index 0000000..98ed3ce
--- /dev/null
+++ b/docs/testing/developer/devguide/unit_tests.rst
@@ -0,0 +1,88 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Dell EMC and others.
+
+==========
+Unit Tests
+==========
+
+Running from CLI
+================
+
+You technically already did when you ran:
+
+.. code-block:: bash
+
+ ci/verify.sh
+
+The shortcut to running the unit tests again from the command line is:
+
+.. code-block:: bash
+
+ source ~/storperf_venv/bin/activate
+ nosetests --with-xunit \
+ --with-coverage \
+ --cover-package=storperf\
+ --cover-xml \
+ storperf
+
+.. note::
+
+ You must be in the top level storperf directory in order to run the tests.
+
+
+Set up under LiClipse
+=====================
+
+Running the tests:
+
+Right click on the tests folder and select Run as Python Unit Test. Chances
+are, you'll get:
+
+.. code-block:: bash
+
+ Traceback (most recent call last):
+ File "/home/mark/Documents/EMC/git/opnfv/storperf/storperf/tests/storperf_master_test.py", line 24, in setUp
+ self.storperf = StorPerfMaster()
+ File "/home/mark/Documents/EMC/git/opnfv/storperf/storperf/storperf_master.py", line 38, in __init__
+ template_file = open("storperf/resources/hot/agent-group.yaml")
+ IOError: [Errno 2] No such file or directory: 'storperf/resources/hot/agent-group.yaml'
+
+This means we need to set the working directory of the run configuration.
+
+* Under the menu: Run -> Run Configurations:
+
+.. image:: ../images/StorPerf_Tests-Main.jpeg
+
+* Go to the Arguments tab and change the radio button for Working Directory to
+ "Default"
+
+.. image:: ../images/StorPerf_Tests-Arguments.jpeg
+
+* And on interpreter tab, change the interpreter to StorPerf:
+
+.. image:: ../images/StorPerf_Tests-Interpreter.jpeg
+
+* Click Apply. From now on, the run should be clean:
+
+.. image:: ../images/StorPerf_Tests-Console.jpeg
+
+|
+
+.. image:: ../images/StorPerf_Tests-PyUnit.jpeg
+
+
+Adding builtins
+===============
+
+For some reason, sqlite needs to be added as a builtin.
+
+* Go to Window -> Preferences, PyDev > Interpreters > Python Interpreter and
+ select the StorPerf interpreter:
+
+.. image:: ../images/Python_Interpreters.jpeg
+
+* Go to the Forced Builtins tab, click New and add sqlite3.
+
+.. image:: ../images/Forced_Builtins.jpeg
+
diff --git a/docs/testing/user/installation.rst b/docs/testing/user/installation.rst
index 046da42..b3f0e91 100755
--- a/docs/testing/user/installation.rst
+++ b/docs/testing/user/installation.rst
@@ -78,8 +78,8 @@ Planning
StorPerf is delivered as a series of Docker containers managed by
docker-compose. There are two possible methods for installation:
-#. Run container on bare metal
-#. Run container in a VM
+#. Run the containers on bare metal
+#. Run the containers in a VM
Requirements:
@@ -142,7 +142,7 @@ which should result in:
.. code-block:: console
- 968c0c2d7c0e24f6777c33b37d9b4fd885575155069fb760405ec8214b2eb672 docker-compose.yaml
+ 69856e9788bec36308a25303ec9154ed68562e126788a47d54641d68ad22c8b9 docker-compose.yaml
To run, you must specify two environment variables:
@@ -175,7 +175,7 @@ which should result in:
.. code-block:: console
- 00649e02237d27bf0b40d1a66160a68a56c9f5e1ceb78d7858e30715cf4350e3 create-compose.py
+ 327cad2a7b3a3ca37910978005c743799313c2b90709e4a3f142286a06e53f57 create-compose.py
Note: The script will run fine on python3. Install python future package to avoid error on python2.
@@ -187,79 +187,123 @@ Note: The script will run fine on python3. Install python future package to avoi
Docker Exec
~~~~~~~~~~~
-If needed, the container can be entered with docker exec. This is not normally
+If needed, any StorPerf container can be entered with docker exec. This is not normally
required.
.. code-block:: console
- docker exec -it storperf-master bash
+ docker exec -it storperf-master /bin/bash
-Pulling StorPerf Container
-==========================
+Pulling StorPerf Containers
+===========================
-Master (Euphrates)
-~~~~~~~~~~~~~~~~~~
+The tags for StorPerf can be found here: https://hub.docker.com/r/opnfv/storperf-master/tags/
-StorPerf has switched to docker-compose in the latest version. The tag for
-pulling the latest master Euphrates container is:
+Master (latest)
+~~~~~~~~~~~~~~~
-.. code-block:: bash
+This tag represents StorPerf at its most current state of development. While
+self-tests have been run, there is not a guarantee that all features will be
+functional, or there may be bugs.
- docker pull opnfv/storperf-master:latest
- docker pull opnfv/storperf-reporting:latest
- docker pull opnfv/storperf-httpfrontend:latest
- docker pull opnfv/storperf-swaggerui:latest
- docker pull opnfv/storperf-graphite:latest
+Documentation for latest can be found using the latest label at:
-However, by itself, this will no longer provide full functionality. Full
-instructions are provided in the Running StorPerf Container section of this
-document.
+http://docs.opnfv.org/en/latest/submodules/storperf/docs/testing/user/index.html
+For x86_64 based systems, use:
-Danube
-~~~~~~
+.. code-block:: console
-The tag for the latest stable Danube is be:
+ TAG=x86_64-latest ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose pull
+ TAG=x86_64-latest ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose up -d
-.. code-block:: bash
+For 64 bit ARM based systems, use:
- docker pull opnfv/storperf:danube.3.0
+.. code-block:: console
-Colorado
-~~~~~~~~
+ TAG=aarch64-latest ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose pull
+ TAG=aarch64-latest ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose up -d
-The tag for the latest stable Colorado release is:
-.. code-block:: bash
+Release (stable)
+~~~~~~~~~~~~~~~~
- docker pull opnfv/storperf:colorado.0.1
+This tag represents StorPerf at its most recent stable release. There are
+no known bugs and known issues and workarounds are documented in the release
+notes. Issues found here should be reported in JIRA:
-Brahmaputra
-~~~~~~~~~~~
+https://jira.opnfv.org/secure/RapidBoard.jspa?rapidView=3
-The tag for the latest stable Brahmaputra release is:
+For x86_64 based systems, use:
-.. code-block:: bash
+.. code-block:: console
- docker pull opnfv/storperf:brahmaputra.1.2
+ TAG=x86_64-stable ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose pull
+ TAG=x86_64-stable ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose up -d
-StorPerf on ARM Processors
-==========================
+For 64 bit ARM based systems, use:
-StorPerf now supports docker images on ARM processors as well. However, at the moment
-there is no upstream image on DockerHub. The user needs to manually build it. Firstly,
-clone StorPerf repository from GitHub
+.. code-block:: console
-.. code-block:: bash
+ TAG=aarch64-stable ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose pull
+ TAG=aarch64-stable ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose up -d
+
+
+
+Fraser (opnfv-6.0.0)
+~~~~~~~~~~~~~~~~~~
+
+This tag represents the 6th OPNFV release and the 5th StorPerf release. There
+are no known bugs and known issues and workarounds are documented in the release
+notes. Documentation can be found under the Fraser label at:
+
+http://docs.opnfv.org/en/stable-fraser/submodules/storperf/docs/testing/user/index.html
+
+Issues found here should be reported against release 6.0.0 in JIRA:
+
+https://jira.opnfv.org/secure/RapidBoard.jspa?rapidView=3
+
+For x86_64 based systems, use:
+
+.. code-block:: console
+
+ TAG=x86_64-opnfv-6.0.0 ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose pull
+ TAG=x86_64-opnfv-6.0.0 ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose up -d
+
+For 64 bit ARM based systems, use:
+
+.. code-block:: console
+
+ TAG=aarch64-opnfv-6.0.0 ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose pull
+ TAG=aarch64-opnfv-6.0.0 ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose up -d
+
+
+
+Euphrates (opnfv-5.0.0)
+~~~~~~~~~~~~~~~~~
+
+This tag represents the 5th OPNFV release and the 4th StorPerf release. There
+are no known bugs and known issues and workarounds are documented in the release
+notes. Documentation can be found under the Euphrates label at:
+
+http://docs.opnfv.org/en/stable-euphrates/submodules/storperf/docs/testing/user/index.html
+
+Issues found here should be reported against release 6.0.0 in JIRA:
+
+https://jira.opnfv.org/secure/RapidBoard.jspa?rapidView=3
+
+For x86_64 based systems, use:
+
+.. code-block:: console
- git clone https://git.opnfv.org/storperf
- cd storperf/docker/
+ TAG=x86_64-opnfv-6.0.0 ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose pull
+ TAG=x86_64-opnfv-6.0.0 ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose up -d
-Next, build and setup the docker images
+For 64 bit ARM based systems, use:
.. code-block:: console
- TAG=aarch64 ENV_FILE=./admin.rc CARBON_DIR=./carbon docker-compose -f local-docker-compose.yaml build
- TAG=aarch64 ENV_FILE=./admin.rc CARBON_DIR=./carbon docker-compose -f local-docker-compose.yaml up -d
+ TAG=aarch64-opnfv-6.0.0 ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose pull
+ TAG=aarch64-opnfv-6.0.0 ENV_FILE=./admin.rc CARBON_DIR=./carbon/ docker-compose up -d
diff --git a/docs/testing/user/test-usage.rst b/docs/testing/user/test-usage.rst
index 8048cff..78bee4e 100644
--- a/docs/testing/user/test-usage.rst
+++ b/docs/testing/user/test-usage.rst
@@ -36,16 +36,31 @@ Configure The Environment
The following pieces of information are required to prepare the environment:
-- The number of VMs/Cinder volumes to create
-- The Glance image that holds the VM operating system to use. StorPerf has
- only been tested with Ubuntu 16.04
-- The OpenStack flavor to use when creating the VMs
-- The name of the public network that agents will use
-- The size, in gigabytes, of the Cinder volumes to create
+- The number of VMs/Cinder volumes to create.
+- The Glance image that holds the VM operating system to use.
+- The OpenStack flavor to use when creating the VMs.
+- The name of the public network that agents will use.
+- The size, in gigabytes, of the Cinder volumes to create.
+- The number of the Cinder volumes to attach to each VM.
- The availability zone (optional) in which the VM is to be launched. Defaults to **nova**.
- The username (optional) if we specify a custom image.
- The password (optional) for the above image.
+**Note**: on ARM based platforms there exists a bug in the kernel which can prevent
+VMs from properly attaching Cinder volumes. There are two known workarounds:
+
+#. Create the environment with 0 Cinder volumes attached, and after the VMs
+ have finished booting, modify the stack to have 1 or more Cinder volumes.
+ See section on Changing Stack Parameters later in this guide.
+#. Add the following image metadata to Glance. This will cause the Cinder
+ volume to be mounted as a SCSI device, and therefore your target will be
+ /dev/sdb, etc, instead of /dev/vdb. You will need to specify this in your
+ warm up and workload jobs.
+
+.. code-block:
+ --property hw_disk_bus=scsi --property hw_scsi_model=virtio-scsi
+
+
The ReST API is a POST to http://StorPerf:5000/api/v1.0/configurations and
takes a JSON payload as follows.
@@ -57,6 +72,7 @@ takes a JSON payload as follows.
"agent_image": string,
"public_network": string,
"volume_size": int,
+ "volume_count": int,
"availability_zone": string,
"username": string,
"password": string
@@ -165,6 +181,24 @@ is required in order to push results to the OPNFV Test Results DB:
"test_case": "snia_steady_state"
}
+Changing Stack Parameters
+~~~~~~~~~~~~~~~~~~~~~~~~~
+While StorPerf currently does not support changing the parameters of the
+stack directly, it is possible to change the stack using the OpenStack client
+library. The following parameters can be changed:
+
+- agent_count: to increase or decrease the number of VMs.
+- volume_count: to change the number of Cinder volumes per VM.
+- volume_size: to increase the size of each volume. Note: Cinder cannot shrink volumes.
+
+Increasing the number of agents or volumes, or increasing the size of the volumes
+will require you to kick off a new _warm_up job to initialize the newly
+allocated volumes.
+
+The following is an example of how to change the stack using the heat client:
+
+.. code-block::
+ heat stack-update StorPerfAgentGroup --existing -P "volume_count=2"
Query Jobs Information