summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules18
-rw-r--r--docker/Dockerfile23
-rw-r--r--docker/README.md28
-rw-r--r--docker/entrypoint.sh28
-rw-r--r--docs/index.rst1
-rw-r--r--docs/release/release-notes.rst2
-rw-r--r--docs/release/userguide.introduction.rst1
m---------docs/submodules/apex0
m---------docs/submodules/armband0
m---------docs/submodules/auto0
m---------docs/submodules/availability0
m---------docs/submodules/barometer0
m---------docs/submodules/bottlenecks0
m---------docs/submodules/calipso0
m---------docs/submodules/clover0
m---------docs/submodules/compass4nfv0
m---------docs/submodules/container4nfv0
m---------docs/submodules/daisy0
m---------docs/submodules/doctor0
m---------docs/submodules/dovetail0
m---------docs/submodules/fuel0
m---------docs/submodules/functest0
m---------docs/submodules/ipv60
m---------docs/submodules/joid0
m---------docs/submodules/moon0
m---------docs/submodules/netready0
m---------docs/submodules/nfvbench0
m---------docs/submodules/ovn4nfv0
m---------docs/submodules/parser0
m---------docs/submodules/pharos0
m---------docs/submodules/promise0
m---------docs/submodules/qtip0
m---------docs/submodules/releng0
m---------docs/submodules/releng-xci0
m---------docs/submodules/samplevnf0
m---------docs/submodules/sdnvpn0
m---------docs/submodules/sfc0
m---------docs/submodules/snaps0
m---------docs/submodules/stor4nfv0
m---------docs/submodules/storperf0
m---------docs/submodules/ves0
m---------docs/submodules/vswitchperf0
m---------docs/submodules/yardstick0
-rw-r--r--docs/testing/ecosystem/overview.rst6
-rw-r--r--opnfv-theme/.gitignore5
-rw-r--r--opnfv-theme/MANIFEST.in7
-rw-r--r--opnfv-theme/README.rst48
-rw-r--r--opnfv-theme/setup.py30
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/__init__.py15
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/opnfv/layout.html5
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/opnfv/my_custom_sidebar.html3
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/opnfv/relations.html15
-rwxr-xr-xopnfv-theme/sphinx_opnfv_theme/opnfv/static/favicon.icobin0 -> 15086 bytes
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/opnfv/static/logo.pngbin0 -> 2829 bytes
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/opnfv/static/my-styles.css33
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/opnfv/theme.conf7
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
new file mode 100755
index 000000000..bbe55ab40
--- /dev/null
+++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/favicon.ico
Binary files differ
diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/static/logo.png b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/logo.png
new file mode 100644
index 000000000..1519503eb
--- /dev/null
+++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/logo.png
Binary files differ
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]