From 2e5dcb1f367acf89db56f91f6e6fd624ad055198 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Wed, 5 Apr 2017 12:27:06 -0400 Subject: [PATCH 01/15] docs: initial take on doc structure Signed-off-by: Alfredo Deza (cherry picked from commit 1a181fff4cb6faae8ee168f6705b771417583ee5) --- docs/Makefile | 20 ++++++ docs/source/conf.py | 156 ++++++++++++++++++++++++++++++++++++++++ docs/source/index.rst | 31 ++++++++ docs/source/testing.rst | 33 +++++++++ 4 files changed, 240 insertions(+) create mode 100644 docs/Makefile create mode 100644 docs/source/conf.py create mode 100644 docs/source/index.rst create mode 100644 docs/source/testing.rst diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 000000000..4d0989cb4 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SPHINXPROJ = ceph-ansible +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 000000000..5615f851f --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,156 @@ +# -*- coding: utf-8 -*- +# +# ceph-ansible documentation build configuration file, created by +# sphinx-quickstart on Wed Apr 5 11:55:38 2017. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'ceph-ansible' +copyright = u'2017, Ceph team and individual contributors' +author = u'Ceph team and individual contributors' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = u'2.2.0' +# The full version, including alpha/beta/rc tags. +release = u'2.2.0' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This patterns also effect to html_static_path and html_extra_path +exclude_patterns = [] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = False + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'alabaster' + +# 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 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'] + + +# -- Options for HTMLHelp output ------------------------------------------ + +# Output file base name for HTML help builder. +htmlhelp_basename = 'ceph-ansibledoc' + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'ceph-ansible.tex', u'ceph-ansible Documentation', + u'Ceph team and individual contributors', 'manual'), +] + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'ceph-ansible', u'ceph-ansible Documentation', + [author], 1) +] + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'ceph-ansible', u'ceph-ansible Documentation', + author, 'ceph-ansible', 'One line description of project.', + 'Miscellaneous'), +] + + + diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 000000000..ba309a017 --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,31 @@ +.. ceph-ansible documentation master file, created by + sphinx-quickstart on Wed Apr 5 11:55:38 2017. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +ceph-ansible +============ +Ansible playbooks for Ceph, the distributed filesystem. + + +Testing +======= + +* :doc:`Testing with ceph-ansible ` +* :doc:`Glossary ` + + +OSDs +==== + +MONs +==== + +RGW +=== + +Configuration +============= + +Docker +====== diff --git a/docs/source/testing.rst b/docs/source/testing.rst new file mode 100644 index 000000000..93ddfc3ae --- /dev/null +++ b/docs/source/testing.rst @@ -0,0 +1,33 @@ + +.. _testing: + +Testing +======= +ceph-ansible has the ability to test different scenarios (collocated journals +or dmcrypt OSDs for example) in an isolated, repeatable, and easy way. + +These tests can run locally with VirtualBox or via libvirt if available, which +removes the need to solely rely on a CI system like Jenkins to verify +a behavior. + +* **Getting started:** + :doc:`Running a Test Scenario ` | + :ref:`dependencies` + +* **Configuration and structure:** + :ref:`layout` | + :ref:`test_files` | + :ref:`scenario_files` | + :ref:`scenario_wiring` + +* **Adding or modifying tests:** + :ref:`test_conventions` | + :ref:`testinfra` | + +* **Adding or modifying a scenario:** + :ref:`scenario_conventions` | + :ref:`scenario_environment_configuration` | + :ref:`scneario_ansible_configuration` | + +* **Custom/development repositories and packages:** + :ref:`tox_environment_variables` | From 9844dce09ca13f4c41e17d8898b75a90ba149c07 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Wed, 5 Apr 2017 12:27:25 -0400 Subject: [PATCH 02/15] docs: ignore build contents from git Signed-off-by: Alfredo Deza (cherry picked from commit 1ad331b026ae52de02033d44cbaac947c78670bd) --- docs/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/.gitignore diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 000000000..378eac25d --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1 @@ +build From 7dd090ef043f6636c03f21c65cba76f6aa076380 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Thu, 6 Apr 2017 13:10:54 -0400 Subject: [PATCH 03/15] docs: the master doc is the glossary file Signed-off-by: Alfredo Deza (cherry picked from commit 20210c35de517b6c012997f8896758b5c398219a) --- docs/source/conf.py | 2 +- docs/source/{testing.rst => testing/index.rst} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename docs/source/{testing.rst => testing/index.rst} (100%) diff --git a/docs/source/conf.py b/docs/source/conf.py index 5615f851f..ffefed115 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -42,7 +42,7 @@ templates_path = ['_templates'] source_suffix = '.rst' # The master toctree document. -master_doc = 'index' +master_doc = 'glossary' # General information about the project. project = u'ceph-ansible' diff --git a/docs/source/testing.rst b/docs/source/testing/index.rst similarity index 100% rename from docs/source/testing.rst rename to docs/source/testing/index.rst From ba315926f49d7d859b09c68d2e236c14d0a731a1 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Thu, 6 Apr 2017 13:14:45 -0400 Subject: [PATCH 04/15] docs create a separate glossary file Signed-off-by: Alfredo Deza (cherry picked from commit 0d0e427a6c88395036164be2d09bc62eb5dd816c) --- docs/source/glossary.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 docs/source/glossary.rst diff --git a/docs/source/glossary.rst b/docs/source/glossary.rst new file mode 100644 index 000000000..9f240ddbb --- /dev/null +++ b/docs/source/glossary.rst @@ -0,0 +1,11 @@ + +Glossary +======== + +.. toctree:: + :maxdepth: 3 + :caption: Contents: + + testing/contents + index + From 19e7f55cca36ebac40ae1ad3dc7a06597b2ea09b Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Thu, 6 Apr 2017 13:17:35 -0400 Subject: [PATCH 05/15] docs: initial structure for tests docs Signed-off-by: Alfredo Deza (cherry picked from commit 1f3d78e6c268329e9b161b4b9c70c33c15c42cc4) --- docs/source/testing/contents.rst | 15 +++ docs/source/testing/development.rst | 5 + docs/source/testing/layout.rst | 30 ++++++ docs/source/testing/modifying.rst | 5 + docs/source/testing/running.rst | 147 ++++++++++++++++++++++++++++ docs/source/testing/scenarios.rst | 5 + 6 files changed, 207 insertions(+) create mode 100644 docs/source/testing/contents.rst create mode 100644 docs/source/testing/development.rst create mode 100644 docs/source/testing/layout.rst create mode 100644 docs/source/testing/modifying.rst create mode 100644 docs/source/testing/running.rst create mode 100644 docs/source/testing/scenarios.rst diff --git a/docs/source/testing/contents.rst b/docs/source/testing/contents.rst new file mode 100644 index 000000000..1441ef8b0 --- /dev/null +++ b/docs/source/testing/contents.rst @@ -0,0 +1,15 @@ + +Glossary +======== + +.. toctree:: + :maxdepth: 1 + + index + running.rst + development.rst + scenarios.rst + modifying.rst + layout.rst + + diff --git a/docs/source/testing/development.rst b/docs/source/testing/development.rst new file mode 100644 index 000000000..f17031e4f --- /dev/null +++ b/docs/source/testing/development.rst @@ -0,0 +1,5 @@ + +.. development: + +ceph-ansible testing for development +==================================== diff --git a/docs/source/testing/layout.rst b/docs/source/testing/layout.rst new file mode 100644 index 000000000..9f196a637 --- /dev/null +++ b/docs/source/testing/layout.rst @@ -0,0 +1,30 @@ +.. _layout: + +Layout and conventions +---------------------- +Test files and directories follow a few conventions, which makes it easy to +create (or expect) certain interactions between tests and scenarios. + +All tests are in the ``tests`` directory. Scenarios are defined in +``tests/functional/`` and use the following convention for directory +structure:: + + tests/functional//// + +For example: ``tests/functional/centos/7/journal-collocation`` + +Within a test scenario there are a few files that define what that specific +scenario needs for the tests, like how many OSD nodes or MON nodes. Tls + +At the very least, a scenario will need these files: + +* ``Vagrantfile``: must be symlinked from the root directory of the project +* ``hosts``: An Ansible hosts file that defines the machines part of the + cluster +* ``group_vars/all``: if any modifications are needed for deployment, this + would override them. Additionally, further customizations can be done. For + example, for OSDs that would mean adding ``group_vars/osds`` +* ``vagrant_variables.yml``: Defines the actual environment for the test, where + machines, networks, disks, linux distro/version, can be defined. + + diff --git a/docs/source/testing/modifying.rst b/docs/source/testing/modifying.rst new file mode 100644 index 000000000..312553587 --- /dev/null +++ b/docs/source/testing/modifying.rst @@ -0,0 +1,5 @@ + +.. _modifying: + +Modifying (or adding) tests +=========================== diff --git a/docs/source/testing/running.rst b/docs/source/testing/running.rst new file mode 100644 index 000000000..d18bc722a --- /dev/null +++ b/docs/source/testing/running.rst @@ -0,0 +1,147 @@ + +.. _running_tests: + +Running Tests +============= +Although tests run continuously in CI, a lot of effort was put into making it +easy to run in any environment, as long as a couple of requirements are met. + + +.. _dependencies: + +Dependencies +------------ +There are some Python dependencies, which are listed in a ``requirements.txt`` +file within the ``tests/`` directory. These are meant to be installed using +Python install tools (pip in this case):: + + pip install -r tests/requirements.txt + +For virtualization, either libvirt or VirtualBox is needed (there is native +support from the harness for both). This makes the test harness even more +flexible as most platforms will be covered by either VirtualBox or libvirt. + + +.. _running_a_scenario: + +Running a scenario +------------------ +Tests are driven by ``tox``, a command line tool to run a matrix of tests defined in +a configuration file (``tox.ini`` in this case at the root of the project). + +For a thorough description of a scenario see :ref:`test_scenarios`. + +To run a single scenario, make sure it is available (should be defined from +``tox.ini``) by listing them:: + + tox -l + +In this example, we will use the ``kraken-ansible2.2-xenial_cluster`` one. The +harness defaults to ``VirtualBox`` as the backend, so if you have that +installed in your system then this command should just work:: + + tox -e kraken-ansible2.2-xenial_cluster + +And for libvirt it would be:: + + tox -e kraken-ansible2.2-xenial_cluster -- --provider=libvirt + + +.. warning:: Depending on the type of scenario and resources available, running + these tests locally in a personal computer can be very resource intensive. + +.. note:: Most test runs take between 20 and 40 minutes depending on system + resources + +The command should bring up the machines needed for the test, provision them +with ceph-ansible, run the tests, and tear the whole environment down at the +end. + + +The output would look something similar to this trimmed version:: + + kraken-ansible2.2-xenial_cluster create: /Users/alfredo/python/upstream/ceph-ansible/.tox/kraken-ansible2.2-xenial_cluster + kraken-ansible2.2-xenial_cluster installdeps: ansible==2.2.2, -r/Users/alfredo/python/upstream/ceph-ansible/tests/requirements.txt + kraken-ansible2.2-xenial_cluster runtests: commands[0] | vagrant up --no-provision --provider=virtualbox + Bringing machine 'client0' up with 'virtualbox' provider... + Bringing machine 'rgw0' up with 'virtualbox' provider... + Bringing machine 'mds0' up with 'virtualbox' provider... + Bringing machine 'mon0' up with 'virtualbox' provider... + Bringing machine 'mon1' up with 'virtualbox' provider... + Bringing machine 'mon2' up with 'virtualbox' provider... + Bringing machine 'osd0' up with 'virtualbox' provider... + ... + + +After all the nodes are up, ceph-ansible will provision them, and run the +playbook(s):: + + ... + PLAY RECAP ********************************************************************* + client0 : ok=4 changed=0 unreachable=0 failed=0 + mds0 : ok=4 changed=0 unreachable=0 failed=0 + mon0 : ok=4 changed=0 unreachable=0 failed=0 + mon1 : ok=4 changed=0 unreachable=0 failed=0 + mon2 : ok=4 changed=0 unreachable=0 failed=0 + osd0 : ok=4 changed=0 unreachable=0 failed=0 + rgw0 : ok=4 changed=0 unreachable=0 failed=0 + ... + + +Once the whole environment is all running the tests will be sent out to the +hosts, with output similar to this:: + + kraken-ansible2.2-xenial_cluster runtests: commands[4] | testinfra -n 4 --sudo -v --connection=ansible --ansible-inventory=/Users/alfredo/python/upstream/ceph-ansible/tests/functional/ubuntu/16.04/cluster/hosts /Users/alfredo/python/upstream/ceph-ansible/tests/functional/tests + ============================ test session starts =========================== + platform darwin -- Python 2.7.8, pytest-3.0.7, py-1.4.33, pluggy-0.4.0 -- /Users/alfredo/python/upstream/ceph-ansible/.tox/kraken-ansible2.2-xenial_cluster/bin/python + cachedir: ../../../../.cache + rootdir: /Users/alfredo/python/upstream/ceph-ansible/tests, inifile: pytest.ini + plugins: testinfra-1.5.4, xdist-1.15.0 + [gw0] darwin Python 2.7.8 cwd: /Users/alfredo/python/upstream/ceph-ansible/tests/functional/ubuntu/16.04/cluster + [gw1] darwin Python 2.7.8 cwd: /Users/alfredo/python/upstream/ceph-ansible/tests/functional/ubuntu/16.04/cluster + [gw2] darwin Python 2.7.8 cwd: /Users/alfredo/python/upstream/ceph-ansible/tests/functional/ubuntu/16.04/cluster + [gw3] darwin Python 2.7.8 cwd: /Users/alfredo/python/upstream/ceph-ansible/tests/functional/ubuntu/16.04/cluster + [gw0] Python 2.7.8 (v2.7.8:ee879c0ffa11, Jun 29 2014, 21:07:35) -- [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] + [gw1] Python 2.7.8 (v2.7.8:ee879c0ffa11, Jun 29 2014, 21:07:35) -- [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] + [gw2] Python 2.7.8 (v2.7.8:ee879c0ffa11, Jun 29 2014, 21:07:35) -- [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] + [gw3] Python 2.7.8 (v2.7.8:ee879c0ffa11, Jun 29 2014, 21:07:35) -- [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] + gw0 [154] / gw1 [154] / gw2 [154] / gw3 [154] + scheduling tests via LoadScheduling + + ../../../tests/test_install.py::TestInstall::test_ceph_dir_exists[ansible:/mon0] + ../../../tests/test_install.py::TestInstall::test_ceph_dir_is_a_directory[ansible:/mon0] + ../../../tests/test_install.py::TestInstall::test_ceph_conf_is_a_file[ansible:/mon0] + ../../../tests/test_install.py::TestInstall::test_ceph_dir_is_a_directory[ansible:/mon1] + [gw2] PASSED ../../../tests/test_install.py::TestCephConf::test_ceph_config_has_mon_host_line[ansible:/mon0] + ../../../tests/test_install.py::TestInstall::test_ceph_conf_exists[ansible:/mon1] + [gw3] PASSED ../../../tests/test_install.py::TestCephConf::test_mon_host_line_has_correct_value[ansible:/mon0] + ../../../tests/test_install.py::TestInstall::test_ceph_conf_is_a_file[ansible:/mon1] + [gw1] PASSED ../../../tests/test_install.py::TestInstall::test_ceph_command_exists[ansible:/mon1] + ../../../tests/test_install.py::TestCephConf::test_mon_host_line_has_correct_value[ansible:/mon1] + ... + +Finally the whole environment gets torn down:: + + kraken-ansible2.2-xenial_cluster runtests: commands[5] | vagrant destroy --force + ==> osd0: Forcing shutdown of VM... + ==> osd0: Destroying VM and associated drives... + ==> mon2: Forcing shutdown of VM... + ==> mon2: Destroying VM and associated drives... + ==> mon1: Forcing shutdown of VM... + ==> mon1: Destroying VM and associated drives... + ==> mon0: Forcing shutdown of VM... + ==> mon0: Destroying VM and associated drives... + ==> mds0: Forcing shutdown of VM... + ==> mds0: Destroying VM and associated drives... + ==> rgw0: Forcing shutdown of VM... + ==> rgw0: Destroying VM and associated drives... + ==> client0: Forcing shutdown of VM... + ==> client0: Destroying VM and associated drives... + + +And a brief summary of the scenario(s) that ran is displayed:: + + ________________________________________________ summary _________________________________________________ + kraken-ansible2.2-xenial_cluster: commands succeeded + congratulations :) + diff --git a/docs/source/testing/scenarios.rst b/docs/source/testing/scenarios.rst new file mode 100644 index 000000000..031e1abf1 --- /dev/null +++ b/docs/source/testing/scenarios.rst @@ -0,0 +1,5 @@ + +.. _test_scenarios: + +Test Scenarios +============== From 20b9b02fa985f8bfab188c1f036eaf73058c807b Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Fri, 7 Apr 2017 11:41:59 -0400 Subject: [PATCH 06/15] docs: create a separate docs tox.ini Signed-off-by: Alfredo Deza (cherry picked from commit 14d46cb2be8edb93f2764ca18e35e414cf4e07ec) --- docs/tox.ini | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 docs/tox.ini diff --git a/docs/tox.ini b/docs/tox.ini new file mode 100644 index 000000000..028c343f6 --- /dev/null +++ b/docs/tox.ini @@ -0,0 +1,10 @@ +[tox] +envlist = docs +skipsdist = True + +[testenv:docs] +basepython=python +changedir=source +deps=sphinx +commands= + sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html From f0446300606eed4a59378719d5ba947fbe64478b Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Fri, 7 Apr 2017 12:05:55 -0400 Subject: [PATCH 07/15] docs: normalize the glossary vs. contents files Signed-off-by: Alfredo Deza (cherry picked from commit a5b2ede0fff71df42f44ca4747b22f2cfb007359) --- docs/source/testing/{contents.rst => glossary.rst} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/source/testing/{contents.rst => glossary.rst} (100%) diff --git a/docs/source/testing/contents.rst b/docs/source/testing/glossary.rst similarity index 100% rename from docs/source/testing/contents.rst rename to docs/source/testing/glossary.rst From 78567b161223e1c4b9f9c43276093e186902bc65 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Fri, 7 Apr 2017 12:06:16 -0400 Subject: [PATCH 08/15] docs: add the testing glossary in the toctree Signed-off-by: Alfredo Deza (cherry picked from commit ae6349fd2187361cecc807fc7b9a8aa5fe023a16) --- docs/source/glossary.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/glossary.rst b/docs/source/glossary.rst index 9f240ddbb..ce695e949 100644 --- a/docs/source/glossary.rst +++ b/docs/source/glossary.rst @@ -6,6 +6,6 @@ Glossary :maxdepth: 3 :caption: Contents: - testing/contents + testing/glossary index From 1c3ce00a2c94d873d49d4dd5a89bb08cc1c01eaf Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Fri, 7 Apr 2017 12:06:36 -0400 Subject: [PATCH 09/15] docs: use glossary for the :doc: directive Signed-off-by: Alfredo Deza (cherry picked from commit 41815f6b538f97a139eb6ce14dec2b4e117874aa) --- docs/source/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index ba309a017..4239ead35 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -12,7 +12,7 @@ Testing ======= * :doc:`Testing with ceph-ansible ` -* :doc:`Glossary ` +* :doc:`Glossary ` OSDs From f94ead2fe312b6c15484856c9ed31564eddfc6ea Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Fri, 7 Apr 2017 12:07:26 -0400 Subject: [PATCH 10/15] docs: create a separate tox doc file Signed-off-by: Alfredo Deza (cherry picked from commit cb504f6d88b0259ec8a4b6cad8bc9ed9a25c2d14) --- docs/source/testing/tox.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 docs/source/testing/tox.rst diff --git a/docs/source/testing/tox.rst b/docs/source/testing/tox.rst new file mode 100644 index 000000000..4e398b20f --- /dev/null +++ b/docs/source/testing/tox.rst @@ -0,0 +1,22 @@ +.. _tox: + +``tox`` +======= + + +.. _tox_environment_variables: + +Environment variables +--------------------- + + +.. _tox_sections: + +Sections +-------- + + +.. _tox_environments: + +Modifying or Adding environments +-------------------------------- From f1338026a592fff3b35d0ff862d518ca5b36ad7f Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Fri, 7 Apr 2017 12:07:42 -0400 Subject: [PATCH 11/15] docs: create a tests doc file Signed-off-by: Alfredo Deza (cherry picked from commit f895b4c376739aa9b2b69c0b1239137f93bb1f7f) --- docs/source/testing/tests.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 docs/source/testing/tests.rst diff --git a/docs/source/testing/tests.rst b/docs/source/testing/tests.rst new file mode 100644 index 000000000..854038ccc --- /dev/null +++ b/docs/source/testing/tests.rst @@ -0,0 +1,10 @@ +.. _tests: + +Tests +===== + +.. _test_files: + +Test Files +---------- + From 654ba824786a2df0fe4738277dfd168c5299d1c2 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Fri, 7 Apr 2017 12:17:13 -0400 Subject: [PATCH 12/15] docs: include the tests and tox files in the glossary Signed-off-by: Alfredo Deza (cherry picked from commit 3cde692482288c35f6b158ce058705d4f1777f50) --- docs/source/testing/glossary.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/testing/glossary.rst b/docs/source/testing/glossary.rst index 1441ef8b0..b3f2de8aa 100644 --- a/docs/source/testing/glossary.rst +++ b/docs/source/testing/glossary.rst @@ -11,5 +11,5 @@ Glossary scenarios.rst modifying.rst layout.rst - - + tests.rst + tox.rst From 2fa7f7f35e9071afcd6d24790d08e6d2688a864a Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Fri, 7 Apr 2017 12:17:31 -0400 Subject: [PATCH 13/15] docs: fix typo in testing/index.rst Signed-off-by: Alfredo Deza (cherry picked from commit 7eb26d1b002072c2d33d662b15c483dc7867d167) --- docs/source/testing/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/testing/index.rst b/docs/source/testing/index.rst index 93ddfc3ae..cb5d5d1bd 100644 --- a/docs/source/testing/index.rst +++ b/docs/source/testing/index.rst @@ -27,7 +27,7 @@ a behavior. * **Adding or modifying a scenario:** :ref:`scenario_conventions` | :ref:`scenario_environment_configuration` | - :ref:`scneario_ansible_configuration` | + :ref:`scenario_ansible_configuration` | * **Custom/development repositories and packages:** :ref:`tox_environment_variables` | From 4b63ca563857ebbbca2bbc7ead2a922273daf767 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Fri, 7 Apr 2017 12:17:53 -0400 Subject: [PATCH 14/15] docs: include testing conventions and testinfra in layout.rst Signed-off-by: Alfredo Deza (cherry picked from commit c768f342192aae017e5969b4a4776cc287008874) --- docs/source/testing/layout.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/source/testing/layout.rst b/docs/source/testing/layout.rst index 9f196a637..7f7d7874d 100644 --- a/docs/source/testing/layout.rst +++ b/docs/source/testing/layout.rst @@ -28,3 +28,13 @@ At the very least, a scenario will need these files: machines, networks, disks, linux distro/version, can be defined. +.. _test_conventions: + +Conventions +----------- + + +.. _testinfra: + +``testinfra`` +------------- From 5b7e47cf9dfcbbcafb9b524952aba99aad173f4f Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Fri, 7 Apr 2017 12:18:15 -0400 Subject: [PATCH 15/15] docs: add missing sections/refs in scenarios.rst Signed-off-by: Alfredo Deza (cherry picked from commit e8ae5c6aaf8f4f111bc5ceb41997086a19d7547a) --- docs/source/testing/scenarios.rst | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/source/testing/scenarios.rst b/docs/source/testing/scenarios.rst index 031e1abf1..b65029a9a 100644 --- a/docs/source/testing/scenarios.rst +++ b/docs/source/testing/scenarios.rst @@ -3,3 +3,28 @@ Test Scenarios ============== + +.. _scenario_files: + +Scenario Files +-------------- + +.. _scenario_wiring: + +Scenario Wiring +--------------- + +.. _scenario_conventions: + +Conventions +----------- + +.. _scenario_environment_configuration: + +Environment configuration +------------------------- + +.. _scenario_ansible_configuration: + +Ansible configuration +---------------------