From 319c283565c4d7d38106487a12d3ce6a71cb4ba8 Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Tue, 3 Apr 2018 06:47:10 +0200 Subject: Fix Functest Release Notes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It allows building this documentation via tox. rst files are now checked via doc8. Change-Id: I4cfec11b06319b5ccdcff5f7f14475375e778c01 Signed-off-by: Cédric Ollivier --- docs/release/release-notes/conf.py | 184 ++++++++++++++++++++++++ docs/release/release-notes/functest-release.rst | 112 +++++++-------- docs/release/release-notes/index.rst | 5 - test-requirements.txt | 2 + tox.ini | 5 +- upper-constraints.txt | 1 + 6 files changed, 246 insertions(+), 63 deletions(-) create mode 100644 docs/release/release-notes/conf.py diff --git a/docs/release/release-notes/conf.py b/docs/release/release-notes/conf.py new file mode 100644 index 000000000..77a71a37d --- /dev/null +++ b/docs/release/release-notes/conf.py @@ -0,0 +1,184 @@ +# -*- coding: utf-8 -*- +# +# Functest Release Notes documentation build configuration file, created by +# sphinx-quickstart on Tue Apr 3 03:40:39 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('.')) +import sphinx_opnfv_theme + + +# -- 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 Release Notes' +copyright = u'2018, Cédric Ollivier ' +author = u'Cédric Ollivier ' + +# 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 = 'opnfv' + +# 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 = {} +html_theme_options = { + 'bootswatch_theme': 'journal', + 'navbar_sidebarrel': False, + 'navbar_title': '', +} + +# Add any paths that contain custom themes here, relative to this directory. +# html_theme_path = [] +html_theme_path = sphinx_opnfv_theme.get_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 = 'FunctestReleaseNotesdoc' + + +# -- 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, 'FunctestReleaseNotes.tex', + u'Functest Release Notes Documentation', + u'Cédric Ollivier \\textless{}cedric.ollivier@orange.com\\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, + 'functestreleasenotes', + u'Functest Release Notes 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, + 'FunctestReleaseNotes', + u'Functest Release Notes Documentation', + author, + 'FunctestReleaseNotes', + 'One line description of project.', + 'Miscellaneous'), +] diff --git a/docs/release/release-notes/functest-release.rst b/docs/release/release-notes/functest-release.rst index 78ec8f227..d008a6764 100644 --- a/docs/release/release-notes/functest-release.rst +++ b/docs/release/release-notes/functest-release.rst @@ -1,15 +1,5 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. .. SPDX-License-Identifier: CC-BY-4.0 -======= -License -======= - -OPNFV Euphrates release note for Functest Docs -are licensed under a Creative Commons Attribution 4.0 International License. -You should have received a copy of the license along with this. -If not, see . - ============================================= OPNFV Euphrates 5.1 release note for Functest ============================================= @@ -19,13 +9,12 @@ Abstract This document contains the release notes of the Functest project. - OPNFV Euphrates Release -====================== +======================= Functest deals with functional testing of the OPNFV solution. It includes test cases developed within the project, test cases developed in -other OPNFV projects and it also intgrates test cases from other upstream +other OPNFV projects and it also integrates test cases from other upstream communities. The internal test cases are: @@ -59,7 +48,6 @@ The OPNFV projects integrated into Functest framework for automation are: * orchestra_openims * orchestra_clearwaterims - Release Data ============ @@ -116,47 +104,62 @@ Documents - Functest Framework presentation: http://testresults.opnfv.org/functest/framework/index.html - Version change ============== -Functest now delivers light-weigth Docker images based on Alpine 3.7. The test cases are grouped into several categories -or tiers and must be run from the corresponding container. For example, to run the test case healthcheck, the image -opnfv/functest-healthcheck shall be used. The tiers and the tests within them are explained in detail in the User Guide. +Functest now delivers light-weigth Docker images based on Alpine 3.7. The test +cases are grouped into several categories or tiers and must be run from the +corresponding container. For example, to run the test case healthcheck, the +image opnfv/functest-healthcheck shall be used. The tiers and the tests within +them are explained in detail in the User Guide. The former Ubuntu image is not longer maintained. -The Parser test case has its own dedicated Docker image since it requires libraries released for OpenStack Pike and -Euphrates is based on Ocata. +The Parser test case has its own dedicated Docker image since it requires +libraries released for OpenStack Pike and Euphrates is based on Ocata. -The Docker images do not contain OS images (Cirros, Ubuntu, Centos, ..) anymore. A script has been created under the -ci directory (download_images.sh) which contains all the needed images for all the tests. This file can be modified by -the user since not all the images might be used. It must be executed before starting Functest and attach the needed -images as a Docker volume. See Configuration Guide for more information. +The Docker images do not contain OS images (Cirros, Ubuntu, Centos, ..) +anymore. A script has been created under the ci directory (download_images.sh) +which contains all the needed images for all the tests. This file can be +modified by the user since not all the images might be used. It must be +executed before starting Functest and attach the needed images as a Docker +volume. See Configuration Guide for more information. The requirements have been split into 3 files: * requirements.txt : lists all abstract dependencies of the OPNFV packages - * test-requirements.txt : lists all abstract dependencies required by Functest Unit Tests - * upper-constraints.txt : lists all concrete upstream dependencies required by Functest Docker container - -OPNFV (test-)requirements.txt have been updated according to stable/ocata global-requirements.txt. -Functest uses (and completes) stable/ocata upper-constraints.txt in Dockerfiles and tox configuration. -The project relies on pbr, which injects requirements into the install_requires, tests_require and/or dependency_links -arguments to setup. It also supports conditional dependencies which can be added to the requirements (e.g. dnspython>=1.14.0;python_version=='2.7') - -The way to manage logging has been centralized to a configuration file (logging.ini) which might be modified by the user. -By default, the output of executing the test cases is redirected to log files and is not displayed on the console, only result -messages and summary tables are displayed. - -The framework has been refactored and all the test cases inherit from a core class TestCase. For Feature projects who develop -test cases, 2 sub-classes have been created: - - Feature: it implements all the needed functions and the developer must only overwrite the method "execute" (e.g. Barometer) - - BashFeature: it is used if the third party test case is a shell script. This way, the execution command must be specified in - testcases.yaml as the argument (e.g. Domino, Doctor) - -An internal REST API has been introduced in Euphrates. The goal is to trigger Functest operations through an API in addition of the CLI. -This could be considered as a first step towards a pseudo micro services approach where the different test projects could expose and -consume APIs to the other test projects. + * test-requirements.txt : lists all abstract dependencies required by Functest + Unit Tests + * upper-constraints.txt : lists all concrete upstream dependencies required by + Functest Docker container + +OPNFV (test-)requirements.txt have been updated according to stable/ocata +global-requirements.txt. Functest uses (and completes) stable/ocata +upper-constraints.txt in Dockerfiles and tox configuration. The project relies +on pbr, which injects requirements into the install_requires, tests_require +and/or dependency_links arguments to setup. It also supports conditional +dependencies which can be added to the requirements +(e.g. dnspython>=1.14.0;python_version=='2.7') + +The way to manage logging has been centralized to a configuration file +(logging.ini) which might be modified by the user. By default, the output of +executing the test cases is redirected to log files and is not displayed on the +console, only result messages and summary tables are displayed. + +The framework has been refactored and all the test cases inherit from a core +class TestCase. For Feature projects who develop test cases, 2 sub-classes +have been created: + + - Feature: it implements all the needed functions and the developer must only + overwrite the method "execute" (e.g. Barometer) + - BashFeature: it is used if the third party test case is a shell script. This + way, the execution command must be specified in testcases.yaml as the + argument (e.g. Domino, Doctor) + +An internal REST API has been introduced in Euphrates. The goal is to trigger +Functest operations through an API in addition of the CLI. This could be +considered as a first step towards a pseudo micro services approach where the +different test projects could expose and consume APIs to the other test +projects. Euphrates 5.1 improvements ========================== @@ -168,24 +171,22 @@ Euphrates 5.1 improvements * Selection of a subset of SNAPS test cases. * Reorder VNF test cases and adjust timeouts in VNFs. - - Euphrates 5.1 known restrictions/issues ======================================= + +--------------+-----------+----------------------------------------------+ | Installer | Scenario | Issue | +==============+===========+==============================================+ -| fuel@aarch64 | any | VNF tier not supported yet. | +| fuel@aarch64 | any | VNF tier not supported yet. | +--------------+-----------+----------------------------------------------+ | | | The test cases belonging to the VNF tier | -| any | any | have been only tested on os-nosdn-nofeature | +| any | any | have been only tested on os-nosdn-nofeature | | | | scenarios and baremetal deployments. | +--------------+-----------+----------------------------------------------+ -| Joid | k8 | Functest does not offer test suites for | -| Compass | | Kubernetes scenarios yet. | +| Joid | k8 | Functest does not offer test suites for | +| Compass | | Kubernetes scenarios yet. | +--------------+-----------+----------------------------------------------+ - Test and installer/scenario dependencies ======================================== @@ -200,7 +201,6 @@ in the different testcases.yaml for each tier: * https://git.opnfv.org/functest/tree/docker/vnf/testcases.yaml?h=stable/euphrates * https://git.opnfv.org/functest/tree/docker/parser/testcases.yaml?h=stable/euphrates - Test results ============ @@ -209,14 +209,13 @@ http://testresults.opnfv.org/functest/euphrates/ Test logs are available in: - - test results logs from CI: http://artifacts.opnfv.org (within different directories 'logs_functest_X') + - test results logs from CI: http://artifacts.opnfv.org (within different + directories 'logs_functest_X') - jenkins logs on CI: https://build.opnfv.org/ci/view/functest/ - jenkins logs on ARM CI: https://build.opnfv.org/ci/view/armband/ - - Open JIRA tickets ================= @@ -230,7 +229,6 @@ Open JIRA tickets All the tickets that are not blocking have been fixed or postponed the next release. - Useful links ============ diff --git a/docs/release/release-notes/index.rst b/docs/release/release-notes/index.rst index 411e09bdf..76a009d12 100644 --- a/docs/release/release-notes/index.rst +++ b/docs/release/release-notes/index.rst @@ -1,4 +1,3 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. .. SPDX-License-Identifier: CC-BY-4.0 .. _functest-releasenotes: @@ -13,8 +12,4 @@ Functest Release Notes functest-release.rst -Revision: _sha1_ - -:Author: Jose Lausuch (jalausuch@suse.com) - Build date: |today| diff --git a/test-requirements.txt b/test-requirements.txt index 422cbeb6b..7b0b08417 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7,5 +7,7 @@ nose # LGPL flake8<2.6.0,>=2.5.4 # MIT pylint==1.4.5 # GPLv2 sphinx>=1.6.2 # BSD +sphinx-opnfv-theme sphinx-rtd-theme yamllint +doc8 diff --git a/tox.ini b/tox.ini index 91b767c32..381826fb1 100644 --- a/tox.ini +++ b/tox.ini @@ -19,7 +19,10 @@ commands = nosetests --with-xunit \ [testenv:docs] basepython = python2.7 -commands = sphinx-build -W -b html api/ api/_build +commands = + sphinx-build -W -b html api/ api/_build + doc8 docs/release/release-notes --ignore-path docs/release/release-notes/build + sphinx-build -W -b html docs/release/release-notes docs/release/release-notes/build/html [testenv:pep8] basepython = python2.7 diff --git a/upper-constraints.txt b/upper-constraints.txt index d6152da3e..522d9df25 100644 --- a/upper-constraints.txt +++ b/upper-constraints.txt @@ -23,3 +23,4 @@ ansible===2.3.2.0 flasgger===0.6.6 xtesting===0.31.0 networking-bgpvpn===7.0.0 +sphinx-opnfv-theme===0.1.1 -- cgit 1.2.3-korg