+++ /dev/null
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-
-.. _onap_developer_guide:
-
-ONAP Developer Guide
-====================
-
-.. toctree::
- :maxdepth: 1
-
- how-to-use-docs/index
+++ /dev/null
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-
-.. _administrator_guide:
-
-Admistrator Guide
-=================
-
-.. toctree::
- :maxdepth: 2
-
-More to be added
-----------------
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Architecture
+============
+
+Platform Components
+-------------------
+
+SDKs
+----
+
+Dependencies
+------------
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Developing ONAP
+===============
+
+Platform Component References
+-----------------------------
+
+Test & Validation Requirements
+------------------------------
+
------------
Document source files have to be written in reStructuredText format (rst).
-Each file would be build as an html page.
+Each file would be built as an html page.
Here is an example source rst file :
.. only:: html
This line will be shown only in html version.
+
.. index:: single: indices
Creating Indices
These are simple cases with simple options. For more information about indexing with Sphinx,
please see the `official Sphinx documentation <http://www.sphinx-doc.org/en/stable/markup/misc.html#directive-index>`_.
+
Jenkins Jobs
------------
The verify job name is **doc-{stream}-verify-rtd**
-Proposed changes in doc or any other repository that has been added as a
-git submodule will be verified by this job prior to a gerrit code review.
+Proposed changes in files in any repository with the path
+.. bash
+ docs/**/*.rst
+
+will be verified by this job prior to a gerrit code review.
Please check the Jenkins log carefully for warnings.
You can improve your document even if the verify job succeeded.
The merge job name is **doc-{stream}-merge-rtd**.
-When a committer merges a patch, Jenkins will automatically trigger building of
-the new documentation. This might take about 15 minutes while readthedocs
-builds the documentation. The newly built documentation shall show up
-as appropriate placed in docs.onap.org/{branch}/path-to-file.
+When a committer merges a patch that includes files matching the path described above,
+the doc project merge job will trigger an update at readthedocs.
+This might take about 15 minutes while readthedocs
+builds the documentation.
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+.. _converting-to-rst:
+
Converting to RST
=================
Introduction
============
This guide describes how to create documentation for the Open Network
-Automation Platform (ONAP). ONAP projects create a variety of document
-types depending on the nature of the project. Some projects will create
-detailed technical descriptions such as configuration parameters or how
-to use or extend the functionality of platform component.
-These descriptions may be used together as a reference for that project
-and/or be used in documents tailored to a specific user audience and
+Automation Platform (ONAP). ONAP projects create a variety of
+content depending on the nature of the project. For example projects delivering
+a platform component may have different types of content than
+a project that creates libraries for a software development kit.
+The content from each project may be used together as a reference for that project
+and/or be used in documents are tailored to a specific user audience and
task they are performing.
Much of the content in this document is derived from similar
Plain-text formatting syntaxes, such as reStructuredText, Markdown, and Textile,
are a good choice for documentation because:
- a. They are editor agnostic
- b. The source is nearly as easy to read as the rendered text
- c. Documentation can be treated exactly as source code is (e.g. versioned,
-diff'ed, associated with commit messages that can be included in rendered docs)
- d. Shallow learning curve
+
+a. They are editor agnostic
+b. The source is nearly as easy to read as the rendered text
+c. Documentation can be treated exactly as source code is (e.g. versioned,
+ diff'ed, associated with commit messages that can be included in rendered docs)
+d. Shallow learning curve
The documentation team chose reStructuredText largely because of Sphinx, a Python-based
documentation build system, which uses reStructuredText natively. In a code base
Structure
---------
-A top level master_document structure is used to organize all
-documents for an ONAP release that reside in the doc git repository.
+A top level master document structure is used to organize all
+documents for an ONAP release and this resides in the gerrit doc repository.
Complete documents or guides may reside here and reference parts of
source for documentation from other project repositories
A starting structure is shown below and may change as content is
-intergrated for each release. Others ONAP projects will provide
+integrated for each release. Other ONAP projects will provide
content that is referenced from this structure.
.. index:: master
::
docs/
- ├── release
- │ ├── overview
+ ├── releases
+ │ ├── major releases
+ │ ├── projects
+ │ ├── cryptographic signatures
+ │ └── references
+ ├── onap-developer
│ ├── architecture
- │ ├── use-cases
│ ├── tutorials
- │ └── release-notes
- ├── onap-developer
- │ ├── design
- │ ├── develop
- │ ├── document
- │ └── test
- ├── adminstrator
- │ ├── configure
- │ ├── deploy
- │ └── operate
- ├── service-designer
- │ ├── deploy
- │ ├── design
- │ └── portal
- └── vnf-provider
- ├── guidelines
- └── sdk
+ │ ├── setting up
+ │ ├── developing
+ │ └── documenting
+ └── onap-users
+ ├── vf provider
+ ├── service designer
+ ├── service administrator
+ └── platform administrator
All documentation for a project should be structured and stored
in or below `<your_project_repo>/docs/` directory as Restructured Text.
ONAP jenkins jobs that verify and merge documentation are triggered by
-file changes in the docs directory and below.
+RST file changes in the top level docs directory and below.
.. index:: licensing
-Licencing
+Licensing
---------
All contributions to the ONAP project are done in accordance with the
ONAP licensing requirements. Documentation in ONAP is contributed
These lines will not be rendered in the html and pdf files.
-
-
-Templates
----------
-To encourage consistency of information across components, some
-templates are available as a starting point under `doc/docs/templates/`
-and listed below. With the "show source" feature on html pages, you
-may be able to use portions of an existing page as starting point for
-creating new content.
-
-
-.. toctree::
- :maxdepth: 1
- :glob:
-
- ../../../templates/**/index
-
-----------------------------
These steps are performed for each project repository that provides documentation.
-First let's set two variables that will be used in the following examples.
+First let's set two variables that will be used in the subsequent steps.
Set reponame to the project repository you are setting up just as it appears in the
**Project Name** column of the Gerrit projects page.
Set lfid to your Linux Foundation identity that you use to login to gerrit or for git
The next step is to add a directory in the doc project where your project will be included as a
submodule and at least one reference from the doc project to the documentation index in your repository.
+The following sequence will do this over ssh.
+
+.. caution::
+
+ If your access network restricts ssh, you will need to use equivalent git commands and
+ HTTP Passwords as described `here <http://wiki.onap.org/x/X4AP>`_.
.. code-block:: bash
git commit -s
git review
+.. caution::
+ Wait for the above change to be merged before any merge to the
+ project repository that you have just added as a submodule.
+ If the project repository added as submodule changes before the doc project merge, git may not
+ automatically update the submodule reference on changes and/or the verify job will
+ fail in the step below.
The last step is to create a docs directory in your repository with an index.rst file.
+The following sequence will complete the minimum required over ssh. As you have time
+to convert or add new content you can update the index and add files under the docs folder.
+
+.. hint::
+ If you have additional content, you can include it by editing the
+ index.rst file and/or adding other files before the git commit.
+ See `Templates and Examples`_ below and :ref:`converting-to-rst` for more information.
+
.. code-block:: bash
The diagram below illustrates what is accomplished in the setup steps
above from the perspective of a file structure created for a local test,
a jenkins verify job, and/or published release documentation including:
-
- - all ONAP gerrit project repositories,
- - the doc project repository master document index.rst, templates, configuration
- - the submodules directory where other project repositories and directories/files may be referenced
+ - ONAP gerrit project repositories,
+ - doc project repository master document index.rst, templates, configuration, and other documents
+ - submodules directory where other project repositories and directories/files are referenced
+ - file structure: directories (ellipses), files(boxes)
+ - references: directory/files (solid edges), git submodule (dotted edges), sphinx toctree (dashed edges)
.. graphviz::
Creating Restructured Text
==========================
-TODO Add simple example and references here
+Templates and Examples
+----------------------
+Some templates are available that capture the kinds of information
+useful for different types of projects and provide simple examples of
+restructured text.
+You can: browse the templates below; show source to look at the Restructured
+Text and Sphinx directives used; and then copy the source either from a browser window
+or by downloading the file in raw form from
+the `gerrit doc repository <https://gerrit.onap.org/r/gitweb?p=doc.git;a=tree;f=docs/templates;/>`_.
+
+.. toctree::
+ :maxdepth: 1
+ :glob:
+
+ ../../../templates/**/index
+
+In addition to these simple templates and examples
+there are many open source projects (e.g. Open Daylight, Open Stack)
+that are using Sphinx and Readthedocs where you may find examples to start with.
+Working with project teams we will continue to enhance templates here and
+capture frequently asked questions on the developer wiki question
+topic `documentation <https://wiki.onap.org/questions/topics/16384055/documentation>`_.
+
+Each project should: decide what is relevant content; determine the
+best way to create/maintain it in a CI/CD process; and work with the
+documentation team to reference content from the master index and guides.
+Consider options including filling in a template,
+identifying existing content that can be used as is or
+easily converted, and use of Sphinx directives/extensions to automatically
+generate restructured text from other source you already have.
Links and References
-====================
+--------------------
It's pretty common to want to reference another location in the
ONAP documentation and it's pretty easy to do with
reStructuredText. This is a quick primer, more information is in the
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+.. _onap_developer_guides:
+
+ONAP Developer
+==============
+Describe the kinds of references, tutorials, specifications provided for developers.
+
+.. toctree::
+ :maxdepth: 2
+
+ architecture/index
+ tutorials/index
+ settingup/index
+ developing/index
+ how-to-use-docs/index
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Setting Up ONAP
+===============
+
-
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. _templates:
-
-Templates
+Tutorials
=========
-.. toctree::
- :maxdepth: 1
- :glob:
- **/index
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+
+ONAP User
+==========
+Describe the different user audiences, tasks performed, and the guides provided for each.
+
+.. toctree::
+ :maxdepth: 1
+
+ vnfprovider.rst
+ servicedesigner.rst
+ serviceadmin.rst
+ platformadmin.rst
+
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. _service_designer_guide:
-
-Service Designer Guide
+Platform Administrator
======================
-.. toctree::
- :maxdepth: 2
-More to be added
-----------------
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Service Administrator
+=====================
+
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Service Designer
+================
+
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. _vnf_provider_guide:
VNF Provider Guide
==================
.. toctree::
:maxdepth: 2
- ../../submodules/vnfrqts/guidelines.git/docs/index.rst
- ../../submodules/vnfrqts/requirements.git/docs/index.rst
+ ../../../submodules/vnfrqts/guidelines.git/docs/index.rst
+ ../../../submodules/vnfrqts/requirements.git/docs/index.rst
==================
.. toctree::
- :maxdepth: 1
+ :maxdepth: 2
- release/index
- guide/onap-developer/index
- guide/service-designer/index
- guide/platform-administrator/index
- guide/vnf-provider/index
+ releases/index
+ guides/onap-developer/index
+ guides/onap-user/index
+++ /dev/null
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-
-
-Release
-=======
-
-Overview of use cases, installation, release notes, etc.
-
-
-Architecture
-------------
-
-
-Use Cases
----------
-
-
-Tutorials
----------
-
-
-
-Release Notes
--------------
-
-Projects Providing Documentation
---------------------------------
-
-.. toctree::
- :maxdepth: 1
-
- repolist.rst
-
-
-
-
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+
+Releases
+========
+ONAP is developed and released around 6 month cycles. After an initial major release, additional
+stable point releases may be created.
+
+Major Releases
+--------------
+
+.. csv-table::
+ :align: left
+ :header-rows: 0
+ :header: "Release", "Status", "Initial Release Date", "Next Phase", "EOL Date"
+ :widths: 15, 10, 10, 15, 10
+
+ "Amsterdam", "Under Development", "TBD", "", ""
+ "R1.0.0 Seed Code", "EOL", "2017-04-XX", "", ""
+
+
+.. include:: repolist.rst
+
+
+Cryptographic Signatures
+------------------------
+
+
+References
+----------
+
+
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+Projects
+--------
+Documentation organized by the project delivering them.
+.. note::
+ When available these references should be changed to release artifacts
+
.. toctree::
:maxdepth: 1
:titlesonly:
appc <../submodules/appc.git/docs/index>
+ appc/deployment <../submodules/appc/deployment.git/docs/index>
+ clamp <../submodules/clamp.git/docs/index>
+ cli <../submodules/cli.git/docs/index>
vnfrqts/guidelines <../submodules/vnfrqts/guidelines.git/docs/index>
vnfrqts/requirements <../submodules/vnfrqts/requirements.git/docs/index>
- cli <../submodules/cli.git/docs/index>
- clamp <../submodules/clamp.git/docs/index>
- appc/deployment <../submodules/appc/deployment.git/docs/index>
+++ /dev/null
-repo.subrepo.subrepo|API Reference
+++ /dev/null
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-Component Information Template
-==============================
-High level architecture, design, and packaging information for release planning and delivery.
-
-.. toctree::
- :maxdepth: 1
-
-
-Delivery
---------
-Th package component is composed of the functional layers and packaged into run-time components as illustrated in the following diagrams.
-
-.. blockdiag::
-
-
- blockdiag layers {
- orientation = portrait
- a -> m;
- b -> n;
- c -> x;
- m -> y;
- m -> z;
- group l1 {
- color = blue;
- x; y; z;
- }
- group l2 {
- color = yellow;
- m; n;
- }
- group l3 {
- color = orange;
- a; b; c;
- }
-
- }
-
-
-Offered APIs
-------------
-
-.. csv-table::
- :header-rows: 0
- :header: "Container or Library", "API Reference", "Purpose", "Protocol", "Port", "TCP/UDP"
- :widths: 20, 25, 25, 10, 10, 10
- :delim: |
- :file: offered-apis.csv
-
-
-Consumed APIs
--------------
-
-.. csv-table::
- :header-rows: 0
- :header: "Project Repo/Group ID", "Container or Library Offering API"
- :widths: 30, 30
- :delim: |
- :file: consumed-apis.csv
-
-Logging & Diagnostic Information
---------------------------------
-Description of how to interact with and diagnose problems with the components in the run-time packaging.
-
-
-Installation
-------------
-Steps to Install
-
-
-Configuration
--------------
-Where are they provided?
-What are parameters and values?
-
-
-Administration
---------------
-
-How to run and manage the component.
-
-
-Human Interfaces
-----------------
-Basic info on the interface type, ports/protocols provided over, etc.
-
-
-
+++ /dev/null
-XXX Container|API Reference link|Create or Delete XYZ|xxx|9999|TCP
-YYY Library|API Reference link|Create or Delete XYZ|xxxx|xxxx|xxxx
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+
+Administration
+--------------
+Describe expected changes and the processes and actions taken for each.
+
+
+Processes
++++++++++
+* Process 1
+* Process 2
+
+Actions
++++++++
+* Action X
+* Action Y
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Configuration
+-------------
+Describe configurations how to provide parameters and value
+
+Basic Setup
++++++++++++
+
+You can provide the following in ``basic.conf``
+
+``host=ADDRESS``
+ The address of the host
+
+``port=PORT``
+ The port used for signaling
+
+ Optional. Default: ``8080``
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Consumed APIs
+=============
+References to APIs offered by other components
+
+
--- /dev/null
+Delivery
+--------
+Describe how functions are packaged into run-time components.
+For some components a block diagram may be useful.
+
+.. blockdiag::
+
+
+ blockdiag layers {
+ orientation = portrait
+ a -> m;
+ b -> n;
+ c -> x;
+ m -> y;
+ m -> z;
+ group l1 {
+ color = blue;
+ x; y; z;
+ }
+ group l2 {
+ color = yellow;
+ m; n;
+ }
+ group l3 {
+ color = orange;
+ a; b; c;
+ }
+
+ }
+
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Human Interfaces
+----------------
+Provide info on the targeted user, interface types, ports/protocols to access, etc.
+
+Target Users
+++++++++++++
+
+Interface Type
+++++++++++++++
+
+Access
+++++++
+
+
+
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Platform Component
+==================
+Provide an overview of the ONAP Platform component capabilities here.
+Add or remove sections below as appropriate for the platform component.
+
+.. toctree::
+ :maxdepth: 2
+
+ delivery.rst
+ offeredapis.rst
+ consumedapis.rst
+ logging.rst
+ installation.rst
+ configuration.rst
+ administration.rst
+ humaninterfaces.rst
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Installation
+------------
+Describe the environment and steps to install.
+
+
+Environment
++++++++++++
+
+
+Steps
++++++
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Logging & Diagnostic Information
+--------------------------------
+Description of how to interact with and diagnose problems with the components
+as delivered.
+
+Where to Access Information
++++++++++++++++++++++++++++
+
+
+Error / Warning Messages
+++++++++++++++++++++++++
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+
+Offered APIs
+============
+List APIs offered. One or more of the following examples may be appropriate.
+
+* java docs link
+* rest API swagger json definition displayed with sphinx directive .. swaggerv2doc:
+* a restructured text document
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Bug Fixes
+---------
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Deprecation Notes
+-----------------
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Release Notes
+=============
+
+.. toctree::
+ :maxdepth: 2
+
+ new-features.rst
+ bug-fixes.rst
+ known-issues.rst
+ security-issues.rst
+ upgrade-notes.rst
+ deprecation-notes.rst
+ other.rst
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Known Issues
+------------
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+New Features
+------------
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Other
+-----
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Security Issues
+---------------
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Upgrade Notes
+-------------
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Building components that use the SDK
+------------------------------------
+
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Software Development Kit
+========================
+Provide an overview of SDK capabilities here.
+
+.. toctree::
+ :maxdepth: 2
+
+ offeredapis.rst
+ libraries.rst
+ interfaces.rst
+ logging.rst
+ build.rst
--- /dev/null
+Interfaces
+----------
+Language bindings
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Libraries
+---------
+Libraries provided including package/Nexus groupID names, language bindings, etc.
+
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Logging & Diagnostic Information
+--------------------------------
+Description of how to interact with and diagnose problems with the components
+as delivered.
+
+Where to Access Information
++++++++++++++++++++++++++++
+
+
+Error / Warning Messages
+++++++++++++++++++++++++
--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+
+Offered APIs
+============
+List APIs offered. One or more of the following examples may be appropriate.
+
+* java docs link
+* rest API swagger json definition displayed with sphinx directive .. swaggerv2doc:
+* a restructured text document
+