An Example of Creating Documents with ReStructured Text-Sphinx-Readthedocs

Example

We will use a subset of the seed code release notes showing a portion of the top level notes and an example of the details from one component APPC.

Source Files

Top Level Index
.. ONAP documentation master file, created by sphinx-quickstart on Mon Jul 10 08:51:21 2017. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Welcome to ONAP's documentation! ================================ Contents: .. toctree:: :maxdepth: 1 overview install tutorial release usrguide devguide Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search`





Sphinx Generated HTML

Release Notes
Release Notes ============= Summary ------- OpenECOMP 1.0.0 represents a complete demo platform with two service examples as contributed by AT&T to the Linux Foundation ONAP project. Installation Instructions ------------------------- BasicOpenECOMP installation instructions are available as a `README.md  <https://nexus.openecomp.org/content/sites/raw/org.openecomp.demo/heat/1.0.0-SNAPSHOT/README.md>`_ file. Step by step tutorials for setting up a Rackspace account, using the portal,  designing services, and instantiating services are provided here. Components ---------- .. toctree:: :maxdepth: 1 r/appc/doc/relnotes
  • The r/... reference is based on git submodule references in the /doc repository to other project repos, this may change as we create the ONAP structure

APPC Release Notes
APPC ==== Delivery -------- The APPC package is composed of three Docker images hosted on a single Ubuntu 14.04 LTS VM instance (medium flavor (Memory 4 Gb, 4 vCPU, 80 Gb Disk) Docker Diagram -------------- .. image:: appc-containers.png APIs ---- .. csv-table:: Offered :header: "Container/VM Name", "API Name", "API Purpose", "Protocol Used", Port number or range used", "TCP/UDP" :widths: 20, 50, 20, 10, 10, 10 "APPC", "<http-protocol>://<appc-ip>:<appc-api-port>/restconf/operations/appc-provider-lcm:<command-name> (ex: https://<appc-ip>:8443/restconf/operations/appc-provider:modifiy-config)", "Offer APPC APIs", "https", "8181", "TCP" "APPC", "DMaap Adapter", "Interface to DMaap", "https", "3904", "TCP" "DB", "MySQL", "Access to MySQL DB", "", "3306", "TCP" .. csv-table:: Consumed :header: "Container/VM Name", "API Name", "API Purpose", "Protocol Used", Port number or range used", "TCP/UDP" :widths: 20, 50, 20, 10, 10, 10 "APPC", "<http-protocol>://<appc-ip>:<appc-api-port>/restconf/operations/appc-provider-lcm:<command-name> (ex: https://<appc-ip>:8443/restconf/operations/appc-provider:modifiy-config)", "Offer APPC APIs", "https", "8181", "TCP" "APPC", "DMaap Adapter", "Interface to DMaap", "https", "3904", "TCP" Logging/Diagnostic Information ------------------------------ There are three places where we can look for diagnostics/logging information based on the situation at hand: * **Cloud-Init Console Log:** This log shows the output results of the cloud-init script that is deploying the APP-C VM. The log can be found on the Rackspace/OpenStack Dashboard where you are deploying your VM from, in the deployed VM itself (usually found in /var/log/cloud-init.log), or by calling the OpenStack API to output the cloud-init log (by obtaining information from the metadata server of your cloud platform). * **Karaf Log:** This log shows the output results of the APP-C/SDN-C Karaf features & bundles installed in the OpenDaylight framework. You can look here to troubleshoot any Karaf features and/or bundles that failed to install properly. The log can be found inside the APP-C Docker Container in the /opt/opendaylight/current/log * NOTE: Some errors will not show in detail unless the verbose option is enabled for karaf. To do this, log in to the Karaf client (explained in the APP-C documentation) and type in "log:set DEBUG" to enable verbose logging, and "log:set INFO" to disable verbose logging. * **Docker-Compose Logs:** This log is the output from when you trigger the docker-compose process to start (which starts thedocker containers). It can be found in two ways: * If running docker-compose right off the shell session ("docker-compose up"), the output will be displayed there. * If running docker-compose as a daemon/background process (RECOMMENDED - "docker-compose up -d"), you can open any other shell session and run "docker-compose logs -f" to obtain live logs from the docker-compose containers' instantiations.

Guide for Users

We can reuse most of this OPNFV Guide with minor modifications to reflect

  • ONAP project name

  • Different document structure and templates that apply to ONAP

  • Gerrit repo structure that has more levels of hierarchy

Templates

These OPNFV Templates may be useful as starting point on how to organize templates and / or some maybe applicable with minor modification to ONAP.



Integration with CI/CD

This approach aligns with the CI/CD infrastructure and developer workflows including

  • Document source from other projects is maintained in same repository as source code

  • Rebuild of documentation is triggered by changes in any of the source

  • Verification of documentation prior to creating a new version at Readthedocs

The OPNFV Doc Jenkins Verify and Merge Jobs illustrates the integration with tox/Sphinx to verify documents and to trigger publishing a new version at Readthedocs.