diff options
56 files changed, 272 insertions, 3 deletions
diff --git a/.gitmodules b/.gitmodules index 7bf4296c7..846ab2455 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,6 +8,11 @@ url = ../armband branch = . ignore = dirty +[submodule "docs/submodules/auto"] + path = docs/submodules/auto + url = ../auto + branch = . + ignore = dirty [submodule "docs/submodules/bottlenecks"] path = docs/submodules/bottlenecks url = ../bottlenecks @@ -162,6 +167,11 @@ url = ../storperf branch = . ignore = dirty +[submodule "docs/submodules/stor4nfv"] + path = docs/submodules/stor4nfv + url = ../stor4nfv + branch = . + ignore = dirty [submodule "docs/submodules/ves"] path = docs/submodules/ves url = ../ves @@ -232,3 +242,11 @@ url = https://gerrit.opnfv.org/gerrit/calipso branch = . ignore = dirty +[submodule "docs/submodules/stor4nfv"] + path = docs/submodules/stor4nfv + url = https://gerrit.opnfv.org/gerrit/stor4nfv +[submodule "docs/submodules/clover"] + path = docs/submodules/clover + url = https://gerrit.opnfv.org/gerrit/clover + branch = . + ignore = dirty diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 000000000..fe1ff808a --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,23 @@ +FROM ubuntu:14.04 + +MAINTAINER Julien Zhang <julienjut@gmail.com> +LABEL version="0.1" Description="OPNFVDocs Docker container" + +ARG BRANCH=master +ARG build=html +ENV BRANCH=$BRANCH +ENV build=$build + +# Dependencies for sphinx, pip and git +RUN apt-get update && apt-get install -y \ + python-pip python-sphinx git + +RUN git clone --depth=1 --branch=$BRANCH https://git.opnfv.org/opnfvdocs /opnfvdocs +RUN pip install -r /opnfvdocs/etc/requirements.txt +RUN pip install virtualenv +RUN rm -rf /var/lib/apt-lists/* /root/.cache/pip /opnfvdocs/.git + +ADD ./entrypoint.sh /sbin/entrypoint.sh +RUN chmod 755 /sbin/entrypoint.sh + +ENTRYPOINT /sbin/entrypoint.sh diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 000000000..c7b119c1b --- /dev/null +++ b/docker/README.md @@ -0,0 +1,28 @@ +# OPNFVDoc tool readme +------------------------ + +This docker container is used for building OPNFV docs from **rst** format files for each feature +project. The output is just like contents in [opnfvdocs](http://docs.opnfv.org/) website. You can +review the contents through web browser. Currently *PDF* output is not good enough and it will make +the container image size 3x larger. PDF output format is not supported in this release. + +# Usage + +* The default build is *html*, you can run: +``` +docker run -it --rm -v ./some-opnfv-repo:/docs -v /tmp/output:/output \ + opnfv/opnfvdocs +``` + +* Then if you want to build epub, etc you could pass it as an arg: +``` +docker run -it --rm -v ./some-opnfv-repo:/docs -v /tmp/output:/output \ + -e build=epub opnfv/opnfvdocs +``` + +## env parameters +* build: [html | singlehtml | epub] + +## two directory parameters +* /docs: **mandatory**, used for source files +* /output: **optional**, used for storing the built result diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh new file mode 100644 index 000000000..6982bffa2 --- /dev/null +++ b/docker/entrypoint.sh @@ -0,0 +1,28 @@ +#!/bin/bash -x + +if [ ! -d /docs ]; then + echo source path /docs not exist and no repo for building + exit 1 +fi + +cd /docs +for item in conf.py _templates _static +do + cp -r /opnfvdocs/docs/$item ./ +done + +# use the same procedure as verify Job +# [TODO]create a common macro can be consumed in Docker and Jenkins +sudo pip install virtualenv +virtualenv $WORKSPACE/venv +. $WORKSPACE/venv/bin/activate +pip install --upgrade pip +pip freeze +pip install tox +tox -edocs + +# copy the building result to host +if [ -d /output ]; then + cp -R ./docs/_build /output +fi + diff --git a/docs/index.rst b/docs/index.rst index b12470bfb..191153f97 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -16,6 +16,7 @@ about network transformation. :maxdepth: 1 release/overview + how-to-use-docs/getting.started release/installation.introduction release/userguide.introduction release/release-notes diff --git a/docs/release/release-notes.rst b/docs/release/release-notes.rst index 3fe891a59..8aad8a4d6 100644 --- a/docs/release/release-notes.rst +++ b/docs/release/release-notes.rst @@ -16,6 +16,8 @@ Project release notes: :ref:`Apex Release Notes <apex-releasenotes>` +:ref:`Auto Release Notes <auto-releasenotes>` + :ref:`Barometer Release Notes <barometer-releasenotes>` :ref:`Bottlenecks Release Notes <bottlenecks-releasenotes>` diff --git a/docs/release/userguide.introduction.rst b/docs/release/userguide.introduction.rst index 02267ea80..bd448a85a 100644 --- a/docs/release/userguide.introduction.rst +++ b/docs/release/userguide.introduction.rst @@ -76,6 +76,7 @@ Feature Configuration Guides Feature User Guides =================== +- :ref:`Auto User Guide <auto-userguide>` - :ref:`Barometer User Guide <barometer-userguide>` - :ref:`Doctor User Guide <doctor-userguide>` - :ref:`Domino User Guide <domino-userguide>` diff --git a/docs/submodules/apex b/docs/submodules/apex -Subproject e1eda223437eed7bef2bdfa7bef990a6749f167 +Subproject 049cf8ea3e0074fc42bcfd3c23df71517c530ca diff --git a/docs/submodules/armband b/docs/submodules/armband -Subproject f7a780a85429d1975e3109e67760865d2ee2226 +Subproject 13c73bfed1188a5e2c7355cf7eb5c5a1da006c2 diff --git a/docs/submodules/auto b/docs/submodules/auto new file mode 160000 +Subproject c74e914c628819473625c3bfd03d4535e6e64bb diff --git a/docs/submodules/availability b/docs/submodules/availability -Subproject cae41018b60f6b8c408ea3d766ae6f1e11416c4 +Subproject c1ee3631b59009ff61450808e2bd33fe1d4b17f diff --git a/docs/submodules/barometer b/docs/submodules/barometer -Subproject 7be7d9aea103e9bd1073bbb1e8fd7583e5c598c +Subproject 83119c84b73421144b1e25b7946dc5eeeb19c29 diff --git a/docs/submodules/bottlenecks b/docs/submodules/bottlenecks -Subproject ce3cbaa4868eeee4740a876f05cf2b4a33c8360 +Subproject c4a33d033497629b5e0b2ef1b269742eb26b050 diff --git a/docs/submodules/calipso b/docs/submodules/calipso -Subproject c6c19c9d08794f947bd4b48b85a4ff9f18d5663 +Subproject 8f3b074fafd2271557a152f43a676abaee6a32e diff --git a/docs/submodules/clover b/docs/submodules/clover new file mode 160000 +Subproject d031212e58932602779122ba384495dbefb680f diff --git a/docs/submodules/compass4nfv b/docs/submodules/compass4nfv -Subproject bce23c34f221cdd9a41608c6505b359d99963af +Subproject 01ff42530757cf99e99b0d63d6daa822b93e194 diff --git a/docs/submodules/container4nfv b/docs/submodules/container4nfv -Subproject 5ed69809f33e546bf3e06dc285a90e0818c89ce +Subproject 84ce45c8bf6e03f0373d9c46e0a8b7e0b3faa60 diff --git a/docs/submodules/daisy b/docs/submodules/daisy -Subproject f4c8d7c8017e26f5dd000b0e576c5de24e31fa2 +Subproject c314d9c3a5f522f9b2979ef03b218c852b72cfb diff --git a/docs/submodules/doctor b/docs/submodules/doctor -Subproject 888af5e40c21c1cef22e968c076908f1601c53f +Subproject 4c1ff363e85c9f49b783c99b6f45dac66b045c6 diff --git a/docs/submodules/dovetail b/docs/submodules/dovetail -Subproject ff2a7b3f7de37e64164250b8fa9a623dd061bac +Subproject 71ba21ff906d4104a81442d4712aac13cf4906d diff --git a/docs/submodules/fuel b/docs/submodules/fuel -Subproject c2174cd6d489b9079faec3523f175725da08f9d +Subproject 9c9a1adc6f2501507a68b1926ea93efcb40782d diff --git a/docs/submodules/functest b/docs/submodules/functest -Subproject 2db621767d66b632fab4e2594e4524348484ad5 +Subproject 6108496e34d3b875d99cfbb67bd93e32a9b406e diff --git a/docs/submodules/ipv6 b/docs/submodules/ipv6 -Subproject 5058fb93bbb60151d74ad2ed7a7886af0b17a34 +Subproject dfcc0745ef76e684593c8284f9dcb81cca2f795 diff --git a/docs/submodules/joid b/docs/submodules/joid -Subproject 9c6d9f01489f5867ed84a9c04416ecbfce8254d +Subproject 16ea3c2f27d84ac6f917947b30a36b5985fff3d diff --git a/docs/submodules/moon b/docs/submodules/moon -Subproject 9da7ac6718d66b73ba7fc8fc70e656a70e4db76 +Subproject 814b34aee2b42bc52229e3dad37e95bf480cddf diff --git a/docs/submodules/netready b/docs/submodules/netready -Subproject 38697bcef2049dc3f99e21dbfe7f591c987fb78 +Subproject a0f1cb6d759679e66d6da7fcd0471ddca22b5b6 diff --git a/docs/submodules/nfvbench b/docs/submodules/nfvbench -Subproject 298511bb572ffeb460f7ccbebe06233a17e6b79 +Subproject 6226413ca6e1b4c3a52a3deeb66f8f487c2704a diff --git a/docs/submodules/ovn4nfv b/docs/submodules/ovn4nfv -Subproject e0e7d50a8dbf70117baec66451df7f594a7db23 +Subproject 9623c07f59e059ed0b1cdc6fdfec9c7d9996d88 diff --git a/docs/submodules/parser b/docs/submodules/parser -Subproject d6c75bcf6eb3dd88a2dee1478236dcf09b73daf +Subproject cabfeecb3259c5e22488756d91b6f72d27c4c18 diff --git a/docs/submodules/pharos b/docs/submodules/pharos -Subproject 77b600ef0d64210c1b5fd72581cfe7752fa00c8 +Subproject 02a3385322bad418f2b16854983546a59c3cf91 diff --git a/docs/submodules/promise b/docs/submodules/promise -Subproject 335b8446a9cb142b82a6b5cd1c2231d8185416c +Subproject 7c28b66a376d8a441c40c2926b218497d63516a diff --git a/docs/submodules/qtip b/docs/submodules/qtip -Subproject 17ff15959005c3c6f72a9b91192de7d54734a00 +Subproject b34030013f9af4c40fd79850a85957c842e7659 diff --git a/docs/submodules/releng b/docs/submodules/releng -Subproject 00b16002d3e31c6d692c78907b3885a7aff778c +Subproject 97733bc25ce3f415dd05bce4aa9f2cee8f2a11e diff --git a/docs/submodules/releng-xci b/docs/submodules/releng-xci -Subproject 1d775691155069aa730e671a285e6f25ce37cef +Subproject 75df705acd886a83a49692bf557f9bdda4c65a4 diff --git a/docs/submodules/samplevnf b/docs/submodules/samplevnf -Subproject d29f8fa251540b48371f76e47ddba6315607d19 +Subproject 3981ce6fed44db09af235100526ab8bc1666e38 diff --git a/docs/submodules/sdnvpn b/docs/submodules/sdnvpn -Subproject 37889e4e2703cd3f2ba3514449ec94b3d933538 +Subproject fc149c80771705b894d7a1dac427ce112c3c48b diff --git a/docs/submodules/sfc b/docs/submodules/sfc -Subproject 575a8c98517c587dfdccfad93a6ea119ad68962 +Subproject a459dee88ba00d6f8283232ce2159594ae23d22 diff --git a/docs/submodules/snaps b/docs/submodules/snaps -Subproject 9cf59ae0a133b0c8ab3907c84ec3c7b962df599 +Subproject 390d31e3a6eaa0968474d19d71ec804d0c6c071 diff --git a/docs/submodules/stor4nfv b/docs/submodules/stor4nfv new file mode 160000 +Subproject 957abb60ddc82354234687328460147e19607ca diff --git a/docs/submodules/storperf b/docs/submodules/storperf -Subproject 0869c3a314d864d65b2d9faf98653378e411d49 +Subproject 6d64efd6d50b728dc03ca465f45e15cbd79ce92 diff --git a/docs/submodules/ves b/docs/submodules/ves -Subproject 0c7d63282c5c88c7f50eb68b720013e6ff579ba +Subproject 6e0bfeb045314a0964bffee025889619d427522 diff --git a/docs/submodules/vswitchperf b/docs/submodules/vswitchperf -Subproject 23eff36d6a4b9e42ce06152e2b75e50fb7aaa5c +Subproject 1b37c72a4f4459a7e776503e8bb74e393b24649 diff --git a/docs/submodules/yardstick b/docs/submodules/yardstick -Subproject 35ca724899b3e0a8c58af6323dc4622736ee062 +Subproject 25101331450b21ea4ca2c4250c06d290638cd35 diff --git a/docs/testing/ecosystem/overview.rst b/docs/testing/ecosystem/overview.rst index 50569a734..ef7705b6f 100644 --- a/docs/testing/ecosystem/overview.rst +++ b/docs/testing/ecosystem/overview.rst @@ -219,7 +219,7 @@ The data model is very basic, 5 objects are available: For detailed information, please go to http://artifacts.opnfv.org/releng/docs/testapi.html -The code of the Test API is hosted in the releng repository `[TST2]`_. +The code of the Test API is hosted in the releng-testresults repository `[TST2]`_. The static documentation of the Test API can be found at `[TST3]`_. The Test API has been dockerized and may be installed locally in your lab. @@ -367,7 +367,7 @@ Reference Documentation `[TST1]`_: OPNFV web site -`[TST2]`_: Test utils in Releng +`[TST2]`_: TestAPI code repository link in releng-testresults `[TST3]`_: TestAPI autogenerated documentation @@ -376,7 +376,7 @@ Reference Documentation `[TST5]`_: Testing group dashboard .. _`[TST1]`: http://www.opnfv.org -.. _`[TST2]`: https://git.opnfv.org/functest/tree/releng/utils/tests +.. _`[TST2]`: https://git.opnfv.org/releng-testresults .. _`[TST3]`: http://artifacts.opnfv.org/releng/docs/testapi.html .. _`[TST4]`: http://testresults.opnfv.org/testing/index.html#!/select/visual .. _`[TST5]`: https://opnfv.biterg.io:443/goto/283dba93ca18e95964f852c63af1d1ba diff --git a/opnfv-theme/.gitignore b/opnfv-theme/.gitignore new file mode 100644 index 000000000..83b2238da --- /dev/null +++ b/opnfv-theme/.gitignore @@ -0,0 +1,5 @@ +/dist +/build +*.egg-info +*.pyc +__pycache__ diff --git a/opnfv-theme/MANIFEST.in b/opnfv-theme/MANIFEST.in new file mode 100644 index 000000000..a5886cd20 --- /dev/null +++ b/opnfv-theme/MANIFEST.in @@ -0,0 +1,7 @@ +include *.txt +include *.rst + +recursive-include sphinx_opnfv_theme * +recursive-include sphinx_opnfv_theme/opnfv * + +global-exclude *.pyc diff --git a/opnfv-theme/README.rst b/opnfv-theme/README.rst new file mode 100644 index 000000000..484a7a793 --- /dev/null +++ b/opnfv-theme/README.rst @@ -0,0 +1,48 @@ +OPNFV Documentation Theme +========================= + +This theme is used for all OPNFV documentation and is released seperatly +from the documentation itself. It's and extention of the `Sphinx +Bootstrap Theme`_ + +Installation +------------ + +Here's how to install the theme from PyPI_ + +To install and configure the theme do the following. + +#. Install the theme from pypi:: + + $ pip install sphinx_opnfv_theme + +#. Configure Sphinx to use the theme: + +.. code-block:: python + + # conf.py + import sphinx_opnfv_theme + + # ... + + html_theme = 'opnfv' + html_theme_path = sphinx_opnfv_theme.get_html_theme_path() + +Customization +------------- + +There are no customization specific to this theme yet, but all +all customizations_ Sphinx Bootstrap Theme are supported. + +If you'd like your documentation to match OPNFV's style configure the +following options for the bootstrap theme:: + + html_theme_options = { + 'bootswatch_theme': 'journal', + 'navbar_sidebarrel': false, + 'navbar_title': '', + } + +.. _Sphinx Bootstrap Theme: https://github.com/ryan-roemer/sphinx-bootstrap-theme +.. _Pypi: http://pypi.python.org/pypi/sphinx-opnfv-theme/ +.. _customizations: https://github.com/ryan-roemer/sphinx-bootstrap-theme#customization diff --git a/opnfv-theme/setup.py b/opnfv-theme/setup.py new file mode 100644 index 000000000..5375c0940 --- /dev/null +++ b/opnfv-theme/setup.py @@ -0,0 +1,30 @@ +from setuptools import setup, find_packages + +from sphinx_opnfv_theme import __version__ + +with open('README.rst') as f: + readme_text = f.read() + +setup( + name='sphinx_opnfv_theme', + description="OPNFV Theme for Sphinx", + long_description=readme_text, + url='https://docs.opnfv.org/', + author='Trevor Bramwell', + author_email='tbramwell@linuxfoundation.org', + version=__version__, + entry_points = { + 'sphinx.html_themes': [ + 'opnfv = sphinx_opnfv_theme', + ] + }, + packages=find_packages(), + install_requires = [ + 'sphinx_bootstrap_theme', + 'sphinxcontrib.httpdomain', + ], + include_package_data=True, + package_data = { + 'sphinx_opnfv_theme': ['opnfv/**',] + }, +) diff --git a/opnfv-theme/sphinx_opnfv_theme/__init__.py b/opnfv-theme/sphinx_opnfv_theme/__init__.py new file mode 100644 index 000000000..007927521 --- /dev/null +++ b/opnfv-theme/sphinx_opnfv_theme/__init__.py @@ -0,0 +1,15 @@ +"""OPNFV Sphinx Theme""" + +from os import path + +__version__='0.1.1' + + +def get_html_theme_path(): + """Return list of HTML theme paths.""" + local_path = path.abspath(path.dirname(__file__)) + return [local_path] + +def setup(app): + """Required by Sphinx to create the theme.""" + app.add_html_theme('opnfv', path.abspath(path.dirname(__file__))) diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/layout.html b/opnfv-theme/sphinx_opnfv_theme/opnfv/layout.html new file mode 100644 index 000000000..ddd674cf1 --- /dev/null +++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/layout.html @@ -0,0 +1,5 @@ +{# Import the theme's layout. #} +{% extends "bootstrap/layout.html" %} + +{# Custom CSS overrides #} +{% set css_files = css_files + ['_static/my-styles.css'] %} diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/my_custom_sidebar.html b/opnfv-theme/sphinx_opnfv_theme/opnfv/my_custom_sidebar.html new file mode 100644 index 000000000..6b259bc93 --- /dev/null +++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/my_custom_sidebar.html @@ -0,0 +1,3 @@ +<ul class="globaltoc"> +{{ toctree(maxdepth=theme_globaltoc_depth|toint, collapse=False,includehidden=theme_globaltoc_includehidden|tobool) }} +</ul>
\ No newline at end of file diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/relations.html b/opnfv-theme/sphinx_opnfv_theme/opnfv/relations.html new file mode 100644 index 000000000..5bad0b562 --- /dev/null +++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/relations.html @@ -0,0 +1,15 @@ +<center> +<div class="btn-group" role="group" aria-label="..."> + {% if prev %} + <a class="btn btn-default" href="{{ prev.link|e }}">Prev Page</a> + {% else %} + <button type="button" class="btn btn-default disabled">Prev Page</button> + {% endif %} + + {% if next %} + <a class="btn btn-default" href="{{ next.link|e }}">Next Page</a> + {% else %} + <button type="button" class="btn btn-default disabled">Next Page</button> + {% endif %} +</div> +</center>
\ No newline at end of file diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/static/favicon.ico b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/favicon.ico Binary files differnew file mode 100755 index 000000000..bbe55ab40 --- /dev/null +++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/favicon.ico diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/static/logo.png b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/logo.png Binary files differnew file mode 100644 index 000000000..1519503eb --- /dev/null +++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/logo.png diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/static/my-styles.css b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/my-styles.css new file mode 100644 index 000000000..8feb45bfd --- /dev/null +++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/my-styles.css @@ -0,0 +1,33 @@ +body { + font-family: Helvetica, sans-serif; + font-size: 16px; +} + +body a { + color: #27CCC0; +} + +body a:hover { + color: #676767; +} + +.navbar-brand img { + height: 200%; + margin-top: -5%; +} + +.navbar, h1, h2, h3, h4, h5, h6 { + font-family: Helvetica, sans-serif; +} + +.navbar-text{ + color: #676767; +} + +.navbar-form.navbar-right{ + padding: 0; +} + +.navbar-form .form-control{ + width: 150px; +} diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/theme.conf b/opnfv-theme/sphinx_opnfv_theme/opnfv/theme.conf new file mode 100644 index 000000000..66424aa1f --- /dev/null +++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/theme.conf @@ -0,0 +1,7 @@ +[theme] +inherit = bootstrap +stylesheet = bootstrap-sphinx.css +pygments_style = tango + +# Theme Options exposed by html_theme_options +[options] |