Create scenario tests for load balancers
This patch implements the tempest plugin for
for testing load balancer creation in Octavia.
Co-Authored-By: Jude Cross <jcross@godaddy.com>
Co-Authored-By: Lingxian Kong <anlin.kong@gmail.com>
Depends-On: https://review.openstack.org/557856
Change-Id: I57064f8e0834efba8859a780394a1c69851cc917
diff --git a/doc/requirements.txt b/doc/requirements.txt
new file mode 100644
index 0000000..1ade022
--- /dev/null
+++ b/doc/requirements.txt
@@ -0,0 +1,9 @@
+# The order of packages is significant, because pip processes them in the order
+# of appearance. Changing the order has an impact on the overall integration
+# process, which may cause wedges in the gate later.
+
+sphinx>=1.6.2,!=1.6.6,!=1.6.7 # BSD
+openstackdocstheme>=1.18.1 # Apache-2.0
+
+# releasenotes
+reno>=2.5.0 # Apache-2.0
diff --git a/doc/source/conf.py b/doc/source/conf.py
index c99e0b6..1f18a18 100755
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -15,20 +15,27 @@
import os
import sys
+import openstackdocstheme
+from sphinx import apidoc
+
sys.path.insert(0, os.path.abspath('../..'))
+sys.path.insert(0, os.path.abspath('.'))
+
# -- General configuration ----------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [
'sphinx.ext.autodoc',
- #'sphinx.ext.intersphinx',
- 'oslosphinx'
+ 'sphinx.ext.viewcode',
+ 'openstackdocstheme',
+ 'oslo_config.sphinxext'
]
# autodoc generation is a bit aggressive and a nuisance when doing heavy
# text edit cycles.
# execute "export SPHINX_DEBUG=1" in your terminal to disable
+templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
@@ -45,11 +52,14 @@
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
-add_module_names = True
+add_module_names = 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 = ['octavia_tempest_plugin.']
+
# -- Options for HTML output --------------------------------------------------
# The theme to use for HTML and HTML Help pages. Major themes that come with
@@ -58,9 +68,19 @@
# html_theme = '_theme'
# html_static_path = ['static']
+html_theme = 'openstackdocs'
+
+html_last_updated_fmt = '%Y-%m-%d %H:%M'
+
# Output file base name for HTML help builder.
htmlhelp_basename = '%sdoc' % project
+# If false, no module index is generated.
+html_domain_indices = True
+
+# If false, no index is generated.
+html_use_index = True
+
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass
# [howto/manual]).
@@ -73,3 +93,27 @@
# Example configuration for intersphinx: refer to the Python standard library.
#intersphinx_mapping = {'http://docs.python.org/': None}
+
+repository_name = 'openstack/octavia-tempest-plugin'
+bug_project = '910'
+bug_tag = 'docs'
+
+# TODO(mordred) We should extract this into a sphinx plugin
+def run_apidoc(_):
+ cur_dir = os.path.abspath(os.path.dirname(__file__))
+ out_dir = os.path.join(cur_dir, '_build', 'modules')
+ module = os.path.join(cur_dir, '..', '..', 'octavia_tempest_plugin')
+ # Keep the order of arguments same as the sphinx-apidoc help, otherwise it
+ # would cause unexpected errors:
+ # sphinx-apidoc [options] -o <output_path> <module_path>
+ # [exclude_pattern, ...]
+ apidoc.main([
+ '--force',
+ '-o',
+ out_dir,
+ module,
+ ])
+
+
+def setup(app):
+ app.connect('builder-inited', run_apidoc)
diff --git a/doc/source/configref.rst b/doc/source/configref.rst
new file mode 100644
index 0000000..f9db042
--- /dev/null
+++ b/doc/source/configref.rst
@@ -0,0 +1,26 @@
+..
+ Copyright 2018 Rackspace US Inc.
+
+ Licensed under the Apache License, Version 2.0 (the "License"); you may
+ not use this file except in compliance with the License. You may obtain
+ a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ License for the specific language governing permissions and limitations
+ under the License.
+
+Octavia Tempest Plugin Configuration Options
+============================================
+
+.. contents:: Table of Contents
+ :depth: 2
+
+.. note:: Not all of these options are used by the Octavia tempest tests.
+
+.. show-options::
+
+ tempest.config
diff --git a/doc/source/index.rst b/doc/source/index.rst
index fad3a36..494a0b6 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -14,11 +14,16 @@
readme
installation
contributing
+ configref
Indices and tables
==================
+.. toctree::
+ :hidden:
+
+ _build/modules/modules
+
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
-