You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 83 Next »


TITLE

P01: Create documentation for an ONAP main release

SUBJECT
Procedure #01 describes the required tasks for the ONAP doc project itself and supplying parties to create release-specific documentation for an ONAP main release.
RELEVANCE
9.0.0 'Istanbul' – 8.0.0 'Honolulu'
TABLE OF CONTENTS

AUTHOR(S)
NOTES

Not every step within a single task is listed here. For example, common tasks like operations with the 'git' command (e.g. add, remove, commit, review) are not included. Jira or Gerrit activities related to file changes are also not listed here.

A development environment to write and preview reStructuredText is prerequisite, also some knowledge how to use Inkscape is required.

01

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' for 'master' branch

02

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.

CONTACT: Eric Debeau Catherine Lefevre Kenny Paul

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

OPEN: Add 'marketing' contact and describe the process how and when to request the 'marketing' text.

03

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' 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).

04

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

Note: You are not allowed to delete a branch. If you need to (maybe due to a typo in the process of creation) you have to raise a ticket at the LF IT Support.

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').

05

Clone the new doc branch to your development environment

BRANCH: 'newbranch'

FILE: all

DESCR: Please follow the instructions below.

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

Now you can start to modify files for the new release.

06

Set correct 'defaultbranch' for 'gitreview'

BRANCH: 'newbranch'

FILE: doc/.gitreview

DESCR: Add/update the 'defaultbranch' entry accordingly (e.g. 'defaultbranch=honolulu' for the 'honolulu' branch/release). This can help to avoid that changes are submitted or even published to a wrong branch.

EXAMPLE: '.gitreview' for 'honolulu' release/branch

 

07

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 mapped to 'latest' in ReadTheDocs.

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

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

 

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

08

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/onap-architecture.rst

CONTACT: Thomas Kulik

DESCR: Please follow the instructions below.

  1. Prerequisite: The interactive ONAP architecture overview (svg format, maintained by the 'doc' team) has already been aligned to the official ONAP architecture overview for the new release. It must have been updated and prepared to be used in the new branch (e.g. architecture elements in the overview, embedded release info/descriptions/links, labels-and-links file, partly updated file names). 
  2. Rename file 'onap-architecture-overview-r<#>-latest-interactive.svg' to 'onap-architecture-overview-r<#>-<newbranch>-interactive.svg'
  3. Open file 'onap-architecture-overview-r<#>-<newbranch>-interactive.svg' in Inkscape
  4. 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. Save the file.
  5. Save the file again, but with a new filename. Use 'onap-architecture-overview-r<#>-<newbranch>-interactive-path.svg'. The select all (warning) elements in the map and use the Inkscape function 'Path → Object to Path' to convert all elements to pathes. Read more about this in the onap-architecture-overview-notes.txt . Save the overview map, close Inkscape (and remember to do no (warning) further changes to this 'pathed' version of the overview).
  6. Edit 'doc/docs/guides/onap-developer/architecture/onap-architecture.rst' and update the '.. raw:: html' section which contains the filename of the interactive ONAP architecture overview. You must use the filename for the 'pathed' version of the overview ('onap-architecture-overview-r<#>-<newbranch>-interactive-path.svg').

EXAMPLE: 'onap-architecture.rst' for 'master' branch

OPEN: Update example to 'istanbul' branch as soon as possible (pointing to 'master' is misleading here)

99

Other topics - To be evaluated

  • Review process for all documents authored by 'doc' to ensure that their content has relevance also for the new ONAP release
  • Management of Jira tickets related to the described activities here in this procedure
  • Configuration of the RTD 'default version' ('newbranch' as the starting point, not 'latest')
  • Review process for procedures (incl. field for reviewer name and review date) required?
  • Availability and consideration of 'Release Key Update' information (see example for 'Honolulu' release)
  • Tagging of the 'doc' branch (e.g. '8.0.0' for a main release or '8.0.1' for its first maintenance update)? Still required?
xx

Template lorem ipsum dolor sit amet

BRANCH: foo

FILE: foo/bar.rst

DESCR: Lorem ipsum dolor sit amet.

CONTACT: optional; use @notation

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

OPEN: optional

  • No labels