aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorGwenael Lambrouin <gwenael.lambrouin@orange.com>2023-02-08 13:20:45 +0100
committerGwenael Lambrouin <gwenael.lambrouin@orange.com>2023-02-08 13:20:59 +0100
commitb33d3b4bc7ae7113ffca9b049eef1be172e22d29 (patch)
tree8942a41eaf36dcae30147f3bae80669647e79567 /docs
parent1e6a2788ca3118885c64276dc862f98d53d4ac99 (diff)
docs: refresh & structure overhaul
Rework the doc in order to improve the navigation experience and to make it easier to update the doc: - simplify structure: docs/{release-notes,user,developer} - recreate sphinx config file - switch theme from opnfv to piccolo - fix minor rst issues - fix external references - add missing license headers (add a short header with copyright and SPDX license identifier to the files lacking the information. The header is based on https://github.com/david-a-wheeler/spdx-tutorial) Change-Id: I9a1135a2873d9955beb26760e0cb6c5d6c1326bd Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/Makefile231
-rw-r--r--docs/conf.py69
-rw-r--r--docs/conf.yaml3
-rw-r--r--docs/developer/building.rst (renamed from docs/development/building/build.rst)2
-rw-r--r--docs/developer/design/design.rst (renamed from docs/development/design/design.rst)19
-rw-r--r--docs/developer/design/index.rst (renamed from docs/development/design/index.rst)7
-rw-r--r--docs/developer/design/ndrpdr.rst (renamed from docs/development/design/ndrpdr.rst)0
-rw-r--r--docs/developer/design/overview.rst (renamed from docs/development/overview/overview.rst)8
-rw-r--r--docs/developer/design/traffic_desc.rst (renamed from docs/development/design/traffic_desc.rst)1
-rw-r--r--docs/developer/design/versioning.rst (renamed from docs/development/design/versioning.rst)0
-rw-r--r--docs/developer/index.rst (renamed from docs/development/index.rst)9
-rw-r--r--docs/developer/nfvbenchvm.rst365
-rw-r--r--docs/developer/testing-nfvbench.rst (renamed from docs/testing/developer/devguide/testing-nfvbench.rst)2
-rw-r--r--docs/development/building/index.rst14
-rw-r--r--docs/development/overview/index.rst13
-rw-r--r--docs/index.rst12
-rw-r--r--docs/make.bat35
-rw-r--r--docs/release-notes/index.rst (renamed from docs/release/release-notes/index.rst)8
-rw-r--r--docs/release-notes/nfvbench-release-notes.rst (renamed from docs/release/release-notes/release-notes.rst)4
-rw-r--r--docs/release-notes/nfvbenchvm-release-notes.rst (renamed from docs/release/release-notes/nfvbenchvm-release-notes.rst)0
-rw-r--r--docs/requirements.txt9
-rw-r--r--docs/testing/developer/devguide/index.rst12
-rw-r--r--docs/testing/index.rst11
-rw-r--r--docs/testing/user/configguide/configguide.rst8
-rw-r--r--docs/testing/user/configguide/index.rst9
-rw-r--r--docs/testing/user/userguide/_static/custom.css4
-rw-r--r--docs/testing/user/userguide/_templates/layout.html5
-rw-r--r--docs/testing/user/userguide/conf.py358
-rw-r--r--docs/user/advanced.rst (renamed from docs/testing/user/userguide/advanced.rst)2
-rw-r--r--docs/user/examples.rst (renamed from docs/testing/user/userguide/examples.rst)0
-rw-r--r--docs/user/extchains.rst (renamed from docs/testing/user/userguide/extchains.rst)0
-rw-r--r--docs/user/faq.rst (renamed from docs/testing/user/userguide/faq.rst)0
-rw-r--r--docs/user/fluentd.rst (renamed from docs/testing/user/userguide/fluentd.rst)0
-rw-r--r--docs/user/hw_requirements.rst (renamed from docs/testing/user/userguide/hw_requirements.rst)0
-rw-r--r--docs/user/images/extchain-config.png (renamed from docs/testing/user/userguide/images/extchain-config.png)bin227354 -> 227354 bytes
-rw-r--r--docs/user/images/nfvbench-all-sriov-pvvp.png (renamed from docs/testing/user/userguide/images/nfvbench-all-sriov-pvvp.png)bin34850 -> 34850 bytes
-rw-r--r--docs/user/images/nfvbench-all-sriov-pvvp2.png (renamed from docs/testing/user/userguide/images/nfvbench-all-sriov-pvvp2.png)bin44379 -> 44379 bytes
-rw-r--r--docs/user/images/nfvbench-ext-multi-vlans.png (renamed from docs/testing/user/userguide/images/nfvbench-ext-multi-vlans.png)bin120315 -> 120315 bytes
-rw-r--r--docs/user/images/nfvbench-ext-shared.png (renamed from docs/testing/user/userguide/images/nfvbench-ext-shared.png)bin100743 -> 100743 bytes
-rw-r--r--docs/user/images/nfvbench-kibana-filter-kql.png (renamed from docs/testing/user/userguide/images/nfvbench-kibana-filter-kql.png)bin27039 -> 27039 bytes
-rw-r--r--docs/user/images/nfvbench-kibana-filter.png (renamed from docs/testing/user/userguide/images/nfvbench-kibana-filter.png)bin22998 -> 22998 bytes
-rw-r--r--docs/user/images/nfvbench-kibana-gbps-line.png (renamed from docs/testing/user/userguide/images/nfvbench-kibana-gbps-line.png)bin61856 -> 61856 bytes
-rw-r--r--docs/user/images/nfvbench-kibana-pps-scatter.png (renamed from docs/testing/user/userguide/images/nfvbench-kibana-pps-scatter.png)bin56762 -> 56762 bytes
-rw-r--r--docs/user/images/nfvbench-kibana-pps-theoretical.png (renamed from docs/testing/user/userguide/images/nfvbench-kibana-pps-theoretical.png)bin60589 -> 60589 bytes
-rw-r--r--docs/user/images/nfvbench-kibana-zoom-selection.png (renamed from docs/testing/user/userguide/images/nfvbench-kibana-zoom-selection.png)bin54663 -> 54663 bytes
-rw-r--r--docs/user/images/nfvbench-kibana.png (renamed from docs/testing/user/userguide/images/nfvbench-kibana.png)bin23015 -> 23015 bytes
-rw-r--r--docs/user/images/nfvbench-npvp.png (renamed from docs/testing/user/userguide/images/nfvbench-npvp.png)bin30328 -> 30328 bytes
-rw-r--r--docs/user/images/nfvbench-pvp.png (renamed from docs/testing/user/userguide/images/nfvbench-pvp.png)bin20770 -> 20770 bytes
-rw-r--r--docs/user/images/nfvbench-pvpl3.png (renamed from docs/testing/user/userguide/images/nfvbench-pvpl3.png)bin45570 -> 45570 bytes
-rw-r--r--docs/user/images/nfvbench-pvvp.png (renamed from docs/testing/user/userguide/images/nfvbench-pvvp.png)bin31338 -> 31338 bytes
-rw-r--r--docs/user/images/nfvbench-pvvp2.png (renamed from docs/testing/user/userguide/images/nfvbench-pvvp2.png)bin42583 -> 42583 bytes
-rw-r--r--docs/user/images/nfvbench-sriov-pvp.png (renamed from docs/testing/user/userguide/images/nfvbench-sriov-pvp.png)bin19982 -> 19982 bytes
-rw-r--r--docs/user/images/nfvbench-sriov-pvvp.png (renamed from docs/testing/user/userguide/images/nfvbench-sriov-pvvp.png)bin31769 -> 31769 bytes
-rw-r--r--docs/user/images/nfvbench-sriov-pvvp2.png (renamed from docs/testing/user/userguide/images/nfvbench-sriov-pvvp2.png)bin44101 -> 44101 bytes
-rw-r--r--docs/user/images/nfvbench-trex-setup.png (renamed from docs/testing/user/userguide/images/nfvbench-trex-setup.png)bin34090 -> 34090 bytes
-rw-r--r--docs/user/images/nfvbench-xtesting.png (renamed from docs/testing/user/userguide/images/nfvbench-xtesting.png)bin17342 -> 17342 bytes
-rw-r--r--docs/user/index.rst (renamed from docs/testing/user/userguide/index.rst)4
-rw-r--r--docs/user/installation.rst (renamed from docs/testing/user/userguide/installation.rst)0
-rw-r--r--docs/user/kibana.rst (renamed from docs/testing/user/userguide/kibana.rst)7
-rw-r--r--docs/user/mpls.rst (renamed from docs/testing/user/userguide/mpls.rst)3
-rw-r--r--docs/user/pvpl3.rst (renamed from docs/testing/user/userguide/pvpl3.rst)2
-rw-r--r--docs/user/quickstart_docker.rst (renamed from docs/testing/user/userguide/quickstart_docker.rst)0
-rw-r--r--docs/user/readme.rst (renamed from docs/testing/user/userguide/readme.rst)0
-rw-r--r--docs/user/server.rst (renamed from docs/testing/user/userguide/server.rst)0
-rw-r--r--docs/user/sriov.rst (renamed from docs/testing/user/userguide/sriov.rst)0
-rw-r--r--docs/user/xtesting.rst (renamed from docs/testing/user/userguide/xtesting.rst)0
66 files changed, 541 insertions, 695 deletions
diff --git a/docs/Makefile b/docs/Makefile
index 2d4ff46..d4bb2cb 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -1,225 +1,20 @@
-# Makefile for Sphinx documentation
+# Minimal makefile for Sphinx documentation
#
-# You can set these variables from the command line.
-SPHINXOPTS =
-SPHINXBUILD = sphinx-build
-PAPER =
+# You can set these variables from the command line, and also
+# from the environment for the first two.
+SPHINXOPTS ?=
+SPHINXBUILD ?= sphinx-build
+SOURCEDIR = .
BUILDDIR = _build
-# Internal variables.
-PAPEROPT_a4 = -D latex_paper_size=a4
-PAPEROPT_letter = -D latex_paper_size=letter
-ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) testing/user/userguide
-# the i18n builder cannot share the environment and doctrees with the others
-I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) testing/user/userguide
-
-.PHONY: help
+# Put it first so that "make" without argument is like "make help".
help:
- @echo "Please use \`make <target>' where <target> is one of"
- @echo " html to make standalone HTML files"
- @echo " dirhtml to make HTML files named index.html in directories"
- @echo " singlehtml to make a single large HTML file"
- @echo " pickle to make pickle files"
- @echo " json to make JSON files"
- @echo " htmlhelp to make HTML files and a HTML help project"
- @echo " qthelp to make HTML files and a qthelp project"
- @echo " applehelp to make an Apple Help Book"
- @echo " devhelp to make HTML files and a Devhelp project"
- @echo " epub to make an epub"
- @echo " epub3 to make an epub3"
- @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
- @echo " latexpdf to make LaTeX files and run them through pdflatex"
- @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
- @echo " text to make text files"
- @echo " man to make manual pages"
- @echo " texinfo to make Texinfo files"
- @echo " info to make Texinfo files and run them through makeinfo"
- @echo " gettext to make PO message catalogs"
- @echo " changes to make an overview of all changed/added/deprecated items"
- @echo " xml to make Docutils-native XML files"
- @echo " pseudoxml to make pseudoxml-XML files for display purposes"
- @echo " linkcheck to check all external links for integrity"
- @echo " doctest to run all doctests embedded in the documentation (if enabled)"
- @echo " coverage to run coverage check of the documentation (if enabled)"
- @echo " dummy to check syntax errors of document sources"
-
-.PHONY: clean
-clean:
- rm -rf $(BUILDDIR)/*
-
-.PHONY: html
-html:
- $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
- @echo
- @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
-
-.PHONY: dirhtml
-dirhtml:
- $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
- @echo
- @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
-
-.PHONY: singlehtml
-singlehtml:
- $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
- @echo
- @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
-
-.PHONY: pickle
-pickle:
- $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
- @echo
- @echo "Build finished; now you can process the pickle files."
-
-.PHONY: json
-json:
- $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
- @echo
- @echo "Build finished; now you can process the JSON files."
-
-.PHONY: htmlhelp
-htmlhelp:
- $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
- @echo
- @echo "Build finished; now you can run HTML Help Workshop with the" \
- ".hhp project file in $(BUILDDIR)/htmlhelp."
-
-.PHONY: qthelp
-qthelp:
- $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
- @echo
- @echo "Build finished; now you can run "qcollectiongenerator" with the" \
- ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
- @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/NFVBench.qhcp"
- @echo "To view the help file:"
- @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/NFVBench.qhc"
-
-.PHONY: applehelp
-applehelp:
- $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
- @echo
- @echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
- @echo "N.B. You won't be able to view it unless you put it in" \
- "~/Library/Documentation/Help or install it in your application" \
- "bundle."
-
-.PHONY: devhelp
-devhelp:
- $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
- @echo
- @echo "Build finished."
- @echo "To view the help file:"
- @echo "# mkdir -p $$HOME/.local/share/devhelp/NFVBench"
- @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/NFVBench"
- @echo "# devhelp"
-
-.PHONY: epub
-epub:
- $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
- @echo
- @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
-
-.PHONY: epub3
-epub3:
- $(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3
- @echo
- @echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3."
-
-.PHONY: latex
-latex:
- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
- @echo
- @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
- @echo "Run \`make' in that directory to run these through (pdf)latex" \
- "(use \`make latexpdf' here to do that automatically)."
-
-.PHONY: latexpdf
-latexpdf:
- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
- @echo "Running LaTeX files through pdflatex..."
- $(MAKE) -C $(BUILDDIR)/latex all-pdf
- @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
-
-.PHONY: latexpdfja
-latexpdfja:
- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
- @echo "Running LaTeX files through platex and dvipdfmx..."
- $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
- @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
-
-.PHONY: text
-text:
- $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
- @echo
- @echo "Build finished. The text files are in $(BUILDDIR)/text."
-
-.PHONY: man
-man:
- $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
- @echo
- @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
-
-.PHONY: texinfo
-texinfo:
- $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
- @echo
- @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
- @echo "Run \`make' in that directory to run these through makeinfo" \
- "(use \`make info' here to do that automatically)."
-
-.PHONY: info
-info:
- $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
- @echo "Running Texinfo files through makeinfo..."
- make -C $(BUILDDIR)/texinfo info
- @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
-
-.PHONY: gettext
-gettext:
- $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
- @echo
- @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
-
-.PHONY: changes
-changes:
- $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
- @echo
- @echo "The overview file is in $(BUILDDIR)/changes."
-
-.PHONY: linkcheck
-linkcheck:
- $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
- @echo
- @echo "Link check complete; look for any errors in the above output " \
- "or in $(BUILDDIR)/linkcheck/output.txt."
-
-.PHONY: doctest
-doctest:
- $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
- @echo "Testing of doctests in the sources finished, look at the " \
- "results in $(BUILDDIR)/doctest/output.txt."
-
-.PHONY: coverage
-coverage:
- $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
- @echo "Testing of coverage in the sources finished, look at the " \
- "results in $(BUILDDIR)/coverage/python.txt."
-
-.PHONY: xml
-xml:
- $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
- @echo
- @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
-.PHONY: pseudoxml
-pseudoxml:
- $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
- @echo
- @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
+.PHONY: help Makefile
-.PHONY: dummy
-dummy:
- $(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy
- @echo
- @echo "Build finished. Dummy builder generates no files."
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/docs/conf.py b/docs/conf.py
index eb12e74..cf53232 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1 +1,68 @@
-from docs_conf.conf import * # noqa: F401,F403
+# Copyright 2016 - 2023, Cisco Systems, Inc. and the NFVbench project contributors
+# SPDX-License-Identifier: Apache-2.0
+
+# Configuration file for the Sphinx documentation builder.
+#
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+import pbr.version
+
+
+# -- Path setup --------------------------------------------------------------
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+# import os
+# import sys
+# sys.path.insert(0, os.path.abspath('.'))
+
+
+# -- Project information -----------------------------------------------------
+
+project = 'NFVbench'
+copyright = '2016 - 2023, Cisco Systems, Inc. and the NFVbench project contributors'
+author = 'Cisco Systems, Inc. and the NFVbench project contributors'
+
+# -- Project version ---------------------------------------------------------
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = pbr.version.VersionInfo(project).version_string()
+# The full version, including alpha/beta/rc tags.
+release = pbr.version.VersionInfo(project).version_string_with_vcs()
+
+# -- General configuration ---------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path.
+exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
+
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+#
+html_theme = 'piccolo_theme'
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
diff --git a/docs/conf.yaml b/docs/conf.yaml
deleted file mode 100644
index 4e26a1c..0000000
--- a/docs/conf.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-project_cfg: opnfv
-project: NFVBENCH
diff --git a/docs/development/building/build.rst b/docs/developer/building.rst
index aeda059..00b8654 100644
--- a/docs/development/building/build.rst
+++ b/docs/developer/building.rst
@@ -4,7 +4,7 @@
.. http://creativecommons.org/licenses/by/4.0
.. (c) Cisco Systems, Inc
-Building containers and VM images
+Building Containers and VM Images
=================================
NFVbench is delivered as Docker container which is built using the Dockerfile under the docker directory.
diff --git a/docs/development/design/design.rst b/docs/developer/design/design.rst
index 75b90f8..43011ad 100644
--- a/docs/development/design/design.rst
+++ b/docs/developer/design/design.rst
@@ -1,19 +1,15 @@
-
-
-.. contents::
- :depth: 3
- :local:
-
.. This work is licensed under a Creative Commons Attribution 4.0 International
.. License.
.. http://creativecommons.org/licenses/by/4.0
.. (c) Cisco Systems, Inc
-Introduction
-------------
+*******************
+NFVbench components
+*******************
NFVbench can be decomposed in the following components:
+
- Configuration
- Orchestration:
@@ -22,13 +18,14 @@ NFVbench can be decomposed in the following components:
- Results analysis
Configuration
--------------
+=============
This component is in charge of getting the configuration options from the user and consolidate them with
the default configuration into a running configuration.
default configuration + user configuration options = running configuration
User configuration can come from:
+
- CLI configuration shortcut arguments (e.g --frame-size)
- CLI configuration file (--config [file])
- CLI configuration string (--config [string])
@@ -36,6 +33,7 @@ User configuration can come from:
- custom platform pluging
The precedence order for configuration is (from highest precedence to lowest precedence)
+
- CLI configuration or REST configuration
- custom platform plugin
- default configuration
@@ -46,7 +44,7 @@ with default platform options which can be either hardcoded or calculated at run
A custom platform plugin class is a child of the parent class nfvbench.config_plugin.ConfigPlugin.
Orchestration
--------------
+=============
Once the configuration is settled, benchmark orchestration is managed by the ChainRunner class (nfvbench.chain_runner.ChainRunner).
The chain runner will take care of orchestrating the staging, traffic generation and results analysis.
@@ -63,6 +61,7 @@ Traffic Generation
------------------
The traffic generation component is in charge of contrilling the TRex traffic generator using its python API.
It includes tasks such as:
+
- traffic check end to end to make sure the packet path is clear in both directions before starting a benchmark
- programming the TRex traffic flows based on requested parameters
- fixed rate control
diff --git a/docs/development/design/index.rst b/docs/developer/design/index.rst
index 0500ca2..4c52f98 100644
--- a/docs/development/design/index.rst
+++ b/docs/developer/design/index.rst
@@ -3,13 +3,14 @@
.. http://creativecommons.org/licenses/by/4.0
.. (c) Cisco Systems, Inc
-===============================
-OPNFV NFVbench Euphrates Design
-===============================
+=====================
+NFVbench Design Notes
+=====================
.. toctree::
:maxdepth: 2
+ overview
design
versioning
traffic_desc
diff --git a/docs/development/design/ndrpdr.rst b/docs/developer/design/ndrpdr.rst
index dd769c0..dd769c0 100644
--- a/docs/development/design/ndrpdr.rst
+++ b/docs/developer/design/ndrpdr.rst
diff --git a/docs/development/overview/overview.rst b/docs/developer/design/overview.rst
index 26e19d1..9876d62 100644
--- a/docs/development/overview/overview.rst
+++ b/docs/developer/design/overview.rst
@@ -3,12 +3,9 @@
.. http://creativecommons.org/licenses/by/4.0
.. (c) Cisco Systems, Inc
-.. contents::
- :depth: 3
- :local:
+Overview
+--------
-Introduction
-----------------
NFVbench is a python application that is designed to run in a compact and portable format inside a container and on production pods.
As such it only uses open sourec software with minimal hardware requirements (just a NIC card that is DPDK compatible).
Traffic generation is handled by TRex on 2 physical ports (2x10G or higher) forming traffic loops up to VNF level and following
@@ -18,6 +15,7 @@ to VNF(s) and back.
Configuration of benchmarks is through a yaml configuraton file and command line arguments.
Results are available in different formats:
+
- text output with tabular results
- json result in file or in REST reply (most detailed)
diff --git a/docs/development/design/traffic_desc.rst b/docs/developer/design/traffic_desc.rst
index bbd31a6..d6bbb6b 100644
--- a/docs/development/design/traffic_desc.rst
+++ b/docs/developer/design/traffic_desc.rst
@@ -61,6 +61,7 @@ size of the L2 header - including the VLAN tag if applicable.
IMIX Support
------------
In the case of IMIX, each direction is made of 4 streams:
+
- 1 latency stream
- 1 stream for each IMIX frame size
diff --git a/docs/development/design/versioning.rst b/docs/developer/design/versioning.rst
index 40e70f2..40e70f2 100644
--- a/docs/development/design/versioning.rst
+++ b/docs/developer/design/versioning.rst
diff --git a/docs/development/index.rst b/docs/developer/index.rst
index 0477154..d9bf844 100644
--- a/docs/development/index.rst
+++ b/docs/developer/index.rst
@@ -3,9 +3,14 @@
.. http://creativecommons.org/licenses/by/4.0
.. (c) Cisco Systems, Inc
+************************
+NFVbench Developer Guide
+************************
+
.. toctree::
:maxdepth: 3
- overview/index
+ building
+ nfvbenchvm
+ testing-nfvbench
design/index
- building/index
diff --git a/docs/developer/nfvbenchvm.rst b/docs/developer/nfvbenchvm.rst
new file mode 100644
index 0000000..5d6166f
--- /dev/null
+++ b/docs/developer/nfvbenchvm.rst
@@ -0,0 +1,365 @@
+.. Copyright 2016 - 2023, Cisco Systems, Inc. and the NFVbench project contributors
+.. SPDX-License-Identifier: CC-BY-4.0
+
+NFVBENCH VM IMAGES FOR OPENSTACK
+++++++++++++++++++++++++++++++++
+
+This repo will build two centos 7 images with:
+ - testpmd and VPP installed for loop VM use case
+ - NFVbench and TRex installed for generator VM use case
+
+These VMs will come with a pre-canned user/password: nfvbench/nfvbench
+
+BUILD INSTRUCTIONS
+==================
+
+Pre-requisites
+--------------
+- must run on Linux
+- the following packages must be installed prior to using this script:
+ - python3 (+ python3-venv on Ubuntu)
+ - python3-pip
+ - git
+ - qemu-img (CentOs) or qemu-utils (Ubuntu)
+ - kpartx
+
+.. note:: The image build process is based on `diskimage-builder
+ <https://docs.openstack.org/diskimage-builder/latest/index.html>`_
+ that will be installed in a Python virtual environment by nfvbenchvm
+ build script build-image.sh.
+
+.. note:: build-image.sh uses the `gsutil <https://pypi.org/project/gsutil/>`_
+ tool to interact with Google cloud storage (to check if the images
+ exist and to upload the images). This is normally only needed in the
+ context of OPNFV build infrastructure, and build-image.sh can be used
+ without that tool in development environments.
+
+Build the image
+---------------
+- cd dib
+- update the version number for the image (if needed) by modifying __version__ in build-image.sh
+- setup your http_proxy if needed
+- run ``build-image.sh`` to build the images. A few examples:
+
+ - to build all the images and publish the code to Google cloud storage:
+ - ``bash build-image.sh``
+ - to build and publish only the loop VM:
+ - ``bash build-image.sh -l``
+ - to build and publish only the generator VM:
+ - ``bash build-image.sh -g``
+ - to build the generator VM without publishing it:
+ - ``bash build-image.sh -gv``
+
+.. note:: Run ``bash build-image.sh`` -h to see all options available.
+
+.. note:: By default, the generator VM image embeds the latest nfvbench code
+ found at the time of the build on the master branch of NFVbench Git
+ repository on OPNFV Gerrit instance (latest commit).
+
+ During development phases, it is also possible to build the image with
+ all the committed changes found in the current working copy of
+ nfvbench (local code). To do that, run the image build with the ``-s``
+ option, for instance: ``bash build-image.sh -gvs``.
+
+ In that case, the version of the generator VM image will be extended
+ with nfvbench development version number to be able to distinguish the
+ development images from the latest published image.
+
+LOOP VM IMAGE INSTANCE AND CONFIG
+=================================
+
+Interface Requirements
+----------------------
+The instance must be launched using OpenStack with 2 network interfaces.
+For best performance, it should use a flavor with:
+
+- 2 vCPU
+- 4 GB RAM
+- cpu pinning set to exclusive
+
+Auto-configuration
+------------------
+nfvbench VM will automatically find the two virtual interfaces to use, and use the forwarder specifed in the config file.
+
+In the case testpmd is used, testpmd will be launched with mac forwarding mode where the destination macs rewritten according to the config file.
+
+In the case VPP is used, VPP will set up a L3 router, and forwarding traffic from one port to the other.
+
+nfvbenchvm Config
+-----------------
+nfvbenchvm config file is located at ``/etc/nfvbenchvm.conf``.
+
+.. code-block:: bash
+
+ FORWARDER=testpmd
+ INTF_MAC1=FA:16:3E:A2:30:41
+ INTF_MAC2=FA:16:3E:10:DA:10
+ TG_MAC1=00:10:94:00:0A:00
+ TG_MAC2=00:11:94:00:0A:00
+ VNF_GATEWAY1_CIDR=1.1.0.2/8
+ VNF_GATEWAY2_CIDR=2.2.0.2/8
+ TG_NET1=10.0.0.0/8
+ TG_NET2=20.0.0.0/8
+ TG_GATEWAY1_IP=1.1.0.100
+ TG_GATEWAY2_IP=2.2.0.100
+
+
+Launching nfvbenchvm VM
+-----------------------
+
+Normally this image will be used together with NFVBench, and the required configurations will be automatically generated and pushed to VM by NFVBench. If launched manually, no forwarder will be run. Users will have the full control to run either testpmd or VPP via VNC console.
+
+To check if testpmd is running, you can run this command in VNC console:
+
+.. code-block:: bash
+
+ sudo screen -r testpmd
+
+To check if VPP is running, you can run this command in VNC console:
+
+.. code-block:: bash
+
+ service vpp status
+
+
+Hardcoded Username and Password
+--------------------------------
+- Username: nfvbench
+- Password: nfvbench
+
+
+GENERATOR IMAGE INSTANCE AND CONFIG
+===================================
+
+Pre-requisites
+--------------
+To use openstack APIs, NFVbench generator VM will use `clouds.yaml` file as openstack configuration.
+The OpenStack clouds configuration from clouds.yaml file to use.
+clouds.yaml file must be in one of the following paths:
+- ~/.config/openstack
+- /etc/openstack
+
+Example of `clouds.yaml`:
+
+.. code-block:: yaml
+
+ clouds:
+ devstack:
+ auth:
+ auth_url: http://192.168.122.10:35357/
+ project_name: demo
+ username: demo
+ password: 0penstack
+ region_name: RegionOne
+
+.. note:: Add `CLOUD_DETAIL` property with the accurate value for your openstack configuration (`devstack` in the above example) in ``/etc/nfvbenchvm.conf``
+
+Interface Requirements
+----------------------
+The instance must be launched using OpenStack with 2 network interfaces for dataplane traffic (using SR-IOV function) and 1 management interface to control nfvbench.
+For best performance, it should use network interfaces for dataplane traffic with a `vnic_type` to `direct-physical` (or `direct` if physical function is not possible)
+and a flavor with:
+
+- 6 vCPU
+- 8 GB RAM
+- cpu pinning set to exclusive
+
+.. note:: For the management interface: any interface type can be used. This interface required a routable IP (through floating IP or direct) and an access to the openstack APIs.
+.. note:: CPU pinning: 1 core dedicated for guest OS and NFVbench process, other provided cores are used by TRex
+
+Template of a genarator profile using CPU pinning:
+
+.. code-block:: bash
+
+ generator_profile:
+ - name: {{name}}
+ tool: {{tool}}
+ ip: {{ip}}
+ zmq_pub_port: {{zmq_pub_port}}
+ zmq_rpc_port: {{zmq_rpc_port}}
+ software_mode: {{software_mode}}
+ cores: {{CORES}}
+ platform:
+ master_thread_id: '0'
+ latency_thread_id: '1'
+ dual_if:
+ - socket: 0
+ threads: [{{CORE_THREADS}}]
+
+ interfaces:
+ - port: 0
+ pci: "{{PCI_ADDRESS_1}}"
+ switch:
+ - port: 1
+ pci: "{{PCI_ADDRESS_2}}"
+ switch:
+ intf_speed:
+
+.. note:: `CORE_THREADS` value is determined automatically based on the cores available on the VM starting from 2 to last worker core available.
+
+Auto-configuration
+------------------
+nfvbench VM will automatically find the two virtual interfaces to use for dataplane based on MAC addresses or openstack port name (see config part below).
+This applies to the management interface as well.
+
+nfvbenchvm Config
+-----------------
+nfvbenchvm config file is located at ``/etc/nfvbenchvm.conf``.
+
+Example of configuration:
+
+.. code-block:: bash
+
+ ACTION=e2e
+ LOOPBACK_INTF_MAC1=FA:16:3E:A2:30:41
+ LOOPBACK_INTF_MAC2=FA:16:3E:10:DA:10
+ E2E_INTF_MAC1=FA:16:3E:B0:E2:43
+ E2E_INTF_MAC2=FA:16:3E:D3:6A:FC
+
+.. note:: `ACTION` parameter is not mandatory but will permit to start NFVbench with the accurate ports (loopback or e2e).
+.. note:: Set of MAC parameters cannot be used in parallel as only one NFVbench/TRex process is running.
+.. note:: Switching from `loopback` to `e2e` action can be done manually using `/nfvbench/start-nfvbench.sh <action>` with the accurate keyword for `action` parameter. This script will restart NFVbench with the good set of MAC.
+
+nfvbenchvm config file with management interface:
+
+.. code-block:: bash
+
+ ACTION=e2e
+ LOOPBACK_INTF_MAC1=FA:16:3E:A2:30:41
+ LOOPBACK_INTF_MAC2=FA:16:3E:10:DA:10
+ INTF_MAC_MGMT=FA:16:3E:06:11:8A
+ INTF_MGMT_CIDR=172.20.56.228/2
+ INTF_MGMT_IP_GW=172.20.56.225
+ INTF_MGMT_MTU=1500
+
+.. note:: `INTF_MGMT_IP_GW` and `INTF_MGMT_CIDR` parameters are used by the VM to automatically configure virtual interface and route to allow an external access through SSH.
+
+.. note:: ``INTF_MGMT_MTU`` allows to specify the MTU of the management
+ interface in bytes.
+
+ If ``INTF_MGMT_MTU`` is not specified, the MTU will be configured to
+ the conservative value of 1500: this will reduce the risk to get an
+ unmanageable VM.
+
+ ``INTF_MGMT_MTU`` can also be set to the special value ``auto``: in
+ that case, the MTU will not be configured and it will keep the value
+ set by the hypervisor (default nfvbench behavior up to version
+ 5.0.3).
+
+Using pre-created direct-physical ports on openstack, mac addresses value are only known when VM is deployed. In this case, you can pass the port name in config:
+
+.. code-block:: bash
+
+ LOOPBACK_PORT_NAME1=nfvbench-pf1
+ LOOPBACK_PORT_NAME2=nfvbench-pf2
+ E2E_PORT_NAME1=nfvbench-pf1
+ E2E_PORT_NAME1=nfvbench-pf3
+ INTF_MAC_MGMT=FA:16:3E:06:11:8A
+ INTF_MGMT_CIDR=172.20.56.228/2
+ INTF_MGMT_IP_GW=172.20.56.225
+ DNS_SERVERS=8.8.8.8,dns.server.com
+
+.. note:: A management interface is required to automatically find the virtual interface to use according to the MAC address provided (see `INTF_MAC_MGMT` parameter).
+.. note:: NFVbench VM will call openstack API through the management interface to retrieve mac address for these ports
+.. note:: If openstack API required a host name resolution, add the parameter DNS_SERVERS to add IP or DNS server names (multiple servers can be added separated by a `,`)
+
+Control nfvbenchvm VM and run test
+----------------------------------
+
+By default, NFVbench will be started in server mode (`--server`) and will act as an API.
+
+NFVbench VM will be accessible through SSH or HTTP using the management interface IP.
+
+NFVbench API endpoint is : `http://<management_ip>:<port>`
+
+.. note:: by default port value is 7555
+
+Get NFVbench status
+^^^^^^^^^^^^^^^^^^^
+
+To check NFVbench is up and running use REST request:
+
+.. code-block:: bash
+
+ curl -XGET '<management_ip>:<port>/status'
+
+Example of answer:
+
+.. code-block:: bash
+
+ {
+ "error_message": "nfvbench run still pending",
+ "status": "PENDING"
+ }
+
+Start NFVbench test
+^^^^^^^^^^^^^^^^^^^
+
+To start a test run using NFVbench API use this type of REST request:
+
+.. code-block:: bash
+
+ curl -XPOST '<management_ip>:<port>/start_run' -H "Content-Type: application/json" -d @nfvbenchconfig.json
+
+Example of return when the submission is successful:
+
+.. code-block:: bash
+
+ {
+ "error_message": "NFVbench run still pending",
+ "request_id": "42cccb7effdc43caa47f722f0ca8ec96",
+ "status": "PENDING"
+ }
+
+
+Start NFVbench test using Xtesting
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To start a test run using Xtesting python library and NFVbench API use this type of command on the VM:
+
+.. code-block:: bash
+
+ run_tests -t nfvbench-demo
+
+.. note:: `-t` option determine which test case to be runned by Xtesting
+ (see `xtesting/testcases.yaml` file content to see available list of test cases)
+
+
+Connect to the VM using SSH keypair
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+If a key is provided at VM creation you can use it to log on the VM using `cloud-user` username:
+
+.. code-block:: bash
+
+ ssh -i key.pem cloud-user@<management_ip>
+
+
+Connect to VM using SSH username/password
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+VM is accessible over SSH using the hardcoded username and password (see below):
+
+.. code-block:: bash
+
+ ssh nfvbench@<management_ip>
+
+
+Launching nfvbenchvm VM
+-----------------------
+
+Normally this image will be deployed using Ansible role, and the required configurations will be automatically generated and pushed to VM by Ansible.
+If launched manually, users will have the full control to configure and run NFVbench via VNC console.
+
+To check if NFVbench is running, you can run this command in VNC console:
+
+.. code-block:: bash
+
+ sudo screen -r nfvbench
+
+
+Hardcoded Username and Password
+--------------------------------
+- Username: nfvbench
+- Password: nfvbench
+
diff --git a/docs/testing/developer/devguide/testing-nfvbench.rst b/docs/developer/testing-nfvbench.rst
index 3e53d08..799f8a6 100644
--- a/docs/testing/developer/devguide/testing-nfvbench.rst
+++ b/docs/developer/testing-nfvbench.rst
@@ -25,7 +25,7 @@ future): all the actions performed by tox must succeed before a patchset can be
merged. As a developer, it is also useful to run tox locally to detect and fix
the issues before pushing the code for review.
-.. _tox: https://tox.readthedocs.io/en/latest/
+.. _tox: https://tox.wiki/en/latest/
diff --git a/docs/development/building/index.rst b/docs/development/building/index.rst
deleted file mode 100644
index 8b9d786..0000000
--- a/docs/development/building/index.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International
-.. License.
-.. http://creativecommons.org/licenses/by/4.0
-.. (c) Cisco Systems, Inc
-
-===============================
-OPNFV NFVbench Euphrates Design
-===============================
-
-.. toctree::
- :maxdepth: 2
-
- build
-
diff --git a/docs/development/overview/index.rst b/docs/development/overview/index.rst
deleted file mode 100644
index ce99621..0000000
--- a/docs/development/overview/index.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International
-.. License.
-.. http://creativecommons.org/licenses/by/4.0
-.. (c) Cisco Systems, Inc
-
-=============================================
-OPNFV NFVbench Euphrates Overview
-=============================================
-
-.. toctree::
- :maxdepth: 1
-
- overview
diff --git a/docs/index.rst b/docs/index.rst
index 720b670..1339a7f 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -3,9 +3,13 @@
.. http://creativecommons.org/licenses/by/4.0
.. (c) Cisco Systems, Inc
+
+NFVbench |release| Documentation
+================================
+
.. toctree::
- :maxdepth: 1
+ :maxdepth: 2
- development/index
- release/release-notes/index
- testing/index
+ release-notes/index
+ user/index
+ developer/index
diff --git a/docs/make.bat b/docs/make.bat
new file mode 100644
index 0000000..153be5e
--- /dev/null
+++ b/docs/make.bat
@@ -0,0 +1,35 @@
+@ECHO OFF
+
+pushd %~dp0
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+ set SPHINXBUILD=sphinx-build
+)
+set SOURCEDIR=.
+set BUILDDIR=_build
+
+if "%1" == "" goto help
+
+%SPHINXBUILD% >NUL 2>NUL
+if errorlevel 9009 (
+ echo.
+ echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
+ echo.installed, then set the SPHINXBUILD environment variable to point
+ echo.to the full path of the 'sphinx-build' executable. Alternatively you
+ echo.may add the Sphinx directory to PATH.
+ echo.
+ echo.If you don't have Sphinx installed, grab it from
+ echo.https://www.sphinx-doc.org/
+ exit /b 1
+)
+
+%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+goto end
+
+:help
+%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+
+:end
+popd
diff --git a/docs/release/release-notes/index.rst b/docs/release-notes/index.rst
index 5f3f9f6..827c674 100644
--- a/docs/release/release-notes/index.rst
+++ b/docs/release-notes/index.rst
@@ -3,12 +3,12 @@
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
-**********************
-NFVbench Release Notes
-**********************
+*************
+Release Notes
+*************
.. toctree::
:maxdepth: 1
- release-notes
+ nfvbench-release-notes
nfvbenchvm-release-notes
diff --git a/docs/release/release-notes/release-notes.rst b/docs/release-notes/nfvbench-release-notes.rst
index cbb44c5..c1c52d4 100644
--- a/docs/release/release-notes/release-notes.rst
+++ b/docs/release-notes/nfvbench-release-notes.rst
@@ -2,8 +2,8 @@
.. http://creativecommons.org/licenses/by/4.0
.. (c) Cisco Systems, Inc
-RELEASE NOTES
-+++++++++++++
+NFVbench Release Notes
+++++++++++++++++++++++
Release 3.6.2
=============
diff --git a/docs/release/release-notes/nfvbenchvm-release-notes.rst b/docs/release-notes/nfvbenchvm-release-notes.rst
index 234a086..234a086 100644
--- a/docs/release/release-notes/nfvbenchvm-release-notes.rst
+++ b/docs/release-notes/nfvbenchvm-release-notes.rst
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 9fde2df..4c9e064 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -1,2 +1,7 @@
-lfdocs-conf
-sphinx_opnfv_theme
+# Python dependencies needed to build and check nfvbench documentation
+
+sphinx # BSD
+piccolo_theme
+
+# Extract nfvbench version from git
+pbr
diff --git a/docs/testing/developer/devguide/index.rst b/docs/testing/developer/devguide/index.rst
deleted file mode 100644
index df8bfc7..0000000
--- a/docs/testing/developer/devguide/index.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. SPDX-License-Identifier: CC-BY-4.0
-
-
-************************
-NFVbench Developer Guide
-************************
-
-.. toctree::
- :maxdepth: 3
-
- testing-nfvbench
diff --git a/docs/testing/index.rst b/docs/testing/index.rst
deleted file mode 100644
index b795e6b..0000000
--- a/docs/testing/index.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International
-.. License.
-.. http://creativecommons.org/licenses/by/4.0
-.. (c) Cisco Systems, Inc
-
-.. toctree::
- :maxdepth: 2
-
- developer/devguide/index
- user/configguide/index
- user/userguide/index
diff --git a/docs/testing/user/configguide/configguide.rst b/docs/testing/user/configguide/configguide.rst
deleted file mode 100644
index f790d21..0000000
--- a/docs/testing/user/configguide/configguide.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International
-.. License.
-.. http://creativecommons.org/licenses/by/4.0
-.. (c) Cisco Systems, Inc
-
-*******************
-Configuration Guide
-*******************
diff --git a/docs/testing/user/configguide/index.rst b/docs/testing/user/configguide/index.rst
deleted file mode 100644
index ce3b778..0000000
--- a/docs/testing/user/configguide/index.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International
-.. License.
-.. http://creativecommons.org/licenses/by/4.0
-.. (c) Cisco Systems, Inc
-
-.. toctree::
- :maxdepth: 1
-
- configguide
diff --git a/docs/testing/user/userguide/_static/custom.css b/docs/testing/user/userguide/_static/custom.css
deleted file mode 100644
index 6cbfde3..0000000
--- a/docs/testing/user/userguide/_static/custom.css
+++ /dev/null
@@ -1,4 +0,0 @@
-.wy-nav-content {
- max-width: 1200px !important;
-}
-
diff --git a/docs/testing/user/userguide/_templates/layout.html b/docs/testing/user/userguide/_templates/layout.html
deleted file mode 100644
index f3387d5..0000000
--- a/docs/testing/user/userguide/_templates/layout.html
+++ /dev/null
@@ -1,5 +0,0 @@
-{% extends "!layout.html" %}
-{% block extrahead %}
- <link href="{{ pathto("_static/custom.css", True) }}" rel="stylesheet" type="text/css">
-{% endblock %}
-
diff --git a/docs/testing/user/userguide/conf.py b/docs/testing/user/userguide/conf.py
deleted file mode 100644
index bee045b..0000000
--- a/docs/testing/user/userguide/conf.py
+++ /dev/null
@@ -1,358 +0,0 @@
-# Copyright 2017 Cisco Systems, Inc. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# NFVBench documentation build configuration file, created by
-# sphinx-quickstart on Thu Sep 29 14:25:18 2016.
-#
-# This file is execfile()d with the current directory set to its
-# containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#
-
-
-
-# import os
-# import sys
-# sys.path.insert(0, os.path.abspath('.'))
-import os
-from pbr import version as pbr_ver
-import sys
-
-sys.path.insert(0, os.path.abspath('../..'))
-
-# -- General configuration ------------------------------------------------
-
-# If your documentation needs a minimal Sphinx version, state it here.
-#
-# needs_sphinx = '1.0'
-
-# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
-# ones.
-extensions = ['sphinx.ext.autosectionlabel']
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix(es) of source filenames.
-# You can specify multiple suffix as a list of string:
-#
-# source_suffix = ['.rst', '.md']
-source_suffix = '.rst'
-
-# The encoding of source files.
-#
-# source_encoding = 'utf-8-sig'
-
-# The master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = u'NFVBench'
-copyright = u'2016 Cisco Systems, Inc.'
-author = u'Cisco Systems, Inc.'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = pbr_ver.VersionInfo(project).version_string()
-# The full version, including alpha/beta/rc tags.
-release = pbr_ver.VersionInfo(project).version_string_with_vcs()
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#
-# This is also used if you do content translation via gettext catalogs.
-# Usually you set "language" from the command line for these cases.
-language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#
-# today = ''
-#
-# Else, today_fmt is used as the format for a strftime call.
-#
-# today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-# This patterns also effect to html_static_path and html_extra_path
-exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
-
-# The reST default role (used for this markup: `text`) to use for all
-# documents.
-#
-# default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#
-# add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#
-# add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#
-# show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# A list of ignored prefixes for module index sorting.
-# modindex_common_prefix = []
-
-# If true, keep warnings as "system message" paragraphs in the built documents.
-# keep_warnings = False
-
-# If true, `todo` and `todoList` produce output, else they produce nothing.
-todo_include_todos = False
-
-# -- Options for HTML output ----------------------------------------------
-
-# The theme to use for HTML and HTML Help pages. See the documentation for
-# a list of builtin themes.
-#
-# html_theme = 'haiku'
-html_theme = 'sphinx_rtd_theme'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further. For a list of options available for each theme, see the
-# documentation.
-#
-html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-# html_theme_path = []
-
-# The name for this set of Sphinx documents.
-# "<project> v<release> documentation" by default.
-#
-# html_title = u'NFVBench vdev117'
-
-# A shorter title for the navigation bar. Default is the same as html_title.
-#
-html_short_title = 'nfvbench'
-
-# The name of an image file (relative to this directory) to place at the topß
-# of the sidebar.
-#
-# html_logo = None
-
-# The name of an image file (relative to this directory) to use as a favicon of
-# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#
-# html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-# Add any extra paths that contain custom files (such as robots.txt or
-# .htaccess) here, relative to this directory. These files are copied
-# directly to the root of the documentation.
-#
-# html_extra_path = []
-
-# If not None, a 'Last updated on:' timestamp is inserted at every page
-# bottom, using the given strftime format.
-# The empty string is equivalent to '%b %d, %Y'.
-#
-# html_last_updated_fmt = None
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#
-html_use_smartypants = False
-
-# Custom sidebar templates, maps document names to template names.
-#
-# html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#
-# html_additional_pages = {}
-
-# If false, no module index is generated.
-#
-# html_domain_indices = True
-
-# If false, no index is generated.
-#
-# html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#
-# html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#
-# html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#
-# html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#
-# html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it. The value of this option must be the
-# base URL from which the finished HTML is served.
-#
-# html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-# html_file_suffix = None
-
-# Language to be used for generating the HTML full-text search index.
-# Sphinx supports the following languages:
-# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja'
-# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr', 'zh'
-#
-# html_search_language = 'en'
-
-# A dictionary with options for the search language support, empty by default.
-# 'ja' uses this config value.
-# 'zh' user can custom change `jieba` dictionary path.
-#
-# html_search_options = {'type': 'default'}
-
-# The name of a javascript file (relative to the configuration directory) that
-# implements a search results scorer. If empty, the default will be used.
-#
-# html_search_scorer = 'scorer.js'
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'NFVBenchdoc'
-
-# -- Options for LaTeX output ---------------------------------------------
-
-latex_elements = {
- # The paper size ('letterpaper' or 'a4paper').
- #
- # 'papersize': 'letterpaper',
-
- # The font size ('10pt', '11pt' or '12pt').
- #
- # 'pointsize': '10pt',
-
- # Additional stuff for the LaTeX preamble.
- #
- # 'preamble': '',
-
- # Latex figure (float) alignment
- #
- # 'figure_align': 'htbp',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title,
-# author, documentclass [howto, manual, or own class]).
-latex_documents = [
- (master_doc, 'NFVBench.tex', u'NFVBench Documentation',
- u'Alec Hothan, Stefano Suryanto, Jan Balaz', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#
-# latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#
-# latex_use_parts = False
-
-# If true, show page references after internal links.
-#
-# latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-#
-# latex_show_urls = False
-
-# Documents to append as an appendix to all manuals.
-#
-# latex_appendices = []
-
-# It false, will not define \strong, \code, itleref, \crossref ... but only
-# \sphinxstrong, ..., \sphinxtitleref, ... To help avoid clash with user added
-# packages.
-#
-# latex_keep_old_macro_names = True
-
-# If false, no module index is generated.
-#
-# latex_domain_indices = True
-
-
-# -- Options for manual page output ---------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
- (master_doc, 'nfvbench', u'NFVBench Documentation',
- [author], 1)
-]
-
-# If true, show URL addresses after external links.
-#
-# man_show_urls = False
-
-
-# -- Options for Texinfo output -------------------------------------------
-
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-# dir menu entry, description, category)
-texinfo_documents = [
- (master_doc, 'NFVBench', u'NFVBench Documentation',
- author, 'NFVBench', 'One line description of project.',
- 'Miscellaneous'),
-]
-
-# Documents to append as an appendix to all manuals.
-#
-# texinfo_appendices = []
-
-# If false, no module index is generated.
-#
-# texinfo_domain_indices = True
-
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-#
-# texinfo_show_urls = 'footnote'
-
-# If true, do not generate a @detailmenu in the "Top" node's menu.
-#
-# texinfo_no_detailmenu = False
diff --git a/docs/testing/user/userguide/advanced.rst b/docs/user/advanced.rst
index 2bd88cf..7cd6250 100644
--- a/docs/testing/user/userguide/advanced.rst
+++ b/docs/user/advanced.rst
@@ -848,6 +848,8 @@ Check on the TRex window that the following log appears just after capture is st
Writing up to 10000 packets to '/tmp/nfvb/record.pcap' [SUCCESS]
Removing PCAP capture 8 from server [SUCCESS]
+.. _user-info:
+
User info data
--------------
diff --git a/docs/testing/user/userguide/examples.rst b/docs/user/examples.rst
index fd6be5c..fd6be5c 100644
--- a/docs/testing/user/userguide/examples.rst
+++ b/docs/user/examples.rst
diff --git a/docs/testing/user/userguide/extchains.rst b/docs/user/extchains.rst
index f7c0e51..f7c0e51 100644
--- a/docs/testing/user/userguide/extchains.rst
+++ b/docs/user/extchains.rst
diff --git a/docs/testing/user/userguide/faq.rst b/docs/user/faq.rst
index 014a1ab..014a1ab 100644
--- a/docs/testing/user/userguide/faq.rst
+++ b/docs/user/faq.rst
diff --git a/docs/testing/user/userguide/fluentd.rst b/docs/user/fluentd.rst
index 7332458..7332458 100644
--- a/docs/testing/user/userguide/fluentd.rst
+++ b/docs/user/fluentd.rst
diff --git a/docs/testing/user/userguide/hw_requirements.rst b/docs/user/hw_requirements.rst
index 44ab549..44ab549 100644
--- a/docs/testing/user/userguide/hw_requirements.rst
+++ b/docs/user/hw_requirements.rst
diff --git a/docs/testing/user/userguide/images/extchain-config.png b/docs/user/images/extchain-config.png
index 2fd39ba..2fd39ba 100644
--- a/docs/testing/user/userguide/images/extchain-config.png
+++ b/docs/user/images/extchain-config.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-all-sriov-pvvp.png b/docs/user/images/nfvbench-all-sriov-pvvp.png
index d7b1cbb..d7b1cbb 100644
--- a/docs/testing/user/userguide/images/nfvbench-all-sriov-pvvp.png
+++ b/docs/user/images/nfvbench-all-sriov-pvvp.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-all-sriov-pvvp2.png b/docs/user/images/nfvbench-all-sriov-pvvp2.png
index 3d161cd..3d161cd 100644
--- a/docs/testing/user/userguide/images/nfvbench-all-sriov-pvvp2.png
+++ b/docs/user/images/nfvbench-all-sriov-pvvp2.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-ext-multi-vlans.png b/docs/user/images/nfvbench-ext-multi-vlans.png
index 2ef2300..2ef2300 100644
--- a/docs/testing/user/userguide/images/nfvbench-ext-multi-vlans.png
+++ b/docs/user/images/nfvbench-ext-multi-vlans.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-ext-shared.png b/docs/user/images/nfvbench-ext-shared.png
index efe1c71..efe1c71 100644
--- a/docs/testing/user/userguide/images/nfvbench-ext-shared.png
+++ b/docs/user/images/nfvbench-ext-shared.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana-filter-kql.png b/docs/user/images/nfvbench-kibana-filter-kql.png
index f5c7b2d..f5c7b2d 100644
--- a/docs/testing/user/userguide/images/nfvbench-kibana-filter-kql.png
+++ b/docs/user/images/nfvbench-kibana-filter-kql.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana-filter.png b/docs/user/images/nfvbench-kibana-filter.png
index 18a6dc5..18a6dc5 100644
--- a/docs/testing/user/userguide/images/nfvbench-kibana-filter.png
+++ b/docs/user/images/nfvbench-kibana-filter.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana-gbps-line.png b/docs/user/images/nfvbench-kibana-gbps-line.png
index 1947412..1947412 100644
--- a/docs/testing/user/userguide/images/nfvbench-kibana-gbps-line.png
+++ b/docs/user/images/nfvbench-kibana-gbps-line.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana-pps-scatter.png b/docs/user/images/nfvbench-kibana-pps-scatter.png
index 89a8e47..89a8e47 100644
--- a/docs/testing/user/userguide/images/nfvbench-kibana-pps-scatter.png
+++ b/docs/user/images/nfvbench-kibana-pps-scatter.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana-pps-theoretical.png b/docs/user/images/nfvbench-kibana-pps-theoretical.png
index da7dc7a..da7dc7a 100644
--- a/docs/testing/user/userguide/images/nfvbench-kibana-pps-theoretical.png
+++ b/docs/user/images/nfvbench-kibana-pps-theoretical.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana-zoom-selection.png b/docs/user/images/nfvbench-kibana-zoom-selection.png
index 6af64ea..6af64ea 100644
--- a/docs/testing/user/userguide/images/nfvbench-kibana-zoom-selection.png
+++ b/docs/user/images/nfvbench-kibana-zoom-selection.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-kibana.png b/docs/user/images/nfvbench-kibana.png
index d185fa0..d185fa0 100644
--- a/docs/testing/user/userguide/images/nfvbench-kibana.png
+++ b/docs/user/images/nfvbench-kibana.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-npvp.png b/docs/user/images/nfvbench-npvp.png
index 53d7b00..53d7b00 100644
--- a/docs/testing/user/userguide/images/nfvbench-npvp.png
+++ b/docs/user/images/nfvbench-npvp.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-pvp.png b/docs/user/images/nfvbench-pvp.png
index b460beb..b460beb 100644
--- a/docs/testing/user/userguide/images/nfvbench-pvp.png
+++ b/docs/user/images/nfvbench-pvp.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-pvpl3.png b/docs/user/images/nfvbench-pvpl3.png
index d583724..d583724 100644
--- a/docs/testing/user/userguide/images/nfvbench-pvpl3.png
+++ b/docs/user/images/nfvbench-pvpl3.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-pvvp.png b/docs/user/images/nfvbench-pvvp.png
index d412b20..d412b20 100644
--- a/docs/testing/user/userguide/images/nfvbench-pvvp.png
+++ b/docs/user/images/nfvbench-pvvp.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-pvvp2.png b/docs/user/images/nfvbench-pvvp2.png
index 94f84de..94f84de 100644
--- a/docs/testing/user/userguide/images/nfvbench-pvvp2.png
+++ b/docs/user/images/nfvbench-pvvp2.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-sriov-pvp.png b/docs/user/images/nfvbench-sriov-pvp.png
index 7faec17..7faec17 100644
--- a/docs/testing/user/userguide/images/nfvbench-sriov-pvp.png
+++ b/docs/user/images/nfvbench-sriov-pvp.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-sriov-pvvp.png b/docs/user/images/nfvbench-sriov-pvvp.png
index 5faf8b2..5faf8b2 100644
--- a/docs/testing/user/userguide/images/nfvbench-sriov-pvvp.png
+++ b/docs/user/images/nfvbench-sriov-pvvp.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-sriov-pvvp2.png b/docs/user/images/nfvbench-sriov-pvvp2.png
index f0c1e93..f0c1e93 100644
--- a/docs/testing/user/userguide/images/nfvbench-sriov-pvvp2.png
+++ b/docs/user/images/nfvbench-sriov-pvvp2.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-trex-setup.png b/docs/user/images/nfvbench-trex-setup.png
index 6268068..6268068 100644
--- a/docs/testing/user/userguide/images/nfvbench-trex-setup.png
+++ b/docs/user/images/nfvbench-trex-setup.png
Binary files differ
diff --git a/docs/testing/user/userguide/images/nfvbench-xtesting.png b/docs/user/images/nfvbench-xtesting.png
index d5dca8d..d5dca8d 100644
--- a/docs/testing/user/userguide/images/nfvbench-xtesting.png
+++ b/docs/user/images/nfvbench-xtesting.png
Binary files differ
diff --git a/docs/testing/user/userguide/index.rst b/docs/user/index.rst
index 04d2581..65b6c2a 100644
--- a/docs/testing/user/userguide/index.rst
+++ b/docs/user/index.rst
@@ -15,8 +15,8 @@ The NFVbench tool provides an automated way to measure the network performance f
It is designed to be easy to install and easy to use by non experts (no need to be an expert in traffic generators and data plane performance testing).
-Table of Content
-----------------
+Table of Contents
+
.. toctree::
:maxdepth: 3
diff --git a/docs/testing/user/userguide/installation.rst b/docs/user/installation.rst
index 8a0511a..8a0511a 100644
--- a/docs/testing/user/userguide/installation.rst
+++ b/docs/user/installation.rst
diff --git a/docs/testing/user/userguide/kibana.rst b/docs/user/kibana.rst
index 68c3d38..5fb41f7 100644
--- a/docs/testing/user/userguide/kibana.rst
+++ b/docs/user/kibana.rst
@@ -1,3 +1,6 @@
+.. Copyright 2016 - 2023, Cisco Systems, Inc. and the NFVbench project contributors
+.. SPDX-License-Identifier: CC-BY-4.0
+
NFVbench Kibana visualization: overview
=======================================
@@ -31,7 +34,7 @@ Example of a scatter plot chart:
Vega offers the possibility to add another graph as a new layer of current graph.
This solution is used to combine NFVbench results and theoretical line rate.
-Using ``extra_encapsulation_bytes`` in --user-info property (see `User info data section <https://opnfv-nfvbench.readthedocs.io/en/latest/testing/user/userguide/advanced.html#user-info-data>`_),
+Using ``extra_encapsulation_bytes`` in --user-info property (see :ref:`user-info`),
the theoretical max value (for bps and pps) will be calculated and can be used in graph through ``theoretical_tx_rate_bps`` and ``theoretical_tx_rate_pps`` properties.
Example of chart with theoretical value (red line):
@@ -90,4 +93,4 @@ Kibana offers the possibility to add filter by selecting field and operator (is,
Example:
-.. image:: images/nfvbench-kibana-filter.png \ No newline at end of file
+.. image:: images/nfvbench-kibana-filter.png
diff --git a/docs/testing/user/userguide/mpls.rst b/docs/user/mpls.rst
index eaa9541..4a0621b 100644
--- a/docs/testing/user/userguide/mpls.rst
+++ b/docs/user/mpls.rst
@@ -1,3 +1,6 @@
+.. Copyright 2016 - 2023, Cisco Systems, Inc. and the NFVbench project contributors
+.. SPDX-License-Identifier: CC-BY-4.0
+
==========================
MPLS encapsulation feature
==========================
diff --git a/docs/testing/user/userguide/pvpl3.rst b/docs/user/pvpl3.rst
index 003e4c1..1b242ca 100644
--- a/docs/testing/user/userguide/pvpl3.rst
+++ b/docs/user/pvpl3.rst
@@ -66,4 +66,4 @@ Upon start, NFVbench will:
Please note: ``l3_router`` option is also compatible with external routers. In this case NFVBench will use ``EXT`` chain.
.. note:: Using a long NFVbench run test, end-to-end connectivity can be lost depending on ARP stale time SUT configuration.
-To avoid this issue, activate Gratuitous ARP stream using ``--gratuitous-arp`` or ``-garp`` option. \ No newline at end of file
+ To avoid this issue, activate Gratuitous ARP stream using ``--gratuitous-arp`` or ``-garp`` option.
diff --git a/docs/testing/user/userguide/quickstart_docker.rst b/docs/user/quickstart_docker.rst
index ae277de..ae277de 100644
--- a/docs/testing/user/userguide/quickstart_docker.rst
+++ b/docs/user/quickstart_docker.rst
diff --git a/docs/testing/user/userguide/readme.rst b/docs/user/readme.rst
index f6cc153..f6cc153 100644
--- a/docs/testing/user/userguide/readme.rst
+++ b/docs/user/readme.rst
diff --git a/docs/testing/user/userguide/server.rst b/docs/user/server.rst
index 52645ad..52645ad 100644
--- a/docs/testing/user/userguide/server.rst
+++ b/docs/user/server.rst
diff --git a/docs/testing/user/userguide/sriov.rst b/docs/user/sriov.rst
index f5cc7d2..f5cc7d2 100644
--- a/docs/testing/user/userguide/sriov.rst
+++ b/docs/user/sriov.rst
diff --git a/docs/testing/user/userguide/xtesting.rst b/docs/user/xtesting.rst
index 0adfdda..0adfdda 100644
--- a/docs/testing/user/userguide/xtesting.rst
+++ b/docs/user/xtesting.rst