aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml8
-rw-r--r--INFO.yaml6
-rw-r--r--README.rst6
-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.rst (renamed from nfvbenchvm/README.rst)10
-rw-r--r--docs/developer/testing-nfvbench.rst (renamed from docs/testing/developer/devguide/testing-nfvbench.rst)18
-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)4
-rwxr-xr-xnfvbench/traffic_client.py2
-rwxr-xr-xnfvbenchvm/dib/build-image.sh4
-rw-r--r--pylint.rc38
-rw-r--r--requirements-dev.txt17
-rw-r--r--requirements.txt14
-rw-r--r--setup.cfg4
-rw-r--r--test-requirements.txt30
-rw-r--r--tox.ini13
77 files changed, 246 insertions, 797 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1ab02fe..32e3299 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -13,9 +13,9 @@ variables:
.tox-defaults: &tox-defaults
stage: test
- image: python:3.6
+ image: python:3.8
before_script:
- - pip install tox tox-pip-version
+ - pip install tox==3.21.4
cache:
paths:
- .cache/pip
@@ -29,10 +29,10 @@ pep8:
script:
tox -e pep8
-tox-py36:
+tox-py38:
<<: *tox-defaults
script:
- tox -e py36
+ tox -e py38
verify-image:
stage: build
diff --git a/INFO.yaml b/INFO.yaml
index 84d56b8..703d920 100644
--- a/INFO.yaml
+++ b/INFO.yaml
@@ -12,12 +12,12 @@ project_lead: &opnfv_nfvbench_ptl
primary_contact: *opnfv_nfvbench_ptl
issue_tracking:
type: 'jira'
- url: 'https://jira.opnfv.org/projects/NFVBENCH'
+ url: 'https://jira-old.opnfv.org/projects/NFVBENCH'
key: 'NFVBENCH'
mailing_list:
type: 'mailman2'
- url: 'opnfv-tech-discuss@lists.opnfv.org'
- tag: '[nfvbench]'
+ url: 'anuket-tech-discuss@lists.anuket.io'
+ tag: '#nfvbench'
realtime_discussion:
type: irc
server: 'freenode.net'
diff --git a/README.rst b/README.rst
index 9779392..ead5053 100644
--- a/README.rst
+++ b/README.rst
@@ -22,10 +22,10 @@ Online Documentation
--------------------
The latest version of the NFVbench documentation is available online at:
-https://opnfv-nfvbench.readthedocs.io/en/latest/testing/user/userguide/index.html
+https://docs.anuket.io/projects/nfvbench/en/latest/index.html
Contact Information
-------------------
-Inquiries and questions: send an email to opnfv-tech-discuss@lists.opnfv.org with a Subject line starting with "#nfvbench"
+Inquiries and questions: send an email to anuket-tech-discuss@lists.anuket.io with a Subject line starting with "#nfvbench"
-Open issues or submit an issue or enhancement request: https://jira.opnfv.org/projects/NFVBENCH/issues (this requires an OPNFV Linux Foundation login).
+Open issues or submit an issue or enhancement request: https://jira-old.opnfv.org/projects/NFVBENCH/issues (this requires an OPNFV Linux Foundation login).
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/nfvbenchvm/README.rst b/docs/developer/nfvbenchvm.rst
index 29215c1..5d6166f 100644
--- a/nfvbenchvm/README.rst
+++ b/docs/developer/nfvbenchvm.rst
@@ -1,3 +1,6 @@
+.. Copyright 2016 - 2023, Cisco Systems, Inc. and the NFVbench project contributors
+.. SPDX-License-Identifier: CC-BY-4.0
+
NFVBENCH VM IMAGES FOR OPENSTACK
++++++++++++++++++++++++++++++++
@@ -49,9 +52,9 @@ Build the image
.. note:: Run ``bash build-image.sh`` -h to see all options available.
-.. note:: By default, the generator VM image embeds the latest nfvbench version
- found on the master branch of OPNFV Gerrit repository
- https://gerrit.opnfv.org/gerrit/nfvbench.
+.. 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
@@ -268,6 +271,7 @@ By default, NFVbench will be started in server mode (`--server`) and will act as
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
diff --git a/docs/testing/developer/devguide/testing-nfvbench.rst b/docs/developer/testing-nfvbench.rst
index 3e53d08..fd6c6f7 100644
--- a/docs/testing/developer/devguide/testing-nfvbench.rst
+++ b/docs/developer/testing-nfvbench.rst
@@ -20,12 +20,11 @@ format.
What tox should do is specified in a ``tox.ini`` file located at the project root.
-tox is used in continuous integration (jenkins-ci today, gitlab-ci in the near
-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 is used in continuous integration: 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/
@@ -35,7 +34,7 @@ Using tox on a developer's machine
Requirement: |python-version|
-----------------------------
-.. |python-version| replace:: Python 3.6
+.. |python-version| replace:: Python 3.8
The current version of Python used by NFVbench is |python-version|. In
particular, this means that |python-version| is used:
@@ -58,7 +57,10 @@ tox installation
Install tox with::
- $ pip install tox tox-pip-version
+ $ pip install tox==3.21.4
+
+.. note:: tox 3.21.4 is the version that comes with Ubuntu 22.04 and that can be
+ found on gerrit.opnfv.org build servers.
Running tox
@@ -70,7 +72,7 @@ In nfvbench root directory, simply run tox with::
If all goes well, tox shows a green summary such as::
- py36: commands succeeded
+ py38: commands succeeded
pep8: commands succeeded
lint: commands succeeded
docs: commands succeeded
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..96d1d19 100644
--- a/docs/testing/user/userguide/xtesting.rst
+++ b/docs/user/xtesting.rst
@@ -179,9 +179,9 @@ To replace existing testcases.yaml file, using Xtesting CI add the volume mappin
- /usr/src/kernels:/usr/src/kernels -v /dev:/dev
- /home/opnfv/nfvbench/config:/etc/nfvbench
- /home/opnfv/nfvbench/results:/var/lib/xtesting/results
- - /home/opnfv/nfvbench/xtesting/testcases.yaml:/usr/local/lib/python3.6/dist-packages/xtesting/ci/testcases.yaml
+ - /home/opnfv/nfvbench/xtesting/testcases.yaml:/usr/local/lib/python3.8/dist-packages/xtesting/ci/testcases.yaml
-* ``/home/opnfv/nfvbench/xtesting/testcases.yaml:/usr/local/lib/python3.6/dist-packages/xtesting/ci/testcases.yaml`` : volume mapping to pass testcases.yaml file between the host and the docker space. Host path required testcases.yaml file inside.
+* ``/home/opnfv/nfvbench/xtesting/testcases.yaml:/usr/local/lib/python3.8/dist-packages/xtesting/ci/testcases.yaml`` : volume mapping to pass testcases.yaml file between the host and the docker space. Host path required testcases.yaml file inside.
To replace existing testcases.yaml file, using NFVbench container:
diff --git a/nfvbench/traffic_client.py b/nfvbench/traffic_client.py
index c349289..47af265 100755
--- a/nfvbench/traffic_client.py
+++ b/nfvbench/traffic_client.py
@@ -628,7 +628,7 @@ class GeneratorConfig(object):
self.intf_speed = gen_config.intf_speed
else:
self.intf_speed = "auto"
- if self.intf_speed == "auto" or self.intf_speed == "0":
+ if self.intf_speed in ("auto", "0"):
# interface speed is discovered/provided by the traffic generator
self.intf_speed = 0
else:
diff --git a/nfvbenchvm/dib/build-image.sh b/nfvbenchvm/dib/build-image.sh
index c5d24da..c320192 100755
--- a/nfvbenchvm/dib/build-image.sh
+++ b/nfvbenchvm/dib/build-image.sh
@@ -130,7 +130,7 @@ function build_image {
echo "Checking if image exists in google storage..."
if command -v gsutil >/dev/null; then
if gsutil -q stat gs://$gs_url/$1.qcow2; then
- echo "Image already exists at http://$gs_url/$1.qcow2"
+ echo "Image already exists at https://$gs_url/$1.qcow2"
echo "Build is skipped"
exit 0
fi
@@ -204,7 +204,7 @@ function build_image {
if command -v gsutil >/dev/null; then
echo "Uploading $1.qcow2..."
gsutil cp $1.qcow2 gs://$gs_url/$1.qcow2
- echo "You can access to image at http://$gs_url/$1.qcow2"
+ echo "You can access to image at https://$gs_url/$1.qcow2"
else
echo "Cannot upload new image to the OPNFV artifact repository (gsutil not available)"
exit 1
diff --git a/pylint.rc b/pylint.rc
index c54981f..f31b894 100644
--- a/pylint.rc
+++ b/pylint.rc
@@ -50,7 +50,7 @@ confidence=
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
-disable=unused-argument,global-statement,too-many-statements,too-many-arguments,too-many-branches,catching-non-exception,relative-import,too-many-locals,invalid-name,broad-except,print-statement,parameter-unpacking,unpacking-in-except,old-raise-syntax,backtick,long-suffix,old-ne-operator,import-star-module-level,raw-checker-failed,locally-disabled,locally-enabled,file-ignored,suppressed-message,useless-suppression,deprecated-pragma,apply-builtin,basestring-builtin,buffer-builtin,cmp-builtin,coerce-builtin,execfile-builtin,file-builtin,long-builtin,raw_input-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,no-absolute-import,old-division,dict-iter-method,dict-view-method,next-method-called,metaclass-assignment,indexing-exception,raising-string,reload-builtin,oct-method,hex-method,nonzero-method,cmp-method,input-builtin,round-builtin,intern-builtin,unichr-builtin,map-builtin-not-iterating,zip-builtin-not-iterating,range-builtin-not-iterating,filter-builtin-not-iterating,using-cmp-argument,eq-without-hash,div-method,idiv-method,rdiv-method,exception-message-attribute,invalid-str-codec,sys-max-int,bad-python3-import,deprecated-string-function,deprecated-str-translate-call,missing-docstring,redefined-builtin,no-name-in-module,no-self-use,no-member,arguments-differ,attribute-defined-outside-init,non-iterator-returned,eval-used,unexpected-keyword-arg,pointless-string-statement,no-value-for-parameter,useless-object-inheritance,import-outside-toplevel,wrong-import-order
+disable=unused-argument,global-statement,too-many-statements,too-many-arguments,too-many-branches,catching-non-exception,too-many-locals,invalid-name,broad-except,raw-checker-failed,locally-disabled,file-ignored,suppressed-message,useless-suppression,deprecated-pragma,missing-docstring,redefined-builtin,no-name-in-module,no-member,arguments-differ,attribute-defined-outside-init,non-iterator-returned,eval-used,unexpected-keyword-arg,pointless-string-statement,no-value-for-parameter,useless-object-inheritance,import-outside-toplevel,wrong-import-order,consider-using-f-string,consider-using-generator,unnecessary-lambda-assignment,implicit-str-concat,global-variable-not-assigned
# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
@@ -92,36 +92,21 @@ max-nested-blocks=5
[BASIC]
-# Naming hint for argument names
-argument-name-hint=(([a-z][a-z0-9_]{2,50})|(_[a-z0-9_]*))$
-
# Regular expression matching correct argument names
argument-rgx=(([a-z][a-z0-9_]{2,50})|(_[a-z0-9_]*))$
-# Naming hint for attribute names
-attr-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
-
# Regular expression matching correct attribute names
attr-rgx=(([a-z][a-z0-9_]{2,50})|(_[a-z0-9_]*))$
# Bad variable names which should always be refused, separated by a comma
bad-names=foo,bar,baz,toto,tutu,tata
-# Naming hint for class attribute names
-class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
-
# Regular expression matching correct class attribute names
class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,50}|(__.*__))$
-# Naming hint for class names
-class-name-hint=[A-Z_][a-zA-Z0-9]+$
-
# Regular expression matching correct class names
class-rgx=[A-Z_][a-zA-Z0-9]+$
-# Naming hint for constant names
-const-name-hint=(([A-Za-z_][A-Za-z0-9_]*)|(__.*__))$
-
# Regular expression matching correct constant names
const-rgx=(([A-Za-z_][A-Za-z0-9_]*)|(__.*__))$
@@ -129,9 +114,6 @@ const-rgx=(([A-Za-z_][A-Za-z0-9_]*)|(__.*__))$
# ones are exempt.
docstring-min-length=-1
-# Naming hint for function names
-function-name-hint=(([a-z][a-zA-Z0-9_]{2,50})|(_[a-z0-9_]*))$
-
# Regular expression matching correct function names
function-rgx=(([a-z][a-zA-Z0-9_]{2,50})|(_[a-z0-9_]*))$
@@ -141,21 +123,12 @@ good-names=i,j,k,ex,Run,_
# Include a hint for the correct naming format with invalid-name
include-naming-hint=no
-# Naming hint for inline iteration names
-inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
-
# Regular expression matching correct inline iteration names
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
-# Naming hint for method names
-method-name-hint=(([a-z][a-z0-9_]{2,50})|(_[a-z0-9_]*))$
-
# Regular expression matching correct method names
method-rgx=(([a-z][a-z0-9_]{2,50})|(_[a-z0-9_]*))$
-# Naming hint for module names
-module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
-
# Regular expression matching correct module names
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
@@ -171,9 +144,6 @@ no-docstring-rgx=^_
# to this list to register other decorators that produce valid properties.
property-classes=abc.abstractproperty
-# Naming hint for variable names
-variable-name-hint=(([a-z][a-z0-9_]{2,50})|(_[a-z0-9_]*))$
-
# Regular expression matching correct variable names
variable-rgx=(([a-z][a-z0-9_]{2,50})|(_[a-z0-9_]*))$
@@ -199,12 +169,6 @@ max-line-length=100
# Maximum number of lines in a module
max-module-lines=1600
-# List of optional constructs for which whitespace checking is disabled. `dict-
-# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
-# `trailing-comma` allows a space between comma and closing bracket: (a, ).
-# `empty-line` allows space-only lines.
-no-space-check=trailing-comma,dict-separator
-
# Allow the body of a class to be on the same line as the declaration if body
# contains single statement.
single-line-class-stmt=no
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 2d028c0..5522a05 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -1,8 +1,11 @@
+# Python requirements to setup a development environment to be able to do
+# anything directly or with tox: run unit tests, run code quality checks, build
+# the docs, ...
+
+-c https://opendev.org/openstack/requirements/raw/branch/stable/yoga/upper-constraints.txt
-r requirements.txt
-docutils==0.14.0
-flake8>=3.3.0
-pylint==2.10.2
-sphinx>=1.4.0
-sphinx_rtd_theme>=0.2.4
-tox>=2.3.0
-mock>=2.0.0
+-r test-requirements.txt
+-r docs/requirements.txt
+
+# Install tox with the same version as on OPNFV build servers
+tox==3.21.4
diff --git a/requirements.txt b/requirements.txt
index 717ba07..488aa5f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,5 @@
+# Python dependencies required to run nfvbench and behave_tests
+#
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
@@ -6,23 +8,21 @@ pbr!=2.1.0 # Apache-2.0
attrdict>=2.0.0
bitmath>=1.3.1.1
-paramiko # LGPLv2.1+
-PrettyTable # BSD
pytz # MIT
-six # MIT
python-glanceclient # Apache-2.0
python-neutronclient # Apache-2.0
python-novaclient # Apache-2.0
python-openstackclient # Apache-2.0
python-keystoneclient!=2.1.0 # Apache-2.0
PyYAML # MIT
-pyzmq # LGPL+BSD
-requests!=2.20.0,!=2.24.0 # Apache-2.0
tabulate # MIT
Flask!=0.11 # BSD
fluent-logger>=0.5.3
netaddr # BSD
-xtesting>=0.92.0
hdrhistogram>=0.8.0
-behave>=1.2.6
+
+# Extra requirements for behave_tests:
+requests!=2.20.0,!=2.24.0 # Apache-2.0
retry>=0.9.2
+xtesting>=0.92.0
+behave>=1.2.6
diff --git a/setup.cfg b/setup.cfg
index d819ecb..d570851 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -29,8 +29,8 @@ classifier =
Operating System :: POSIX :: Linux
Operating System :: MacOS
Programming Language :: Python
- Programming Language :: Python :: 2
- Programming Language :: Python :: 2.7
+ Programming Language :: Python :: 3
+ Programming Language :: Python :: 3.8
[files]
packages =
diff --git a/test-requirements.txt b/test-requirements.txt
index da52c9d..4fa57c3 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,21 +1,21 @@
+# Python dependencies required by tox to run unit tests and code quality checks
+#
+# (dependencies required to build and check the docs can be found in
+# docs/requirements.txt)
+#
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
-hacking
+# Requirements for nfvbench unit tests:
+pytest # MIT
+scapy>=2.3.1
+# Extra requirements for behave_tests unit tests:
+pytest-subtests
-coverage!=4.4 # Apache-2.0
-discover
+# Requirements for pep8 test:
+hacking==5.0.0
flake8>=3.3.0
-python-subunit # Apache-2.0/BSD
-scapy>=2.3.1
-sphinx!=1.6.6,!=1.6.7,!=2.1.0,!=3.0.0,!=3.4.2 # BSD
-sphinx-rtd-theme # MIT
-oslosphinx # Apache-2.0
-oslotest<4;python_version<'3.6' # Apache-2.0
-oslotest;python_version>='3.6' # Apache-2.0
-testrepository # Apache-2.0/BSD
-testscenarios # Apache-2.0/BSD
-testtools # MIT
-pytest # MIT
-pylint==2.10.2
+
+# Requirements for linter test:
+pylint==2.15.9
diff --git a/tox.ini b/tox.ini
index a5bd504..9b4d218 100644
--- a/tox.ini
+++ b/tox.ini
@@ -4,7 +4,6 @@ envlist = py38,pep8,lint,docs,docs-linkcheck
skipsdist = True
[testenv]
-pip_version = pip==20.2.4
usedevelop = True
install_command = pip install -U {opts} {packages}
setenv =
@@ -17,20 +16,14 @@ commands = py.test -q --basetemp={envtmpdir} {posargs} test/
[testenv:pep8]
basepython = python3.8
+skip_install = True
commands = flake8 {toxinidir}
[testenv:lint]
basepython = python3.8
+skip_install = True
commands = pylint --rcfile pylint.rc nfvbench test
-[testenv:venv]
-basepython = python3.8
-commands = {posargs}
-
-[testenv:cover]
-basepython = python3.8
-commands = python setup.py testr --coverage --testr-args='{posargs}'
-
[flake8]
# H803 skipped on purpose per list discussion.
# E123, E125 skipped as they are invalid PEP-8.
@@ -75,6 +68,7 @@ basepython = python3.8
deps =
-chttps://opendev.org/openstack/requirements/raw/branch/stable/yoga/upper-constraints.txt
-rdocs/requirements.txt
+skip_install = True
commands =
sphinx-build -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
echo "Generated docs available in {toxinidir}/docs/_build/html"
@@ -85,5 +79,6 @@ basepython = python3.8
deps =
-chttps://opendev.org/openstack/requirements/raw/branch/stable/yoga/upper-constraints.txt
-rdocs/requirements.txt
+skip_install = True
passenv = http_proxy https_proxy no_proxy
commands = sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck