Add files for integration with DOC project. 60/1560/1
authorAlex Stancu <alexandru.stancu@highstreet-technologies.com>
Wed, 13 Nov 2019 11:58:45 +0000 (13:58 +0200)
committerAlex Stancu <alexandru.stancu@highstreet-technologies.com>
Wed, 13 Nov 2019 11:58:45 +0000 (13:58 +0200)
Signed-off-by: Alex Stancu <alexandru.stancu@highstreet-technologies.com>
Change-Id: If27d75d2b01f691ddcce7bb473ccdc44368fbf04

.readthedocs.yaml [new file with mode: 0644]
docs/_static/logo.png [new file with mode: 0644]
docs/conf.py [new file with mode: 0644]
docs/conf.yaml [new file with mode: 0644]
docs/favicon.ico [new file with mode: 0644]
docs/index.rst [new file with mode: 0644]
docs/overview.rst [new file with mode: 0644]
docs/requirements-docs.txt [new file with mode: 0644]
tox.ini [new file with mode: 0644]

diff --git a/.readthedocs.yaml b/.readthedocs.yaml
new file mode 100644 (file)
index 0000000..8df5ada
--- /dev/null
@@ -0,0 +1,16 @@
+---
+version: 2
+
+formats:
+  - htmlzip
+
+build:
+  image: latest
+
+python:
+  version: 3.7
+  install:
+    - requirements: docs/requirements-docs.txt
+
+sphinx:
+  configuration: docs/conf.py
\ No newline at end of file
diff --git a/docs/_static/logo.png b/docs/_static/logo.png
new file mode 100644 (file)
index 0000000..c3b6ce5
Binary files /dev/null and b/docs/_static/logo.png differ
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644 (file)
index 0000000..771ac9b
--- /dev/null
@@ -0,0 +1,6 @@
+from docs_conf.conf import *
+linkcheck_ignore = [
+    'http://localhost.*',
+    'http://127.0.0.1.*',
+    'https://gerrit.o-ran-sc.org.*'
+]
\ No newline at end of file
diff --git a/docs/conf.yaml b/docs/conf.yaml
new file mode 100644 (file)
index 0000000..eb58775
--- /dev/null
@@ -0,0 +1,3 @@
+---
+project_cfg: oran
+project: sim/o1-interface
\ No newline at end of file
diff --git a/docs/favicon.ico b/docs/favicon.ico
new file mode 100644 (file)
index 0000000..00b0fd0
Binary files /dev/null and b/docs/favicon.ico differ
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644 (file)
index 0000000..007c91a
--- /dev/null
@@ -0,0 +1,18 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+.. Copyright (C) 2019 highstreet technologies GmbH
+
+
+Welcome to O-RAN SC sim/o1-interface Documentation
+===================================================
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Contents:
+
+   overview.rst
+
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
diff --git a/docs/overview.rst b/docs/overview.rst
new file mode 100644 (file)
index 0000000..6592e58
--- /dev/null
@@ -0,0 +1,23 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+.. Copyright (C) 2019 highstreet technologies GmbH
+
+
+sim/o1-interface Overview
+==========================
+
+The o1-interface simulator is based on the Network Topology Simulator (NTS). NTS is a framework that allows simulating devices that expose a management interface through a NETCONF/YANG interface. The NTS is loaded with the YANG files associated with the O-RAN O1 interface specifications.
+
+The NETCONF/YANG management interface is simulated, and the O1 YANG models are loaded by the framework to be exposed. Random data is generated based on the specific models, such that each simulated device presents different data on its management interface.
+
+The NTS Manager can be used to specify the simulation details and to manage the simulation environment at runtime.
+
+The NTS framework is based on several open-source projects:
+* [Netopeer2](https://github.com/CESNET/Netopeer2) 
+* [libnetconf2](https://github.com/CESNET/libnetconf2) 
+* [libyang](https://github.com/CESNET/libyang)
+* [sysrepo](https://github.com/sysrepo/sysrepo) - all of these are used for the implementation of the NETCONF Server, both in the NTS Manager and in each simulated device
+* [cJSON](https://github.com/DaveGamble/cJSON) - used to create the JSON payloads for talking with the simulation framework
+* [pyang](https://github.com/mbj4668/pyang) - used to create random data from the YANG models that are exposed
+
+Each simulated device is represented as a docker container, where the NETCONF Server is running. The creation and deletion of docker containers associated with simulated devices is handled by the NTS Manager. The NTS Manager is also running as a docker container and exposes a NETCONF/YANG interface to control the simulation.
\ No newline at end of file
diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt
new file mode 100644 (file)
index 0000000..4f9d174
--- /dev/null
@@ -0,0 +1,5 @@
+sphinx
+sphinx-rtd-theme
+sphinxcontrib-httpdomain
+recommonmark
+lfdocs-conf
\ No newline at end of file
diff --git a/tox.ini b/tox.ini
new file mode 100644 (file)
index 0000000..9ab0da4
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,30 @@
+# documentation only
+[tox]
+minversion = 2.0
+envlist =
+    docs,
+    docs-linkcheck,
+skipsdist = true
+
+[testenv:docs]
+basepython = python3
+deps = 
+    sphinx
+    sphinx-rtd-theme
+    sphinxcontrib-httpdomain
+    recommonmark
+    lfdocs-conf
+    
+commands =
+    sphinx-build -W -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
+    echo "Generated docs available in {toxinidir}/docs/_build/html"
+whitelist_externals = echo
+
+[testenv:docs-linkcheck]
+basepython = python3
+deps = sphinx
+       sphinx-rtd-theme
+       sphinxcontrib-httpdomain
+       recommonmark
+       lfdocs-conf
+commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck
\ No newline at end of file