.project
.pydevproject
rally_conf.json
-/docs_build/
/docs/**/build/
_build
/docs_output/
.tox
*.out
*.pdf
+docs/_build/*
--- /dev/null
+#!/bin/env python
+
+# pylint: disable=unused-wildcard-import,wildcard-import,redefined-builtin
+# pylint: disable=missing-docstring
+
+from docs_conf.conf import * # noqa
--- /dev/null
+---
+project_cfg: opnfv
+project: FUNCTEST
--- /dev/null
+.. SPDX-License-Identifier: CC-BY-4.0
+
+.. _functest:
+
+**************
+OPNFV Functest
+**************
+
+.. toctree::
+ :maxdepth: 1
+
+ testing/user/configguide/index
+ testing/user/userguide/index
+ testing/developer/devguide/index
+ release/release-notes/index
Useful links
============
- * wiki project page: https://wiki.opnfv.org/opnfv_functional_testing
+ * wiki project page: https://wiki.opnfv.org/display/functest/Opnfv+Functional+Testing
* Functest git repository: https://git.opnfv.org/cgit/functest
* Functest CI dashboard: https://build.opnfv.org/ci/view/functest/
* JIRA dashboard: https://jira.opnfv.org/secure/Dashboard.jspa?selectPageId=10611
**********************
.. toctree::
- :numbered:
:maxdepth: 4
functest-release.rst
************************
.. toctree::
- :numbered:
:maxdepth: 2
============
_`[2]`: http://artifacts.opnfv.org/functest/docs/userguide/index.html functest user guide
-_`[3]`: https://git.opnfv.org/cgit/releng/tree/utils/test/reporting
+_`[3]`: https://git.opnfv.org/releng-testresults/tree/reporting
_`[4]`: https://git.opnfv.org/snaps/
+++ /dev/null
-# -*- coding: utf-8 -*-
-#
-# Functest Security group test cases documentation build configuration file,
-# created by sphinx-quickstart on Wed Apr 4 05:56:19 2018.
-#
-# 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('.'))
-
-# -- 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 = []
-
-# 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 master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = u'Functest Security group test cases'
-copyright = u'2018, Functest <opnfv-tech-discuss@lists.opnfv.org>'
-author = u'Functest <opnfv-tech-discuss@lists.opnfv.org>'
-
-# 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 = u'master'
-# The full version, including alpha/beta/rc tags.
-release = u'master'
-
-# 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
-
-# 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 = []
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# 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 = '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 = []
-
-# 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 = []
-
-# Custom sidebar templates, must be a dictionary that maps document names
-# to template names.
-#
-# This is required for the alabaster theme
-# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars
-html_sidebars = {
- '**': [
- 'relations.html', # needs 'show_related': True theme option to display
- 'searchbox.html',
- ]
-}
-
-
-# -- Options for HTMLHelp output ------------------------------------------
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'FunctestSecuritygrouptestcasesdoc'
-
-
-# -- 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,
- 'FunctestSecuritygrouptestcases.tex',
- u'Functest Security group test cases Documentation',
- u'Functest \\textless{}opnfv-tech-discuss@lists.opnfv.org\\textgreater{}',
- 'manual'),
-]
-
-
-# -- 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,
- 'functestsecuritygrouptestcases',
- u'Functest Security group test cases Documentation',
- [author],
- 1)
-]
-
-
-# -- 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,
- 'FunctestSecuritygrouptestcases',
- u'Functest Security group test cases Documentation',
- author,
- 'FunctestSecuritygrouptestcases',
- 'One line description of project.',
- 'Miscellaneous'),
-]
+++ /dev/null
-.. SPDX-License-Identifier: CC-BY-4.0
-
-==================================
-Functest Security group test cases
-==================================
-
-Author: Girish Sukhatankar
-mentors: D.Blaisonneau, J.Lausuch, M.Richomme
-
-Abstract
-========
-
-
-Version history
-===============
-
-+------------+----------+------------------+------------------------+
-| **Date** | **Ver.** | **Author** | **Comment** |
-| | | | |
-+------------+----------+------------------+------------------------+
-| 2016-??-?? | 0.0.1 | Morgan Richomme | Beginning of the |
-| | | (Orange) | Internship |
-+------------+----------+------------------+------------------------+
-
-
-Overview:
-=========
-
-
-
-
-Problem Statement:
-------------------
-
-
-
-Curation Phase
---------------
-
-
-
-
-
-Schedule:
-=========
-
-
-
-+--------------------------+------------------------------------------+
-| **Date** | **Comment** |
-| | |
-+--------------------------+------------------------------------------+
-| December - January | '........' |
-+--------------------------+------------------------------------------+
-| January - february | '........' |
-+--------------------------+------------------------------------------+
-
-
-References:
-===========
-
-.. _`[1]` : https://wiki.opnfv.org/display/DEV/Intern+Project%3A+Security+groups+test+case+in+Functest
+++ /dev/null
-# -*- coding: utf-8 -*-
-#
-# TestAPI evolution documentation build configuration file, created by
-# sphinx-quickstart on Wed Apr 4 06:00:42 2018.
-#
-# 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('.'))
-
-# -- 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 = []
-
-# 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 master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = u'TestAPI evolution'
-copyright = u'2018, Functest <opnfv-tech-discuss@lists.opnfv.org>'
-author = u'Functest <opnfv-tech-discuss@lists.opnfv.org>'
-
-# 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 = u'master'
-# The full version, including alpha/beta/rc tags.
-release = u'master'
-
-# 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
-
-# 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 = []
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# 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 = '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 = []
-
-# 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 = []
-
-
-# Custom sidebar templates, must be a dictionary that maps document names
-# to template names.
-#
-# This is required for the alabaster theme
-# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars
-html_sidebars = {
- '**': [
- 'relations.html', # needs 'show_related': True theme option to display
- 'searchbox.html',
- ]
-}
-
-
-# -- Options for HTMLHelp output ------------------------------------------
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'TestAPIevolutiondoc'
-
-
-# -- 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,
- 'TestAPIevolution.tex',
- u'TestAPI evolution Documentation',
- u'Functest \\textless{}opnfv-tech-discuss@lists.opnfv.org\\textgreater{}',
- 'manual'),
-]
-
-
-# -- 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,
- 'testapievolution',
- u'TestAPI evolution Documentation',
- [author],
- 1)
-]
-
-
-# -- 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,
- 'TestAPIevolution',
- u'TestAPI evolution Documentation',
- author,
- 'TestAPIevolution',
- 'One line description of project.',
- 'Miscellaneous'),
-]
+++ /dev/null
-.. SPDX-License-Identifier: CC-BY-4.0
-
-=================
-TestAPI evolution
-=================
-
-Author: Sakala Venkata Krishna Rohit
-Mentors: S. Feng, J.Lausuch, M.Richomme
-
-Abstract
-========
-
-The TestAPI is used by all the test opnfv projects to report results.
-It is also used to declare projects, test cases and labs. A major refactoring
-has been done in Colorado with the introduction of swagger. The TestAPI is defined in Functest
-developer guide. The purpose of this project is to add more features to the TestAPI that automate
-the tasks that are done manually now, though there are tasks other than automation.
-
-Version history
-===============
-
-+------------+----------+------------------+------------------------+
-| **Date** | **Ver.** | **Author** | **Comment** |
-| | | | |
-+------------+----------+------------------+------------------------+
-| 2016-11-14 | 0.0.1 | Morgan Richomme | Beginning of the |
-| | | (Orange) | Internship |
-+------------+----------+------------------+------------------------+
-| 2017-02-17 | 0.0.2 | S.V.K Rohit | End of the Internship |
-| | | (IIIT Hyderabad) | |
-+------------+----------+------------------+------------------------+
-
-Overview:
-=========
-
-The internhip time period was from Nov 14th to Feb 17th. The project prosposal page is here `[1]`_.
-The intern project was assigned to Svk Rohit and was mentored by S. Feng, J.Lausuch, M.Richomme.
-The link to the patches submitted is `[2]`_. The internship was successfully completed and the
-documentation is as follows.
-
-Problem Statement:
-------------------
-
-The problem statement could be divided into pending features that needed to be added into TestAPI
-repo. The following were to be accomplished within the internship time frame.
-
-* **Add verification jenkins job for the TestAPI code**
- The purpose of this job is to verify whehter the unit tests are successful or not with the
- inclusion of the patchset submitted.
-
-* **Automatic update of opnfv/testapi docker image**
- The docker image of TestAPI is hosted in the opnfv docker hub. To ensure that the TestAPI image
- is always updated with the repository, automatic updation of the image is necessary and a job
- is triggered whenever a new patch gets merged.
-
-* **Automation deployment of testresults.opnfv.org/test/ website**
- In the same manner as the docker image of TestAPI is updated, the TestAPI website needs to be
- in sync with the repository code. So, a job has been added to the opnfv jenkins ci for the
- updation of the testresults website.
-
-* **Generate static documentation of TestAPI calls**
- The purpose of this is to give an static/offline view of TestAPI. If someone wants to have a
- look at the Restful APIs of TestAPI, he/she does't need to go to the website, he can download
- a html page and view it anytime.
-
-* **Backup MongoDB of TestAPI**
- The mongoDB needs to be backed up every week. Till now it was done manually, but due to this
- internship, it is now automated using a jenkins job.
-
-* **Add token based authorization to the TestAPI calls**
- The token based authorization was implemented to ensure that only ci_pods could access the
- database. Authentication has been added to only delete/put/post requests.
-
-Curation Phase:
----------------
-
-The curation phase was the first 3 to 4 weeks of the internship. This phase was to get familiar
-with the TestAPI code and functionality and propose the solutions/tools for the tasks mentioned
-above. Swagger codegen was choosen out of the four tools proposed `[3]`_ for generating static
-documentaion.
-
-Also, specific amount of time was spent on the script flow of the jenkins jobs. The automatic
-deployment task involves accessing a remote server from inside the jenkins build. The deployment
-had to be done only after the docker image update is done. For these constraints to satisfy, a
-multijob jenkins job was choosen instead of a freestyle job.
-
-Important Links:
-----------------
-
-* MongoDB Backup Link - `[4]`_
-* Static Documentation - `[5]`_
-* TestAPI Token addition to ci_pods - `[6]`_
-
-Schedule:
-=========
-
-The progress and completion of the tasks is described in the below table.
-
-+--------------------------+------------------------------------------+
-| **Date** | **Comment** |
-| | |
-+--------------------------+------------------------------------------+
-| Nov 14th - Dec 31st | Understand TestAPI code and the |
-| | requirements. |
-+--------------------------+------------------------------------------+
-| Jan 1st - Jan 7th | Add jenkins job to create static |
-| | documentation and write build scripts. |
-+--------------------------+------------------------------------------+
-| Jan 8th - Jan 21st | Add verification jenkins job for unit |
-| | tests. |
-+--------------------------+------------------------------------------+
-| Jan 22nd - Jan 28th | Add jenkins job for mongodb backup |
-| | |
-+--------------------------+------------------------------------------+
-| Jan 29th - Feb 11th | Enable automatic deployment of |
-| | testresults.opnfv.org/test/ |
-+--------------------------+------------------------------------------+
-| Feb 12th - Feb 17th | Add token based authentication |
-| | |
-+--------------------------+------------------------------------------+
-
-FAQ's
-=====
-
-This section lists the problems that I have faced and the understanding that I have acquired during
-the internship. This section may help other developers in solving any errors casused because of the
-code written as a part of this internship.
-
-
-TestAPI
--------
-
-What is the difference between defining data_file as "/etc/.." and "etc/.." in setup.cfg ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If in the setup.cfg, it is defined as
-
-[files]
-data_files =
-etc/a.conf = etc/a.conf.sample
-
-then it ends up installed in the /usr/etc/. With this configuration, it would be installed
-correctly within a venv. but when it is defined as
-
-[files]
-data_files =
-/etc/a.conf = etc/a.conf.sample
-
-then it ends up installed on the root of the filesystem instead of properly be installed within the
-venv.
-
-Which attribute does swagger-codegen uses as the title in the generation of document generation ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-It uses the nickname of the api call in swagger as the title in the generation of the document
-generation.
-
-Does swagger-codegen take more than one yaml file as input ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-No, swagger-codegen only takes one yaml file as input to its jar file. If there more than one yaml
-file, one needs to merge them and give it as an input keeping mind the swagger specs.
-
-
-Jenkins & JJB
--------------
-
-Which scm macro is used for verification jenkins jobs ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-There are two macros for scm one is git-scm and other git-scm-gerrit. git-scm-gerrit is used for
-verification jenkins job.
-
-Does the virtualenv created in one build script exists in other build scripts too ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-No, the virtualenv created in one build script only exists in that build script/shell.
-
-What parameters are needed for the scm macros ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Project and Branch are the two parameters needed for scm macros.
-
-What is the directory inside the jenkins build ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The directory of the jenkins build is the directory of the repo. `ls $WORKSPACE` command will give
-you all the contents of the directory.
-
-How to include a bash script in jenkins job yaml file ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-An example might be apt here as an answer.
-
-builders:
- - shell:
- !include-raw: include-raw001-hello-world.sh
-
-
-How do you make a build server run on a specific machine ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-It can be done by defining a label parameter 'SLAVE_LABEL' or in OPNFV , there are macros for each
-server, one can use those parameter macros.
-Ex: opnfv-build-defaults. Note, if we use macro, then no need to define GIT_BASE, but if one uses
-SLAVE_LABEL, one needs to define a parameter GIT_BASE. This is because macro already has GIT_BASE
-defined.
-
-What job style should be used when there is a situation like one build should trigger other builds
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-or when different build scripts need to be run on different machines ?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-MultiJob style should be used as it has phases where each phase can be taken as a build scipt and
-can have its own parameters by which one can define the SLAVE_LABEL parameter.
-
-References:
-===========
-
-_`[1]` : https://wiki.opnfv.org/display/DEV/Intern+Project%3A+testapi+evolution
-
-_`[2]` : https://gerrit.opnfv.org/gerrit/#/q/status:merged+owner:%22Rohit+Sakala+%253Crohitsakala%2540gmail.com%253E%22
-
-_`[3]` : https://docs.google.com/document/d/1jWwVZ1ZpKgKcOS_zSz2KzX1nwg4BXxzBxcwkesl7krw/edit?usp=sharing
-
-_`[4]` : http://artifacts.opnfv.org/testapibackup.html
-
-_`[5]` : http://artifacts.opnfv.org/releng/docs/testapi.html
-
-_`[6]` : http://artifacts.opnfv.org/functest/docs/devguide/index.html#test-api-authorization
+++ /dev/null
-# -*- coding: utf-8 -*-
-#
-# Functest Unit tests documentation build configuration file, created by
-# sphinx-quickstart on Wed Apr 4 06:04:23 2018.
-#
-# 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('.'))
-
-# -- 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 = []
-
-# 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 master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = u'Functest Unit tests'
-copyright = u'2018, Functest <opnfv-tech-discuss@lists.opnfv.org>'
-author = u'Functest <opnfv-tech-discuss@lists.opnfv.org>'
-
-# 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 = u'master'
-# The full version, including alpha/beta/rc tags.
-release = u'master'
-
-# 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
-
-# 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 = []
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# 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 = '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 = []
-
-# 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 = []
-
-# Custom sidebar templates, must be a dictionary that maps document names
-# to template names.
-#
-# This is required for the alabaster theme
-# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars
-html_sidebars = {
- '**': [
- 'relations.html', # needs 'show_related': True theme option to display
- 'searchbox.html',
- ]
-}
-
-
-# -- Options for HTMLHelp output ------------------------------------------
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'FunctestUnittestsdoc'
-
-
-# -- 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,
- 'FunctestUnittests.tex',
- u'Functest Unit tests Documentation',
- u'Functest \\textless{}opnfv-tech-discuss@lists.opnfv.org\\textgreater{}',
- 'manual'),
-]
-
-
-# -- 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,
- 'functestunittests',
- u'Functest Unit tests Documentation',
- [author],
- 1)
-]
-
-
-# -- 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,
- 'FunctestUnittests',
- u'Functest Unit tests Documentation',
- author,
- 'FunctestUnittests',
- 'One line description of project.',
- 'Miscellaneous'),
-]
+++ /dev/null
-.. SPDX-License-Identifier: CC-BY-4.0
-
-===================
-Functest Unit tests
-===================
-
-Author: Ashish Kumar
-Mentors: H.Yao, J.Lausuch, M.Richomme
-
-Abstract
-========
-
-
-Version history
-===============
-
-+------------+----------+------------------+------------------------+
-| **Date** | **Ver.** | **Author** | **Comment** |
-| | | | |
-+------------+----------+------------------+------------------------+
-| 2016-11-14 | 0.0.1 | Morgan Richomme | Beginning of the |
-| | | (Orange) | Internship |
-+------------+----------+------------------+------------------------+
-| 2017-03-31 | 0.0.2 | Ashish Kumar | During the |
-| | | (IIIT Hyderabad) | Internship |
-+------------+----------+------------------+------------------------+
-
-
-Overview:
-=========
-Functest project is developing and integrating functional test cases for OPNFV
-and it is part of OPNFV since the beginning. Functest develops its own
-testcases and framework. This framework includes several utility libraries. The
-Project is growing rapidly with more features, tests added as per requirement.
-It becomes the responsibility of every developer to maintain the integrity of
-code i.e. new patch should not break the previous functionality of the project.
-To automate this process of software development, we should write unit tests
-and add them to CI so that when a new patch is ready to merge, we shouldn't
-allow those which are breaking previous unit tests or decreasing the coverage.
-
-
-
-Problem Statement:
-------------------
-The goal of the intership consists in creating unit test suites on Functest
-code with good code coverage (>80%) and integrate it in continuous integration
-in order to consolidate existing code.
-
-
-Curation Phase
---------------
-The curation phase was the first 3 to 4 weeks of the internship. This phase was
-to get familiar with the functest code and functionality and explore the
-solutions for unit testing in other projects and come up with the strategy for
-writing unit tests in functest.
-
-In this phase we decided,
-
- - Coverage should be 80%. There are some functions like __init__, getter,
- setter and other private methods for which writing unit test is a tedious
- job, so we are leaving these methods for now.
- - Do method wise testing for every module.
- - Use mock for external or third party services, system calls and other
- external library calls which could impact the behaviour of system during the
- run of unit test.
- - Add it in jenkins as passing criteria for patches.
- - Write tests in modular way so that it can help to serve as a form of
- documentation.
-
-
-
-Schedule:
-=========
-+--------------------------+------------------------------------------+
-| **Date** | **Comment** |
-| | |
-+--------------------------+------------------------------------------+
-| Nov 14th - Nov 28th | 1. Learn Functest Project Business |
-| | 2. Set up the development environment |
-| | 3. Run Functest code |
-+--------------------------+------------------------------------------+
-| Nov 28th - Dec.9th | 1. Explore Unit Testing Strategy, |
-| | 2. Learn about Mock in python |
-+--------------------------+------------------------------------------+
-| Dec 12th - Dec 23rd | Implement Unit Tests for CLI |
-| | |
-+--------------------------+------------------------------------------+
-| Dec 26th - Jan 6th | Implement Unit Tests for Utils |
-| | |
-+--------------------------+------------------------------------------+
-| Jan 9th - Jan 20th | Implement Unit Tests for CI |
-| | |
-+--------------------------+------------------------------------------+
-| Jan 23rd - Feb 3rd | Implement Unit Tests for Core |
-| | |
-+--------------------------+------------------------------------------+
-| Feb 6th - Feb 17th | Implement Unit Tests for |
-| | opnfv_tests/openstack/tempest |
-+--------------------------+------------------------------------------+
-| Feb 20th - Mar 3rd | Implement Unit Tests for |
-| | opnfv_tests/openstack/rally |
-+--------------------------+------------------------------------------+
-| Mar 6th - Mar 17th | Implement Unit Tests for |
-| | opnfv_tests/vnf/ims |
-+--------------------------+------------------------------------------+
-| Mar 20th - Mar 31st | Recheck and Increase Coverage for all |
-| | modules > 80% |
-+--------------------------+------------------------------------------+
-| Apr 3rd - Apr 14th | Add CI Gating for unit tests |
-| | |
-+--------------------------+------------------------------------------+
-| Apr 17th - Apr 28th | Use Tox Utility, Documentation |
-| | |
-+--------------------------+------------------------------------------+
-| Apr 28th - End | Bug Fixing |
-| | |
-+--------------------------+------------------------------------------+
-
-
-References:
-===========
-
-.. _`[1]` : https://wiki.opnfv.org/display/DEV/Intern+Project%3A+Functest+unit+tests
+++ /dev/null
-# -*- coding: utf-8 -*-
-#
-# Open Source VNF Catalog documentation build configuration file, created by
-# sphinx-quickstart on Wed Apr 4 06:07:56 2018.
-#
-# 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('.'))
-
-# -- 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 = []
-
-# 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 master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = u'Open Source VNF Catalog'
-copyright = u'2018, Functest <opnfv-tech-discuss@lists.opnfv.org>'
-author = u'Functest <opnfv-tech-discuss@lists.opnfv.org>'
-
-# 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 = u'master'
-# The full version, including alpha/beta/rc tags.
-release = u'master'
-
-# 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
-
-# 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 = []
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# 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 = '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 = []
-
-# 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 = []
-
-# Custom sidebar templates, must be a dictionary that maps document names
-# to template names.
-#
-# This is required for the alabaster theme
-# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars
-html_sidebars = {
- '**': [
- 'relations.html', # needs 'show_related': True theme option to display
- 'searchbox.html',
- ]
-}
-
-
-# -- Options for HTMLHelp output ------------------------------------------
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'OpenSourceVNFCatalogdoc'
-
-
-# -- 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,
- 'OpenSourceVNFCatalog.tex',
- u'Open Source VNF Catalog Documentation',
- u'Functest \\textless{}opnfv-tech-discuss@lists.opnfv.org\\textgreater{}',
- 'manual'),
-]
-
-
-# -- 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,
- 'opensourcevnfcatalog',
- u'Open Source VNF Catalog Documentation',
- [author],
- 1)
-]
-
-
-# -- 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,
- 'OpenSourceVNFCatalog',
- u'Open Source VNF Catalog Documentation',
- author,
- 'OpenSourceVNFCatalog',
- 'One line description of project.',
- 'Miscellaneous'),
-]
+++ /dev/null
-.. SPDX-License-Identifier: CC-BY-4.0
-
-=======================
-Open Source VNF Catalog
-=======================
-
-Author: Kumar Rishabh
-Mentors: B.Souville, M.Richomme, J.Lausuch
-
-Abstract
-========
-
-
-
-Version hissory
-===============
-
-+------------+----------+------------------+------------------------+
-| **Date** | **Ver.** | **Author** | **Comment** |
-| | | | |
-+------------+----------+------------------+------------------------+
-| 2016-12-12 | 0.0.1 | Morgan Richomme | Beginning of the |
-| | | (Orange) | Internship |
-+------------+----------+------------------+------------------------+
-
-
-Overview:
-=========
-
-
-This project aims to create an Open Source catalog for reference and
-classification of Virtual Network Functions (VNFs)s available on
-Internet. The classification method proposed will be in sync with the
-requirements of Telcos active in NFV landscape. The project aims to have
-running web platform similar to [1] by the mid of internship (2nd week
-of March). By the penultimate month of internship I aim to have fully
-functional implementation of an Open Source VNF in functest.
-
-
-Problem Statement:
-------------------
-
-OPNFV aims to be the reference platform for development,
-standardization and integration of Open Source NFV components across
-various Open Source Platforms. It mainly deals with the infrastructure
-through the Network Function Virtualization Infrastructure (NFVI) and
-Virtual Infrastructure manager (VIM). The MANO (Management and
-orchestration) stacks have been introduced recently. VNFs are not
-directly in OPNFV scope, however VNFs are needed to test and qualify the
-infrastructure. In this regard having a common curated Open Source
-Reference VNF catalog would be of immense importance to community.
-
-Since major focus of OPNFV is Telcos, a curated platform targeted from
-industry point of view would be very useful. We plan to divide the
-entire project into three major phases(with some iterative improvements
-and overlaps)
-
-
-Curation Phase
---------------
-This phase pertains to studying various Open Source VNFs available and
-classification of them based on certain parameters. The parameters that
-I currently have in mind are:
-
- * Developer Metrics: These pertain to repo characteristics of VNF under
- study
- * Usage Statistics - Activity, Number of Commits, stars
- * Maturity Statistics - For instance if an NFV community decides code
- coverage is important for them, it shows the NFV community is serious
- about taking the project forward
- * Technical Tagging: These are the tags that pertain to technical
- characteristics of a VNF
- * Broad Use Cases - Whether the VNF fits strictly in IaaS, PaaS or
- SaaS layer or is an hybrid of two/all.
- * Generic Use Cases - This in my opinion is the broadest
- classification category. For instance a VNF could be built with a
- broad idea of powering IOT devices at home or from usage perspective
- of Telco Operators (vFW, vEPC, vIMS, vCDN, vAAA, vCPE,...).`[2]`_
- * Fields of Application
- * Library Status - Whether APIs are standardized, support RESTful
- services.
- * Dependency Forwarding Graph - This is pretty complex tagging
- mechanism. It essentially tries to establish a graph relationship
- between the VNFs (elementary VNFs are used in Service Function
- Chaining chains such as Firewall, DPI, content enrichment,..). In my
- opinion this is useful immensely. This will allow users to go to
- platform and ask a question like - “I have this X tech stack to
- support, Y and Z are my use cases, which NFVs should I use to support
- this.
- * Visitor Score - Based on `[1]`_ I plan to evolve a visitor score for
- the platform. This will allow users to score an NFV on certain
- parameters, may be post comments.
-
-**I plan to use the above three scores and evolve cumulative score which
-will be displayed next to each of the NFV on the platform.**
-
- * Platform building phase - This will involve erecting a Web Platform
- which will be similar to this `[1]`_. I am decently familiar with
- Django and hence I will write the platform in Django. There are two
- action plans that I have in mind right now. Either I can start writing
- the platform simultaneously which will help keep track of my progress
- or I can write the platform after 1.5 - 2 months into the internship.
- Either way I aim to have the Web Platform ready by March 12.
- * Functest VNF implementation phase - This is the last phase that will
- involve writing a fully functional implementation of an Open Source VNF
- into Functest. I will undertake this after I am 3 months into the
- internship. I have a decent familiarity with python and hence I think
- it shouldn’t be too difficult. I need to decide how complex the VNFI
- should undertake this exercise for (e.g. AAA such as free radius sounds
- relatively easy, vCDN is much more challenging).
- This will be decided in consent with my mentors.
-
-Schedule:
-=========
-I plan to take this project in 6 months time frame as I want to use it
-as a chance to read more about NFVs in particular and SDN in general
-
-
-+--------------------------+------------------------------------------+
-| **Date** | **Comment** |
-| | |
-+--------------------------+------------------------------------------+
-| December 12 - January 12 | Study the above mentioned metrics |
-| | Decide which of them are important for |
-| | community (and which are not). |
-+--------------------------+------------------------------------------+
-| January 12 - January 27 | Make a database for the above studied |
-| | metrics and evolve it further based on |
-| | Mentors’ input. + associated API |
-+--------------------------+------------------------------------------+
-| January 27 - February 5 | Compile the data collected above and make|
-| | it public. Although I can keep everything|
-| | public from the beginning too. My |
-| | rationale of not making the entire data |
-| | public in initial stage as the errors |
-| | caused by me could be misleading for |
-| | developers. |
-+--------------------------+------------------------------------------+
-| February 5 - March 5 | Erect the Web Platform and release it |
-| | for restricted group for alpha testing. |
-+--------------------------+------------------------------------------+
-| March 5 - March 12 | Make it public. Release it to public for |
-| | beta testing. Fix Bugs. |
-+--------------------------+------------------------------------------+
-| March 12 - April 12 | Start working on implementation of an |
-| | Open Source VNF in Functest. |
-+--------------------------+------------------------------------------+
-| April 12 - May 12 | I will decided what to do here based on |
-| | discussion with mentors. |
-+--------------------------+------------------------------------------+
-
-
-References:
-===========
-
-.. _`[1]` : Openhub: https://www.openhub.net/explore/projects
-
-.. _`[2]` : ETSI NFV White Paper: https://portal.etsi.org/Portals/0/TBpages/NFV/Docs/NFV_White_Paper3.pdf
-
-.. _`[3]` : https://wiki.opnfv.org/display/DEV/Intern+Project%3A+Open+Source+VNF+catalog
See `[3]`_ for details.
-.. _`[3]`: https://git.opnfv.org/releng/tree/jjb/functest/functest-daily-jobs.yml
+.. _`[3]`: https://git.opnfv.org/releng/tree/jjb/functest/functest-daily-jobs.yaml
***************************
.. toctree::
- :numbered:
:maxdepth: 2
intro.rst
.. _`[1]`: https://ask.openstack.org/en/question/68144/keystone-unable-to-use-the-public-endpoint/
.. _`[2]`: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/user/userguide/index.html
-.. _`[3]`: https://git.opnfv.org/releng/tree/jjb/functest/functest-daily-jobs.yml
+.. _`[3]`: https://git.opnfv.org/releng/tree/jjb/functest/functest-daily-jobs.yaml
.. _`[4]`: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/user/configguide/index.html
.. _`[5]`: http://www.opnfv.org
-.. _`[6]`: https://wiki.opnfv.org/functest
+.. _`[6]`: https://wiki.opnfv.org/display/functest/Opnfv+Functional+Testing
.. _`[15]`: https://aptira.com/testing-openstack-tempest-part-1/
.. _`[16]`: http://docs.opnfv.org/en/latest/testing/testing-dev.html
.. _`OPNFV main site`: http://www.opnfv.org
-.. _`Functest page`: https://wiki.opnfv.org/functest
+.. _`Functest page`: https://wiki.opnfv.org/display/functest/Opnfv+Functional+Testing
.. _`OpenRC`: http://docs.openstack.org/user-guide/common/cli_set_environment_variables_using_openstack_rc.html
.. _`Rally installation procedure`: https://rally.readthedocs.org/en/latest/tutorial/step_0_installation.html
.. _`config_functest.yaml` : https://git.opnfv.org/cgit/functest/tree/functest/ci/config_functest.yaml
.. _`Doctor User Guide`: http://artifacts.opnfv.org/doctor/colorado/userguide/index.html
.. _`SDNVPN User Guide`: http://artifacts.opnfv.org/sdnvpn/colorado/docs/userguide/index.html
.. _`Parser User Guide`: http://artifacts.opnfv.org/parser/colorado/docs/userguide/index.html
-.. _`Functest Dashboard`: http://testresults.opnfv.org/kibana_dashboards/
+.. _`Functest Dashboard`: http://testresults.opnfv.org/
.. _`SFC User Guide`: http://artifacts.opnfv.org/sfc/colorado/userguide/index.html
[build_sphinx]
all_files = 1
-build-dir = api/build/
+build-dir = api/_build/
source-dir = api
[wheel]
doc8 # Apache-2.0
bashate # Apache-2.0
nosehtmloutput # Apache-2.0
+lfdocs-conf
+sphinx-opnfv-theme
--ignore-path api/build \
--ignore-path docs/release/release-notes/build \
--ignore-path docs/testing/developer/devguide/build \
- --ignore-path docs/testing/developer/internship/security_group/build \
- --ignore-path docs/testing/developer/internship/testapi_evolution/build \
- --ignore-path docs/testing/developer/internship/unit_tests/build \
- --ignore-path docs/testing/developer/internship/vnf_catalog/build \
--ignore-path docs/testing/user/configguide/build \
--ignore-path docs/testing/user/userguide/build \
api \
docs/testing/user/configguide \
docs/testing/user/userguide
sphinx-build -W -b html api/ api/build
- sphinx-build -W -b html docs/release/release-notes docs/release/release-notes/build/html
- sphinx-build -W -b html docs/testing/developer/devguide docs/testing/developer/devguide/build/html
- sphinx-build -W -b html docs/testing/developer/internship/security_group docs/testing/developer/internship/security_group/build/html
- sphinx-build -W -b html docs/testing/developer/internship/testapi_evolution docs/testing/developer/internship/testapi_evolution/build/html
- sphinx-build -W -b html docs/testing/developer/internship/unit_tests docs/testing/developer/internship/unit_tests/build/html
- sphinx-build -W -b html docs/testing/developer/internship/vnf_catalog docs/testing/developer/internship/vnf_catalog/build/html
- sphinx-build -W -b html docs/testing/user/configguide docs/testing/user/configguide/build/html
- sphinx-build -W -b html docs/testing/user/userguide docs/testing/user/userguide/build/html
+ sphinx-build -W -n -b html docs/release/release-notes docs/release/release-notes/build/html
+ sphinx-build -W -n -b html docs/testing/developer/devguide docs/testing/developer/devguide/build/html
+ sphinx-build -W -n -b html docs/testing/user/configguide docs/testing/user/configguide/build/html
+ sphinx-build -W -n -b html docs/testing/user/userguide docs/testing/user/userguide/build/html
+ sphinx-build -W -n -b linkcheck docs docs/_build/linkcheck
+ sphinx-build -W -n -b html docs docs/_build/html
[testenv:pep8]
basepython = python2.7