From d668e5c9b7bb72f06606c60b163df0b1f202b9b7 Mon Sep 17 00:00:00 2001 From: Olga Date: Wed, 8 Jun 2016 06:23:39 -0500 Subject: [PATCH] Documentation for Murano plugin Adds the structure for: * Plugin Guide * Test Plan * Test Report Change-Id: I46b2247bb3416867b65892163c203ab596e70870 --- docs/README.md | 138 +++++++ docs/plugin_guide/Makefile | 224 ++++++++++++ docs/plugin_guide/source/appendix.rst | 14 + docs/plugin_guide/source/conf.py | 340 ++++++++++++++++++ docs/plugin_guide/source/configure.rst | 14 + docs/plugin_guide/source/index.rst | 17 + docs/plugin_guide/source/install.rst | 43 +++ docs/plugin_guide/source/intro.rst | 37 ++ docs/plugin_guide/source/licenses.rst | 11 + docs/testing_documentation/test_plan/Makefile | 216 +++++++++++ .../test_plan/source/appendix.rst | 8 + .../test_plan/source/compatibility_matrix.rst | 20 ++ .../test_plan/source/conf.py | 327 +++++++++++++++++ .../test_plan/source/functional_testing.rst | 77 ++++ .../test_plan/source/index.rst | 17 + .../test_plan/source/intro.rst | 29 ++ .../test_plan/source/other.rst | 53 +++ .../test_plan/source/system_testing.rst | 268 ++++++++++++++ .../test_plan/source/testing_strategy.rst | 46 +++ .../test_plan/source/testing_tools.rst | 79 ++++ .../test_report/Makefile | 216 +++++++++++ .../test_report/source/conf.py | 328 +++++++++++++++++ .../test_report/source/index.rst | 9 + .../test_report/source/intro.rst | 35 ++ .../test_report/source/testing-summary.rst | 45 +++ 25 files changed, 2611 insertions(+) create mode 100644 docs/README.md create mode 100644 docs/plugin_guide/Makefile create mode 100644 docs/plugin_guide/source/appendix.rst create mode 100644 docs/plugin_guide/source/conf.py create mode 100644 docs/plugin_guide/source/configure.rst create mode 100644 docs/plugin_guide/source/index.rst create mode 100644 docs/plugin_guide/source/install.rst create mode 100644 docs/plugin_guide/source/intro.rst create mode 100644 docs/plugin_guide/source/licenses.rst create mode 100644 docs/testing_documentation/test_plan/Makefile create mode 100644 docs/testing_documentation/test_plan/source/appendix.rst create mode 100644 docs/testing_documentation/test_plan/source/compatibility_matrix.rst create mode 100644 docs/testing_documentation/test_plan/source/conf.py create mode 100644 docs/testing_documentation/test_plan/source/functional_testing.rst create mode 100644 docs/testing_documentation/test_plan/source/index.rst create mode 100644 docs/testing_documentation/test_plan/source/intro.rst create mode 100644 docs/testing_documentation/test_plan/source/other.rst create mode 100644 docs/testing_documentation/test_plan/source/system_testing.rst create mode 100644 docs/testing_documentation/test_plan/source/testing_strategy.rst create mode 100644 docs/testing_documentation/test_plan/source/testing_tools.rst create mode 100644 docs/testing_documentation/test_report/Makefile create mode 100644 docs/testing_documentation/test_report/source/conf.py create mode 100644 docs/testing_documentation/test_report/source/index.rst create mode 100644 docs/testing_documentation/test_report/source/intro.rst create mode 100644 docs/testing_documentation/test_report/source/testing-summary.rst diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..af5de5d --- /dev/null +++ b/docs/README.md @@ -0,0 +1,138 @@ +# Table of Contents +1. [Overview](#id-section1) + * [How to use](#id-section2) + * [How to build documentation] (#id-section3) +2. [Check yourself](#id-section4) + * [Plugin Guide checklist](#id-section5) + +
+ +# Overview + +If you are developing your own plugin for Fuel, you will also need to prepare +the documentation set, which includes Test Plan, Test Report, and Plugin Guide. + +
+## How to use + +This repo is organized as the doc tree with 2 main folders: +- plugin guide +- testing documentation + - Test Plan + - Test Report + +To use these doc templates, follow these steps: + +#. Clone the repo:: + + git clone git@github.com:Mirantis/fuel-plugin-docs.git + +#. Populate the placeholders of the conf.py files (for Plugin Guide, Test Plan, + and Report) with plugin-specific information (e.g. document name, plugin + release). + +#. Populate the content of RST files which make up the document structure. + +
+ +## How to build documentation + +Once you're done with editing the conf.py and sample RST files, you should cd +into the corresponding doc dir and run ``make latexpdf``. + +For example:: + + cd plugin guide + make latexpdf + +The PDF will be found in /build subdir. + +
+ +## Check yourself + +Please use the checklists below to make sure you documentation +meets the acceptance criteria. + +
+ +### Plugin Guide + +* The Plugin Guide contains plugin version in -XX-XXX-X format. + +* The **Overview** section provides information on the following: + + * high-level description of plugin functionality/use case + * schemes (optional) + +* The **Requirements** section provides information on the following: + + * target MOS release (e.g. should be 8.0 not 8.0 and/or higher) + * required compatible proprietary Partner product version + * required compatible proprietary hw/software (if applicable) + +* The **Prerequisites** section provides information on what should be done + prior to the solution installation/configuration, specifically: + + * List of required HW/SW and how to get it (where to order or how to download). + * Compatible firmware versions (for HW) and software versions (for SW). + * A link to official documentation and configuration guides of used HW/SH + should be provided. + * How to configure required external hardware/software (e.g. storage devices, + switches and so on) so that user could use them via the the application/driver. + A simple configuration would be enough. + * If the solution can use specific HW/SW in several modes, then there should + be instructions on how to properly configure the hw/software to use this + very mode + +* The **Limitations** should outline the issues that might limit the plugin + usage. Those can be: + + * specific networking option available for the plugin (e.g. it can only use + Neutron VXLAN) + * known issues that might affect the plugin's operability (e.g. it's + impossible to use non-ASCII characters) + +* The **Release Notes** section should describe how this plugin version differs + from the previous one. + +* The **Installing the plugin** section provides commands and estimated output. + +* The **Configuring the plugin** section provides the following information: + + * It's clarified which MOS environment configuration should be used + (how many controller, computes, which options/services should be enabled). + All links to the official Mirantis OpenStack documentation are present. + It's also okay to provide screenshots. + * It's clarified how to configure MOS environment properly for the plugin + usage (e.g. how to configure interfaces for different logical networks Fuel + uses). It's also okay to provide screenshots. + * If the plugin requires specific role/naming convention, then this is also + outlined. + * UI part of the plugin should have detailed description and instructions + on where to get specific params. This should be done for every field and + example values should be provided. + * If the plugin supports several modes of usage, then there should be a flow + for each mode (e.g. each mode should be presented as the step-by-step + instruction with screenshots with all required UI elements listed in the + correct order): e.g. Select plugin checkbox, click a radio button, + fill in the text fields + * Network verification check is specified as the obligatory step prior to + deployment. If it’s expected to fail, this fact should be explicitly stated + and a reason should be provided. + +* The **User Guide** should contain: + + * baseline commands (CLI reference) with the estimated output (e.g. create + volumes, list volumes etc) + * links to external documentation (e.g. if all baseline issues are covered + in open source/proprietary documentation) + +* The **Verification** section should explain how to verify that the plugin + works as expected (CLI, expected output). + +* The **Troubleshooting** section should deliver specific guidaince on: + + * how to make sure that all services are running + * how to check network connectivity (if needed) + * logs (where to find those, what to pay attention to) \ No newline at end of file diff --git a/docs/plugin_guide/Makefile b/docs/plugin_guide/Makefile new file mode 100644 index 0000000..dd01029 --- /dev/null +++ b/docs/plugin_guide/Makefile @@ -0,0 +1,224 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source + +.PHONY: help +help: + @echo "Please use \`make ' where 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 " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " pdf to make pdf with rst2pdf" + @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)" + +.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/DetachRabbitMQpluginforFuel.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/DetachRabbitMQpluginforFuel.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/DetachRabbitMQpluginforFuel" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/DetachRabbitMQpluginforFuel" + @echo "# devhelp" + +.PHONY: epub +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +.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: pdf +pdf: + $(SPHINXBUILD) -b pdf $(ALLSPHINXOPTS) $(BUILDDIR)/pdf + @echo + @echo "Build finished. The PDFs are in $(BUILDDIR)/pdf." + + +.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." + +.PHONY: pseudoxml +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/docs/plugin_guide/source/appendix.rst b/docs/plugin_guide/source/appendix.rst new file mode 100644 index 0000000..2ab705b --- /dev/null +++ b/docs/plugin_guide/source/appendix.rst @@ -0,0 +1,14 @@ +.. _links: + +============ +Useful links +============ + +For more information about Murano plugin for Fuel described in this document, +see: + +* `Specification `__ + +* `Launchpad project `__ + +* `GitHub project `__ \ No newline at end of file diff --git a/docs/plugin_guide/source/conf.py b/docs/plugin_guide/source/conf.py new file mode 100644 index 0000000..11e7d2a --- /dev/null +++ b/docs/plugin_guide/source/conf.py @@ -0,0 +1,340 @@ +# -*- coding: utf-8 -*- +# +# plugin name documentation build configuration file, created by +# sphinx-quickstart on Wed Oct 7 12:48:35 2015. +# +# 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. + +import sys +import os + +# 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. +#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.todo', +# 'sphinx.ext.coverage', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +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'Murano plugin for Fuel' +copyright = u'2016, Mirantis 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 = '1.0' +# The full version, including alpha/beta/rc tags. +release = '1.0.0' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#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. +exclude_patterns = [] + +# 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 + + +# -- 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 = 'default' + +# 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. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# 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 (within the static path) to use as 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 '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# 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 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 + +# Output file base name for HTML help builder. +htmlhelp_basename = 'Murano-plugin-doc' + + +# -- 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': '', +} + +# 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 = [ + ('index', 'murano.tex', u'Murano plugin for Fuel Documentation', + u'Mirantis Inc.', '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 = [] + +# If false, no module index is generated. +#latex_domain_indices = True + +# make latex stop printing blank pages between sections +# http://stackoverflow.com/questions/5422997/sphinx-docs-remove-blank-pages-from-generated-pdfs +latex_elements = { 'classoptions': ',openany,oneside', 'babel' : '\\usepackage[english]{babel}' } + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'fuel-murano-plugin', u'Guide to the Murano Plugin ver. xxxxxx for Fuel', + [u'Mirantis Inc.'], 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 = [ + ('index', 'Murano', u'Murano Plugin for Fuel Documentation', + u'Mirantis Inc.', 'Murano', 'Murano Plugin for Fuel Documentation', + '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 + +# Insert footnotes where they are defined instead of +# at the end. +pdf_inline_footnotes = True + + + +# -- Options for Epub output ---------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = u'Murano Plugin for Fuel' +epub_author = u'Mirantis Inc.' +epub_publisher = u'Mirantis Inc.' +epub_copyright = u'2016, Mirantis Inc.' + +# The basename for the epub file. It defaults to the project name. +#epub_basename = u'fuel-plugin-openbook' + +# The HTML theme for the epub output. Since the default themes are not optimized +# for small screen space, using the same theme for HTML and epub output is +# usually not wise. This defaults to 'epub', a theme designed to save visual +# space. +#epub_theme = 'epub' + +# The language of the text. It defaults to the language option +# or en if the language is not set. +#epub_language = '' + +# The scheme of the identifier. Typical schemes are ISBN or URL. +#epub_scheme = '' + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +#epub_identifier = '' + +# A unique identification for the text. +#epub_uid = '' + +# A tuple containing the cover image and cover page html template filenames. +#epub_cover = () + +# A sequence of (type, uri, title) tuples for the guide element of content.opf. +#epub_guide = () + +# HTML files that should be inserted before the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_pre_files = [] + +# HTML files shat should be inserted after the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_post_files = [] + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + +# The depth of the table of contents in toc.ncx. +#epub_tocdepth = 3 + +# Allow duplicate toc entries. +#epub_tocdup = True + +# Choose between 'default' and 'includehidden'. +#epub_tocscope = 'default' + +# Fix unsupported image types using the PIL. +#epub_fix_images = False + +# Scale large images. +#epub_max_image_width = 0 + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#epub_show_urls = 'inline' + +# If false, no index is generated. +#epub_use_index = True diff --git a/docs/plugin_guide/source/configure.rst b/docs/plugin_guide/source/configure.rst new file mode 100644 index 0000000..69e11bf --- /dev/null +++ b/docs/plugin_guide/source/configure.rst @@ -0,0 +1,14 @@ +.. _pg-configure: + +======================= +Configure Murano plugin +======================= + +Configuring Murano plugin involves ... + +**To confgiure Murano plugin:** + +#. Create an OpenStack environment as described in + the `Fuel User Guide `_: + +#. ... diff --git a/docs/plugin_guide/source/index.rst b/docs/plugin_guide/source/index.rst new file mode 100644 index 0000000..c82e56c --- /dev/null +++ b/docs/plugin_guide/source/index.rst @@ -0,0 +1,17 @@ +============================ +Murano Plugin for Fuel Guide +============================ + +Murano plugin for Fuel is ... + +This guide documents the ... version of Murano plugin. + +.. toctree:: + :maxdepth: 2 + + intro + install + configure + licenses + appendix + diff --git a/docs/plugin_guide/source/install.rst b/docs/plugin_guide/source/install.rst new file mode 100644 index 0000000..5fceaa7 --- /dev/null +++ b/docs/plugin_guide/source/install.rst @@ -0,0 +1,43 @@ +.. _pg-install: + +===================== +Install Murano plugin +===================== + +Before you install Murano plugin, verify that your environment meets +the requirements described in :ref:`pg-prerequisites`. You must have the Fuel +Master node installed and configured before you can install the plugin. +Typically, you install a Fuel plugin before you deploy an OpenStack environment. + +**To install Murano plugin:** + +#. Download Murano plugin from the `Fuel Plugins Catalog`_. + +#. Copy the plugin ``.rpm`` package to the Fuel Master node: + + **Example:** + + .. code-block:: console + + # scp root@fuel-master:/tmp + +#. Log into Fuel Master node CLI as root. + +#. Install the plugin by typing: + + .. code-block:: console + + # fuel plugins --install + +#. Verify that the plugin is installed correctly: + + .. code-block:: console + + # fuel plugins + id | name | version | package_version + ---|---------------|---------|---------------- + 1 | || + +#. Proceed to :ref:`pg-configure`. + +.. _Fuel Plugins Catalog: https://www.mirantis.com/products/openstack-drivers-and-plugins/fuel-plugins/ \ No newline at end of file diff --git a/docs/plugin_guide/source/intro.rst b/docs/plugin_guide/source/intro.rst new file mode 100644 index 0000000..50df82a --- /dev/null +++ b/docs/plugin_guide/source/intro.rst @@ -0,0 +1,37 @@ +.. _overview: + +========================= +Overview of Murano plugin +========================= + +Murano plugin provides functionality to . +You can use Murano plugin to configure . + +The plugin includes the following components: + +* Component 1 +* Component 2 + +.. _pg-prerequisites: + +Software prerequisites +~~~~~~~~~~~~~~~~~~~~~~ + +To use Murano plugin, verify that your environment meets the following prerequisites: + +======================= ================================= +Prerequisites Version/Comment +======================= ================================= +Fuel 9.0 + + +======================= ================================= + +Limitations +~~~~~~~~~~~ + +Murano plugin has some known issues and limitations of usage: + +* ... +* ... \ No newline at end of file diff --git a/docs/plugin_guide/source/licenses.rst b/docs/plugin_guide/source/licenses.rst new file mode 100644 index 0000000..e3446ff --- /dev/null +++ b/docs/plugin_guide/source/licenses.rst @@ -0,0 +1,11 @@ +.. _pg-license: + +======== +Licenses +======== + +================= ============ +**Component** **License** +================= ============ +Murano plugin Apache 2.0 +================= ============ \ No newline at end of file diff --git a/docs/testing_documentation/test_plan/Makefile b/docs/testing_documentation/test_plan/Makefile new file mode 100644 index 0000000..9979e22 --- /dev/null +++ b/docs/testing_documentation/test_plan/Makefile @@ -0,0 +1,216 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source + +.PHONY: help +help: + @echo "Please use \`make ' where 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 " 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)" + +.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/DetachRabbitMQpluginforFuel.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/DetachRabbitMQpluginforFuel.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/DetachRabbitMQpluginforFuel" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/DetachRabbitMQpluginforFuel" + @echo "# devhelp" + +.PHONY: epub +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +.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." + +.PHONY: pseudoxml +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/docs/testing_documentation/test_plan/source/appendix.rst b/docs/testing_documentation/test_plan/source/appendix.rst new file mode 100644 index 0000000..4144540 --- /dev/null +++ b/docs/testing_documentation/test_plan/source/appendix.rst @@ -0,0 +1,8 @@ +.. _appendix: + +======== +Appendix +======== + +* URL1 +* URL2 \ No newline at end of file diff --git a/docs/testing_documentation/test_plan/source/compatibility_matrix.rst b/docs/testing_documentation/test_plan/source/compatibility_matrix.rst new file mode 100644 index 0000000..57a58dc --- /dev/null +++ b/docs/testing_documentation/test_plan/source/compatibility_matrix.rst @@ -0,0 +1,20 @@ +.. _compatibility-matrix: + +============================ +Product compatibility matrix +============================ + + + ++----------------------+--------------+ +| **Issue** | **Version** | ++----------------------+--------------+ +| Mirantis OpenStack | 9.0 | ++----------------------+--------------+ +| Murano Plugin | 1.0.0 | ++----------------------+--------------+ \ No newline at end of file diff --git a/docs/testing_documentation/test_plan/source/conf.py b/docs/testing_documentation/test_plan/source/conf.py new file mode 100644 index 0000000..cde9ba3 --- /dev/null +++ b/docs/testing_documentation/test_plan/source/conf.py @@ -0,0 +1,327 @@ +# -*- coding: utf-8 -*- +# +# plugin name documentation build configuration file, created by +# sphinx-quickstart on Wed Oct 7 12:48:35 2015. +# +# 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. + +import sys +import os + +# 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. +#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.todo', +# 'sphinx.ext.coverage', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +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'Test Plan for Murano plugin for Fuel' +copyright = u'2016, Mirantis 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 = 'PLUGIN VERSION IN 6-DIGIT FORMAT' +# The full version, including alpha/beta/rc tags. +release = 'PLUGIN VERSION IN 6-DIGIT FORMAT' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#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. +exclude_patterns = [] + +# 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 + + +# -- 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 = 'default' + +# 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. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# 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 (within the static path) to use as 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 '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# 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 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 + +# Output file base name for HTML help builder. +htmlhelp_basename = 'murano-plugin-doc' + + +# -- 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': '', +} + +# 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 = [ + ('index', 'murano-plugin-test-plan.tex', u'Test Plan for Murano plugin for Fuel', + u'Mirantis Inc.', '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 = [] + +# If false, no module index is generated. +#latex_domain_indices = True + +# make latex stop printing blank pages between sections +# http://stackoverflow.com/questions/5422997/sphinx-docs-remove-blank-pages-from-generated-pdfs +latex_elements = { 'classoptions': ',openany,oneside', 'babel' : '\\usepackage[english]{babel}' } + + +# -- Options for manual page output --------------------------------------- + +# 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 = [ + ('index', 'Murano plugin', u'Test Plan for Murano Plugin for Fuel', + u'Mirantis Inc.', 'Murano plugin', 'Test Plan for Murano Plugin for Fuel', + '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 + +# Insert footnotes where they are defined instead of +# at the end. +pdf_inline_footnotes = True + + + +# -- Options for Epub output ---------------------------------------------- + +# The basename for the epub file. It defaults to the project name. +#epub_basename = u'fuel-plugin-openbook' + +# The HTML theme for the epub output. Since the default themes are not optimized +# for small screen space, using the same theme for HTML and epub output is +# usually not wise. This defaults to 'epub', a theme designed to save visual +# space. +#epub_theme = 'epub' + +# The language of the text. It defaults to the language option +# or en if the language is not set. +#epub_language = '' + +# The scheme of the identifier. Typical schemes are ISBN or URL. +#epub_scheme = '' + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +#epub_identifier = '' + +# A unique identification for the text. +#epub_uid = '' + +# A tuple containing the cover image and cover page html template filenames. +#epub_cover = () + +# A sequence of (type, uri, title) tuples for the guide element of content.opf. +#epub_guide = () + +# HTML files that should be inserted before the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_pre_files = [] + +# HTML files shat should be inserted after the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_post_files = [] + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + +# The depth of the table of contents in toc.ncx. +#epub_tocdepth = 3 + +# Allow duplicate toc entries. +#epub_tocdup = True + +# Choose between 'default' and 'includehidden'. +#epub_tocscope = 'default' + +# Fix unsupported image types using the PIL. +#epub_fix_images = False + +# Scale large images. +#epub_max_image_width = 0 + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#epub_show_urls = 'inline' + +# If false, no index is generated. +#epub_use_index = True diff --git a/docs/testing_documentation/test_plan/source/functional_testing.rst b/docs/testing_documentation/test_plan/source/functional_testing.rst new file mode 100644 index 0000000..7f1a710 --- /dev/null +++ b/docs/testing_documentation/test_plan/source/functional_testing.rst @@ -0,0 +1,77 @@ +.. _functional-testing: + +================== +Functional testing +================== + +Functional testing is obligatory for your plugin and highly depends on +the plugin's use case. + +Tempest +~~~~~~~ + +Case title should be short. Provide the description below. + +Test Case ID: tempest_run +------------------------- + +Steps to reproduce: + +#. Copy the plugin to the Fuel Master node (please refer to the User Guide + for more details). + +#. Install the plugin. + +#. Ensure that plugin is installed successfully with running + ``fuel plugins --list`` command in the Fuel CLI. + +#. Create an environment with enabled plugin in the Fuel Web UI. + +#. Add 3 nodes with Controller role and 1 node with Compute and another role. + +#. Finalize environment configuration (e.g. networking, nodes interfaces). + +#. Run network verification check. + +#. Deploy the cluster. + +#. Run OSTF. + +#. Install Tempest suite at the Fuel Master node according to the instructions + (found in `README.md `_ file). + +Expected result: + +* Plugin is installed successfully at the Fuel Master node and + the corresponding output appears in the CLI. + +* Cluster is created and network verification check is passed. + +* Plugin is enabled and configured in the Fuel Web UI. + +* OSTF tests (Health Checks) are passed. + +* Environment is deployed successfully. + +* All Tempest tests are passed successfully except for those expected to fail + (the latter are listed `here `_). + +Tool name +~~~~~~~~~ + +Test Case ID: *unique name* +--------------------------- + +Steps to reproduce: + +#. ... + +#. ..... + +Expected result: + +* ... + +* ... + +* ... \ No newline at end of file diff --git a/docs/testing_documentation/test_plan/source/index.rst b/docs/testing_documentation/test_plan/source/index.rst new file mode 100644 index 0000000..df168e2 --- /dev/null +++ b/docs/testing_documentation/test_plan/source/index.rst @@ -0,0 +1,17 @@ +========================================================== +Test Plan for Murano Plugin ver. <6-digit format> for Fuel +========================================================== + +.. toctree:: + :maxdepth: 3 + + intro + testing_strategy + compatibility_matrix + testing_tools + functional_testing + system_testing + update_upgrade + licenses + other + appendix \ No newline at end of file diff --git a/docs/testing_documentation/test_plan/source/intro.rst b/docs/testing_documentation/test_plan/source/intro.rst new file mode 100644 index 0000000..51a96cf --- /dev/null +++ b/docs/testing_documentation/test_plan/source/intro.rst @@ -0,0 +1,29 @@ +.. _tp-intro: + +====================== +Murano plugin overview +====================== + + + +.. seelso:: + + * `Murano as Fuel plugin specification `__ + +.. _limitations: + +Limitations +~~~~~~~~~~~ + + \ No newline at end of file diff --git a/docs/testing_documentation/test_plan/source/other.rst b/docs/testing_documentation/test_plan/source/other.rst new file mode 100644 index 0000000..26a112b --- /dev/null +++ b/docs/testing_documentation/test_plan/source/other.rst @@ -0,0 +1,53 @@ +.. _tp-other: + +===== +Other +===== + +Fuel plugin interoperability testing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Mirantis recommends that you test your plugin with any other plugins that +belong to different category. + +For instance, if you have SDN solution turned into the plugin, you could take +up the one that provides some application to run at the top of +Mirantis OpenStack. Below you can find the list of most commonly used plugin +combinations: + +* LDAP +* Contrail +* Stacklight +* Zabbix + +The latest versions of these plugins can be downloaded from the +`Fuel Plugin Catalog `_. +Please, be sure to reach out to `Partner Enablement team `_ +to get the latest information on the most frequently used plugin combination +to plan your testing procedure accordingly. + +Performance testing +~~~~~~~~~~~~~~~~~~~ + +Please note that all instructions on installing and configuring the tools are +provided in the Testing tools recommended by Mirantis section of this document. + +.. note:: + + Performance testing is supposed to be run on 20+ nodes (specifically, + when using Rally and Shaker). + +Networking performance +---------------------- + +Be sure to download and install Shaker. + +API benchmarking +---------------- + +Download and install Rally. + +Storage performance +-------------------- + +Download and install Fio or Wally. \ No newline at end of file diff --git a/docs/testing_documentation/test_plan/source/system_testing.rst b/docs/testing_documentation/test_plan/source/system_testing.rst new file mode 100644 index 0000000..4963ca2 --- /dev/null +++ b/docs/testing_documentation/test_plan/source/system_testing.rst @@ -0,0 +1,268 @@ +.. _system-test: + +============== +System testing +============== + +This section provides information on the test cases that are obligatory for +your plugin. + +These cases serve to make sure that your plugin does not break the Mirantis +OpenStack environments. + +Mirantis recommends that you use the HA environment configuration for +the testing purposes. At least 3 controllers must be configured to have +a reliable HA environment. This is the minimum requirement for quorum-based +clusters, such as Pacemaker and Galera. The controller cluster can include +more than 3 servers to increase the level of reliability. + +For more information about how Fuel deploys HA, see +`Multi-node with HA Deployment `_. + +.. note:: + + System testing includes OSTF as the tool recommended by Mirantis. + +.. _install_plugin_deploy_env: + +Install plugin and deploy environment +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Test Case ID: ``install_plugin_deploy_env`` + +Steps to reproduce: + +#. Copy the plugin to the Fuel Master node (refer to the Fuel User Guide + for more details). + +#. Install the plugin. + +#. In the Fuel CLI, run the ``fuel plugins --list`` command to verify that + the plugin has installed successfully. + +#. Create an environment with the enabled plugin in the Fuel Web UI. + +#. Add 3 nodes with Controller role and 1 node with Compute and another role. + +#. Finalize environment configuration (e.g. networking, nodes interfaces). + +#. Run network verification check. + +#. Deploy the cluster. + +#. Run OSTF. + +Expected result: + +* The plugin is installed successfully at the Fuel Master node and + the corresponding output appears in the CLI. + +* Cluster is created and network verification check is passed. + +* OSTF tests (Health Checks) are passed. + +* Environment is deployed successfully. + +.. _modify_env_with_plugin_controller: + +Modifying env with enabled plugin (removing/adding controller nodes) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Test Case ID: modify_env_with_plugin_controller + +Steps to reproduce: + +#. Copy the plugin to the Fuel Master node (please refer to the User Guide + for more details). + +#. Install the plugin. + +#. Ensure that the plugin is installed successfully using CLI with running + ``fuel plugins --list`` command in the Fuel CLI. + +#. Create an environment with enabled plugin in the Fuel Web UI. + +#. Add 3 nodes with Controller role and 1 node with Compute and another role. + +#. Finalize environment configuration (e.g. networking, nodes interfaces). + +#. Enable the plugin and configure it following the instructions from + the Plugin Guide. + +#  Run network verification check. + +#. Deploy the cluster. + +#. Run OSTF. + +#. Remove 1 node with Controller role (i.e. remove the primary Controller node + which should have the lowest ID, where plugin’s services are running + to ensure that all plugins resources are migrated to another Controller node). + +#. Re-deploy the cluster. + +#. Run OSTF. + +#. Add 1 new node with Controller role. + +#. Re-deploy the cluster. + +#. Run OSTF. + +Expected result: + +* Plugin is installed successfully at the Fuel Master node and the corresponding output appears in the CLI. + +* Cluster is created and network verification check is passed. + +* Plugin is enabled and configured in the Fuel Web UI. + +* OSTF tests (Health Checks) are passed. + +* Environment is deployed successfully. + +* When adding/removing Controller node (where plugin-related services are run): + + * All plugins resources are migrated to another Controller node + * The environment is redeployed successfully when adding/removing Controller node. + +.. _modify_env_with_plugin_compute: + +Modifying environment with enabled plugin (removing/adding Compute node) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Test Case ID: modify_env_with_plugin_compute + +Steps to reproduce: + +#. Copy the plugin to the Fuel Master node (please refer to the User Guide + for more details). + +#. Install the plugin. + +#. Ensure that the plugin is installed successfully using CLI with running + ``fuel plugins --list`` command in the Fuel CLI. + +#. Create an environment with enabled plugin in the Fuel Web UI. + +#. Add 3 nodes with Controller role and 1 node with Compute and another role. + +#. Finalize environment configuration (e.g. networking, nodes interfaces). + +#. Enable the plugin and configure it following the instructions from + the Plugin Guide. + +#. Run network verification check. + +#. Deploy the cluster. + +#. Run OSTF. + +#. Remove 1 node with Compute role + (i.e. remove the node, where plugin’s services are running to ensure that + all plugins resources are migrated to another Compute node). + +#. Re-deploy the cluster. + +#. Run OSTF. + +#. Add 1 new node with Compute role. + +#. Re-deploy the cluster. + +#. Run OSTF. + +Expected result: + +* Plugin is installed successfully at the Fuel Master node and the corresponding output appears in the CLI. + +* Cluster is created and network verification check is passed. + +* Plugin is enabled and configured in the Fuel Web UI. + +* OSTF tests (Health Checks) are passed. + +* Environment is deployed successfully. + +* When adding/removing Compute node (where plugin-related services are run): + + * All plugins resources are migrated to another Controller node + * The environment is redeployed successfully when adding/removing Compute node. + +.. _fuel-create-mirror: + +Fuel create mirror and update (setup) of core repos +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Test Case ID: fuel-create-mirror + +Steps to reproduce: + +#. Copy the plugin to the Fuel Master node (please refer to the User Guide + for more details). + +#. Install the plugin. + +#. Ensure that the plugin is installed successfully using CLI with running + ``fuel plugins --list`` command in the Fuel CLI. + +#. Create an environment with enabled plugin in the Fuel Web UI. + +#. Add 3 nodes with Controller role and 1 node with Compute and another role. + +#. Finalize environment configuration (e.g. networking, nodes interfaces). + +#. Enable the plugin and configure it following the instructions from + the Plugin Guide. + +#. Run network verification check. + +#. Deploy the cluster. + +#. Run OSTF. + +#. Log into controller/compute/storage/etc nodes via Fuel CLI and get PID of + services which were launched by plugin and store them. + +#. Launch the following command on the Fuel Master node:: + + fuel-createmirror -M + +#. Run the command below on the Fuel Master node:: + + fuel --env node --node-id \ + --tasks upload_core_repos + +#. Log into controller/compute/storage/etc nodes and check if plugin's + services are alive and if their PID are changed. + +#. Check if all nodes remain in ready status. + +#. Rerun OSTF. + +Expected result: + +* Plugin is installed successfully at the Fuel Master node and + the corresponding output appears in the CLI. + +* Cluster is created and network verification check is passed. + +* Plugin is enabled and configured in the Fuel Web UI. + +* OSTF tests (Health Checks) are passed. + +* Environment is deployed successfully. + +* When adding/removing Compute node (where plugin-related services are run): + + * All plugins resources are migrated to another Compute node + * The environment is re-deployed successfully when adding/removing Compute node. + +* Plugin's services shouldn't be restarted after corresponding task was executed: + + * If they are restarted as some exception, this information should be added + to plugin's User Guide. + +* Cluster (nodes) should remain in ready state. + +* OSTF test should be passed on rerun. \ No newline at end of file diff --git a/docs/testing_documentation/test_plan/source/testing_strategy.rst b/docs/testing_documentation/test_plan/source/testing_strategy.rst new file mode 100644 index 0000000..c1d4187 --- /dev/null +++ b/docs/testing_documentation/test_plan/source/testing_strategy.rst @@ -0,0 +1,46 @@ +.. _test-strategy: + +============= +Test strategy +============= + + + +.. _test-types: + +Types of tests included +~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. _test-types-excluded: + +Types of tests not included +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. _ac: + +Acceptance criteria +~~~~~~~~~~~~~~~~~~~ + + + +.. _test-env-infra: + +Test environment and infrastructure +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +.. note:: + + If you plugin is hardware-specific, provide instructions on accessing + your lab. \ No newline at end of file diff --git a/docs/testing_documentation/test_plan/source/testing_tools.rst b/docs/testing_documentation/test_plan/source/testing_tools.rst new file mode 100644 index 0000000..6ffaf3b --- /dev/null +++ b/docs/testing_documentation/test_plan/source/testing_tools.rst @@ -0,0 +1,79 @@ +.. _testing-tools: + +===================================== +Testing tools recommended by Mirantis +===================================== + +Mirantis recommends that you use a series of testing tools to make sure your +plugin meets both Mirantis and OpenStack Community testing standards. +For your convenience, the list below also provides the specific categories +of the plugin to apply these tools. + +Download URLs are listed in :ref:`appendix`. + +.. _ostf: + +OSTF +~~~~ + +Mirantis OpenStack has built-in system called Health Check for a quick +high-level verification of the cloud. Health Check will test the basic +operations of the OpenStack API, HA validation (check MySQL and RabbitMQ +clusters status) and other critical functions. + +OSTF (aka Health Checks) run automatically on deploying your cluster with +the plugin installed. This means, OSTF is obligatory step in all test cases. + +Suitable for any plugin. + +.. _shaker: + +Shaker +~~~~~ + +Shaker is used to test network performance. It’s the distributed data-plane +testing tool for OpenStack. + +Suitable for Networking/SDN plugins. + +.. _rally: + +Rally +~~~~~ + +Rally is used to test API functionality and performance. +Rally is a benchmarking tool developed by OpenStack community and is widely +used in OpenStack ecosystem. + +Suitable for any plugin. + +.. _tempest: + +Tempest +~~~~~~~ + +Tempest is an original test framework developed by community and aimed +to cover all possible API functionality available in Openstack components +or added by third-party modules/drivers/plugins. + +It contains hundreds of tests. + +Suitable for any plugin. + +.. _fio: + +Fio +~~~ + +Fio is used for disk performance measurement. + +Suitable for storage plugins. + +.. _wally: + +Wally +~~~~~ + +Wally enables testing framework for measuring block storage devices performance. + +Suitable for storage plugins. \ No newline at end of file diff --git a/docs/testing_documentation/test_report/Makefile b/docs/testing_documentation/test_report/Makefile new file mode 100644 index 0000000..9979e22 --- /dev/null +++ b/docs/testing_documentation/test_report/Makefile @@ -0,0 +1,216 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source + +.PHONY: help +help: + @echo "Please use \`make ' where 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 " 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)" + +.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/DetachRabbitMQpluginforFuel.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/DetachRabbitMQpluginforFuel.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/DetachRabbitMQpluginforFuel" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/DetachRabbitMQpluginforFuel" + @echo "# devhelp" + +.PHONY: epub +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +.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." + +.PHONY: pseudoxml +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/docs/testing_documentation/test_report/source/conf.py b/docs/testing_documentation/test_report/source/conf.py new file mode 100644 index 0000000..d1b7496 --- /dev/null +++ b/docs/testing_documentation/test_report/source/conf.py @@ -0,0 +1,328 @@ +# -*- coding: utf-8 -*- +# +# plugin name documentation build configuration file, created by +# sphinx-quickstart on Wed Oct 7 12:48:35 2015. +# +# 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. + +import sys +import os + +# 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. +#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.todo', +# 'sphinx.ext.coverage', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +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'Test Report for Murano plugin for Fuel' +copyright = u'2016, Mirantis 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 = '1.0' +# The full version, including alpha/beta/rc tags. +release = '1.0.0' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#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. +exclude_patterns = [] + +# 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 + + +# -- 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 = 'default' + +# 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. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# 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 (within the static path) to use as 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 '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# 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 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 + +# Output file base name for HTML help builder. +htmlhelp_basename = 'murano-plugin-doc' + + +# -- 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': '', +} + +# 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 = [ + ('index', 'murano-test-report.tex', u'Test Report for Murano plugin for Fuel', + u'Mirantis Inc.', '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 = [] + +# If false, no module index is generated. +#latex_domain_indices = True + +# make latex stop printing blank pages between sections +# http://stackoverflow.com/questions/5422997/sphinx-docs-remove-blank-pages-from-generated-pdfs +latex_elements = { 'classoptions': ',openany,oneside', 'babel' : '\\usepackage[english]{babel}' } + + + +# -- 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 = [ + ('index', 'Murano plugin', u'Test Report for Murano Plugin for Fuel', + u'Mirantis Inc.', 'Murano plugin', 'Test Report for Murano Plugin for Fuel', + '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 + +# Insert footnotes where they are defined instead of +# at the end. +pdf_inline_footnotes = True + + + +# -- Options for Epub output ---------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = u'Murano Plugin for Fuel' +epub_author = u'Mirantis Inc.' +epub_publisher = u'Mirantis Inc.' +epub_copyright = u'2016, Mirantis Inc.' + +# The basename for the epub file. It defaults to the project name. +#epub_basename = u'fuel-plugin-openbook' + +# The HTML theme for the epub output. Since the default themes are not optimized +# for small screen space, using the same theme for HTML and epub output is +# usually not wise. This defaults to 'epub', a theme designed to save visual +# space. +#epub_theme = 'epub' + +# The language of the text. It defaults to the language option +# or en if the language is not set. +#epub_language = '' + +# The scheme of the identifier. Typical schemes are ISBN or URL. +#epub_scheme = '' + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +#epub_identifier = '' + +# A unique identification for the text. +#epub_uid = '' + +# A tuple containing the cover image and cover page html template filenames. +#epub_cover = () + +# A sequence of (type, uri, title) tuples for the guide element of content.opf. +#epub_guide = () + +# HTML files that should be inserted before the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_pre_files = [] + +# HTML files shat should be inserted after the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_post_files = [] + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + +# The depth of the table of contents in toc.ncx. +#epub_tocdepth = 3 + +# Allow duplicate toc entries. +#epub_tocdup = True + +# Choose between 'default' and 'includehidden'. +#epub_tocscope = 'default' + +# Fix unsupported image types using the PIL. +#epub_fix_images = False + +# Scale large images. +#epub_max_image_width = 0 + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#epub_show_urls = 'inline' + +# If false, no index is generated. +#epub_use_index = True diff --git a/docs/testing_documentation/test_report/source/index.rst b/docs/testing_documentation/test_report/source/index.rst new file mode 100644 index 0000000..a9a3440 --- /dev/null +++ b/docs/testing_documentation/test_report/source/index.rst @@ -0,0 +1,9 @@ +============================================================ +Test Report for Murano Plugin ver. <6-digit format> for Fuel +============================================================ + +.. toctree:: + :maxdepth: 3 + + intro + testing-summary \ No newline at end of file diff --git a/docs/testing_documentation/test_report/source/intro.rst b/docs/testing_documentation/test_report/source/intro.rst new file mode 100644 index 0000000..6f6bbd8 --- /dev/null +++ b/docs/testing_documentation/test_report/source/intro.rst @@ -0,0 +1,35 @@ +================ +Test environment +================ + + + +Plugin's RPM +~~~~~~~~~~~~ + + + ++---------------------------+---------------------------------------+ +| Name | md5 checksum | ++---------------------------+---------------------------------------+ +| Fuel plugin RPM filename | | ++---------------------------+---------------------------------------+ + +Interoperability with other plugins +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Please provide the list of plugins used for interoperability testing +with your plugin. + ++---------------------------+---------------------------------------+ +| Name | md5 checksum | ++---------------------------+---------------------------------------+ +| Fuel plugin RPM filename | | ++---------------------------+---------------------------------------+ \ No newline at end of file diff --git a/docs/testing_documentation/test_report/source/testing-summary.rst b/docs/testing_documentation/test_report/source/testing-summary.rst new file mode 100644 index 0000000..869d22a --- /dev/null +++ b/docs/testing_documentation/test_report/source/testing-summary.rst @@ -0,0 +1,45 @@ +==================== +Test results summary +==================== + + + +Testing coverage +~~~~~~~~~~~~~~~~ + ++------------------------------------------+--------------------+ +| Issue | Total | ++------------------------------------------+--------------------+ +| Total quantity of executed test cases | | ++------------------------------------------+--------------------+ +| Total quantity of passed test cases | | ++------------------------------------------+--------------------+ +| Total quantity of failed test cases | | ++------------------------------------------+--------------------+ +| Total quantity of skipped test cases | | ++------------------------------------------+--------------------+ +| Total quantity of bugs found | | ++------------------------------------------+--------------------+ + +Detailed testing coverage +~~~~~~~~~~~~~~~~~~~~~~~~~ + ++----+------------+----------------+---------+---------+---------+--------------+ +| # | Category | Test Case ID | Passed | Failed | Skipped | Comment | ++----+------------+----------------+---------+---------+---------+--------------+ +| 1 | | | | | | | ++----+------------+----------------+---------+---------+---------+--------------+ + +Known issues +~~~~~~~~~~~~ + +`_. +Please consider reporting bugs in your own plugin-specific project in Launchpad. +If you bug is related to Fuel or Fuel Plugin Framework, please use +`Fuel project `_ +for submitting any known issue reports.> \ No newline at end of file