Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

TITLE

P01: Create documentation for an ONAP main release

SUBJECT
This procedure describes the required tasks for the ONAP doc project itself and supplying parties to create release-specific documentation for an ONAP main release.
TABLE OF CONTENTS

Table of Contents
maxLevel3
minLevel3
styledisk

AUTHOR(S)
TASKS
NOTE: Not every step within a single task is listed here. For example, a detailed description of a 'git commit' and the following 'git review' process is not explained. A develoment environment to write and preview reStructuredText is prerequisite. 
00

Update 'doc' project release notes

BRANCH: master

FILE: doc/docs/release-notes.rst

DESCR: The file contains a description of the latest changes in the 'doc' project. Update it accordingly for the new release.

EXAMPLE: 'release-notes.rst' in for 'master' branch

00

Update 'marketing' ('composite') release notes

BRANCH: master

FILE: doc/docs/release/index.rst

DESCR: This file contains a ('marketing') overview about the advantages and latest developments related to the new release. It is also known as the 'composite' release notes. The text is authored by LFN marketing and the ONAP TSC chair. It is provided in text form and has to be converted to reStructuredText format manually. Update the file accordingly - especially the release date.

EXAMPLE: 'index.rst' in for 'master' branch

OPEN: Add contacts and describe the process how and when to request the 'marketing' text. Currently responsible for this activity: Eric Debeau

00

Update list of project specific release notes

BRANCH: master

FILE: doc/docs/release/releaserepos.rst

DESCR: This file contains a table of contents (TOC) for project specific release notes. There are several sections to reflect the current maintenance state of every project. Whenever a project/repository is deployed via OOM (standard ONAP installation), its release note must be part of the TOC - regardless if this project/repository is currently maintained, unmaintaind or in another state. Update the file accordingly for the new release.

EXAMPLE: 'releaserepos.rst' in for 'master' branch

OPEN: Add reliable source for 'release partizipating projects/repositories' and their 'maintenance-state' and - in addition - those ('unmaintained') projects which are deployed 'on top' by OOM team (because the projects/repos are still required for a good reason).

00

Create a new branch of the 'doc' project in gerrit

BRANCH: source/initial=master, target/new='newbranch'

FILE: n/a

DESCR: Please follow the instructions below.

  1. Open https://gerrit.onap.org/r/admin/repos/doc,branches
  2. Use [CREATE NEW] function on the top right corner
  3. Set 'Branch name' to the name of the upcoming release (e.g. 'istanbul')
  4. Set 'Initial revision' to 'master'
  5. Use [CREATE] to create the new branch

OPEN: Evaluate if we can/should update all files AFTER we have created the branch (and having only 'placeholder' files in the 'master' branch). This may avoid confusion in case people are looking to 'master' and seeing release specific content (e.g. related to 'honolulu').

00

Clone the new doc branch to your development environment

BRANCH: 'newbranch'

FILE: n/a

DESCR: Please follow the instructions below.

git clone --branch <newbranch> --recurse-submodules ssh://<username>@gerrit.onap.org:29418/doc

00

Update Sphinx build configuration file

BRANCH: 'newbranch'

FILE: doc/docs/conf.py

DESCR: The Sphinx build configuration file 'conf.py' contains all configuration needed to customize Sphinx input and output behavior. Please follow the instructions below.

  1. On top of the file, set "branch = 'newbranch'".
  2. Set 'intersphinx_mapping' for all participating projects/repositories
  3. Update 'linkcheck_ignore' entries if required

Note: The different 'intersphinx_mapping' sections in the 'conf.py' reflect the different state of development in the ONAP projects and their repositories. We have to differentiate between:

  • Projects/repos that have created a branch for the upcoming release. That's why the entries are mapping to project documentation in the new created branch (branch = 'newbranch').
  • Projects/repos that have not created a branch for the upcoming release, but for a previous release. That's why the entries are mapping to project documentation in a previous branch (e.g. branch = 'frankfurt' or branch = 'guillin').
  • Projects/repos that have never created a branch. That's why the entries are mapping to project documentation in the 'master' branch of ONAP (branch = 'latest'). The ONAP 'master' branch is called mapped to 'latest' in ReadTheDocs.

EXAMPLE #1: 'conf.py' for the 'master' branch

EXAMPLE #2: 'conf.py' for the 'honolulu' branch/release

 

OPEN: Add reliable source for the info if/if not a project has/hasn't branched.

00

Update 'doc

/docs

/

conf

.

py

gitreview' in the new branch

Set "branch =

BRANCH: 'newbranch'

" on top of the file
  • Set 'intersphinx_mapping' for all participating projects and their repositories
  • Update 'linkcheck_ignore' entries if required
  • Note: The different 'intersphinx_mapping' sections in the 'conf.py' reflect the different state of development in the projects and their repositories. We have to differentiate between:

  • Projects that have created a branch for the upcoming release. That's why the entries are mapping to project documentation in the new created branch (branch = 'newbranch').
  • FILE: doc/.gitreview

    DESCR: Add/update the 'defaultbranch' entry accordingly

    Projects that have not created a branch for the upcoming release, but for a previous release. That's why the entries are mapping to project documentation in a previous branch

    (e.g.

    branch = 'frankfurt' or branch = 'guillin').
  • Projects that have never created a branch. That's why the entries are mapping to project documentation in the 'master' branch of ONAP (branch = 'latest'). The ONAP 'master' branch is called 'latest' in ReadTheDocs.
  • 'defaultbranch=honolulu' for the 'honolulu' branch/release). This avoids people from accidently ... ?

    EXAMPLE: '.gitreview' for

    Example #1: 'conf.py' for the 'master' release/branch

    Example #2: 'conf.py' for the

    'honolulu' release/branch

     

    OPEN: Add reliable source for the info if/if not a project has brancheda description why this is important.

    00

    Update interactive ONAP architecture overview and related files

    BRANCH: 'newbranch'

    FILE #1: doc/docs/guides/onap-developer/architecture/media/onap-architecture-overview-r<#>-latest-interactive.svg

    FILE #2: doc/docs/guides/onap-developer/architecture/media/onap-architecture-overview-r<#>-<newbranch>-labels-and-links.xlsx

    FILE #2: doc/

    .gitreview' in the new branchAdd/update the 'defaultbranch'

    docs/guides/onap-developer/architecture/onap-architecture.rst

    DESCR: Please follow the instructions below.

    1. Prerequisite: The interactive ONAP architecture overview (svg format, maintained by the 'doc' team, Thomas Kulik ) has already been alligned to the official ONAP architecture overview. Check Documenting ONAP Architecture and find the Architecture Diagram for the new release (e.g.
    'defaultbranch=honolulu')
    1. here for the R9 'Istanbul' branch/release).
    2. Open file 'onap-architecture-overview-r<#>-latest-interactive.svg' in Inkscape
    3. In the 'Objects' window find the 'releaseinfo.link' object / make it visible by clicking on the 'closed eye' symbol and changing it to an 'open eye' symbol / now the release info should be visible on the overview.

    EXAMPLE: 'bar.rst' for 'xyz' branch

    OPEN: Lorem ipsum dolor sit amet

    Example: '.gitreview' for the 'honolulu' release/branch

     

    OPEN: Add a description why this is important

    00

    Template lorem ipsum dolor sit amet

    BRANCH: foo

    FILE: foo/bar.rst

    DESCR: Lorem ipsum dolor sit amet.

    EXAMPLE: 'bar.rst' in for 'masterxyz' branch

    OPEN: Lorem ipsum dolor sit amet

    ...