Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: architecture contacts updated


main

Update 'doc' project release notes

BRANCH: master; then cherry-pic for 'newbranch'

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 and cherry-pic the change for 'newbranch'.

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

› View in RTD

OPEN: check all project specific release notes (updated? release number/release name correct? ...)

OPEN: Evaluate if we can/should have 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 'istanbul'). Or should we remove - at least - release names in the RTD navigation (column on the left)?

Update 'marketing' ('composite') release note

BRANCH: master; then cherry-pic for 'newbranch'

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 note. The text is authored by LFN marketing together with the ONAP TSC chair. They are using information from the 'Release Key Updates' table which is maintained by the projects during the release process (e.g. 'Release Key Updates' for the 'istanbul' release). The text is provided in text form and has to be converted to reStructuredText format manually. Update the file accordingly - especially the release date and cherry-pic the change for 'newbranch'.

CONTACT: Catherine Lefevre Kenny Paul Eric Debeau Brandon Wick

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

› View in RTD

OPEN: Add a task/milestone for 'Marketing' to the release process?

OPEN: Describe the process of conversion to reStructuredText format. Example Source

Update list of project specific release notes

BRANCH: master; then cherry-pic for 'newbranch'

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 represent 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 list - regardless if this project/repository is currently maintained, unmaintained or in another state. Update the file accordingly for the new release and cherry-pic the change for 'newbranch'.

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

› View in RTD

OPEN: Add reliable source for 'release participating 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).

OPEN: There are plans for upcoming releases to include only projects/repositories which are in 'maintained' state and have created a branch for the new release.

Update release history in overview

BRANCH: master; then cherry-pic for 'newbranch'

FILE: doc/docs/guides/overview/overview.rst

DESCR: This file contains a table with the release history (release number, date, name). Update the file for the new release and cherry-pic the change for 'newbranch'.

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

› View in RTD

OPEN: Additional check and update by Architecture Subcommittee required?

Update architecture description

BRANCH: master; then cherry-pic for 'newbranch'

FILE: doc/docs/guides/onap-developer/architecture/onap-architecture.rst

DESCR: This file contains a description of the ONAP architecture. Update the file for the new release and cherry-pic the change for 'newbranch'.

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

› View in RTD

OPEN: Activity for the Architecture Subcommittee (change rst file and propose a patch)? Add task/milestone to the release process? To be alligned with marketing department?

Update sphinx build configuration file 'conf.py'

BRANCH: 'newbranch'

FILE: doc/docs/conf.py

DESCR: The Sphinx build configuration file 'conf.py' contains configuration needed to customize Sphinx On top , set "branch = 'newbranch'".
  • Set 'intersphinx_mapping' for all participating projects/repositories.
  • Update 'linkcheck_ignore' entries.
  • (warning) IMPORTANT: Not changing 'linkcheck_ignore' entries will lead into 'anchor issues' during the documentation build process.

    Note: The different 'intersphinx_mapping' sections in the 'conf.py' represent 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 'istanbul' branch/release

     

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

    OPEN: Include changes/actions required because we have introduced constraints-files.

    OPEN: Update to 'conf.yaml' required after branching the repo?

    OPEN: There are plans for upcoming releases to include only projects/repositories which are in 'maintained' state and have created a branch for the new release.

    Update interactive ONAP architecture overview and related files

    BRANCH: 'newbranch'

    FILE #1: doc/docs/guides/onap-developer/architecture/media/onap-architecture-overview-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' project team) must already have been aligned to the official ONAP architecture diagram maintained by the Architecture Subcommittee (e.g. Istanbul-R9 Architecture Diagram). The interactive ONAP architecture overview must have been updated and prepared to be used in the new branch (architecture elements in the interactive overview). The embedded release info/descriptions/links and labels-and-links.xlsx file must be updated to reflect the new release.
    2. Open the file 'onap-architecture-overview-labels-and-links.xlsx', change links to point to 'newbranch' and not 'latest'; check if links are reachable (to be detailed)
    3. Open file 'onap-architecture-overview-interactive.svg' in Inkscape
    4. In the 'Objects' window find the 'releaseinfo.link' object. Make it visible by clicking on the 'closed eye' symbol to change it to an 'open eye' symbol. Now the release info should be visible on the overview.
    5. Click on tab 'Object attributes' and check/update the content of the field 'Href:' (the link must point to 'newbranch', not 'latest').
    6. Check/update also the content of the field 'Title:' to the new release number and name (e.g. 'ONAP Release 9 »Istanbul«').
    7. Check and update all embedded links to point to 'newbranch' and not 'latest'. (to be detailed; search and replace in editor?)
    8. Save the file.
    9. Save the file a second time, but with a new filename. Use 'onap-architecture-overview-interactive-path.svg'.
    10. Then 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).
    11. 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 of the 'pathed' version ('onap-architecture-overview-interactive-path.svg').

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

    › View in RTD

    OPEN: Describe how to update and test links in xls and svg.

    OPEN: Update links in 'onap-architecture-overview-interactive.svg' by using an editor and replacing very carefully '/en/latest/' with '/en/<newbranch>' ? Do all links work?

    TITLE

    P01: Create documentation for an ONAP

    release (doc project team)

    SUBJECT

    Procedure #01 describes the required tasks which

    must be

    are performed by the ONAP 'doc' project team and supplying parties to create the release-specific documentation for an ONAP main and maintenance release.

    Although this procedure targets the 'doc' project, it can give general advice for all other ONAP projects to create their release specific documentation. Read "P02: Create documentation for an ONAP release (ONAP project teams)" if you need to create documentation for an ONAP project other than 'doc'.

    TARGET AUDIENCE
    ONAP 'doc' project team: Maintainers of the 'doc' repository
    Supplying parties: Architecture Subcommittee, ONAP MarketingTSC Chair
    RELEASE RELEVANCE
    9.0.0 'Istanbul' – 8.0.0 'HonoluluR12 'London' - R11 'Kohn'
    TABLE OF CONTENTS

    Table of Contents
    maxLevel3
    minLevel32
    styledisk

    AUTHOR
    (S)
    REVIEWER
    (S)
    use @notation-
    NOTES

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

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

    01

    Create a new Jira tasks and use the ID for all upcoming changes

    BRANCH: 'newbranch'

    FILE: n/a

    DESCR: Please follow the instructions below.

    1. Open https://https://jira.onap.org/
    2. Create a new task for the 'doc' project and name it e.g. "Create docs for '<newbranch>' main release". Assign the release 'newbranch' to it. The ID  is required for submitting all related changes in gerrit. The format to be used in gerrit is 'Issue-ID: DOC-nnn'.
    02

    Create the new branch of the 'doc' project using 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.

    (warning) IMPORTANT: To trigger the documentation build in ReadTheDocs, you must change at least one of the ReStructuredText files (.rst) in this new branch. Only branching your repository does not trigger the RTD doc build process!

    03
    04
    05
    06
    07

    The following tasks may have a different relevance depending on the type of release (main, maintenance) you are working on. Optional tasks for a maintenance release marked as 'maintenance (opt)'. They are expected to be performed only if you need to fix issues or you have to incorporate smaller changes.

    The placeholder '{release}' needs to be substituted by the name of the new release, e.g. 'istanbul' or 'jakarta'.

    (warning) With introduction of the ONAP 'jakarta' release a project/repository containing formal ONAP documentation (rst format) needs to create a release branch in any case. Otherwise the project/repository can not be included to the release-specific version of documentation in ReadTheDocs.

    EXAMPLE CONFIGS

    Together with the 'doc' repository the documentation team provides basic 'tox', 'sphinx' and ReadTheDocs example configuration files to be used by other ONAP projects (except 'doc'). Every project containing documentation in ReStructuredText format needs them. The files are:

    • conf.py
    • requirements-docs.txt
    • tox.ini
    • .readthedocs.yaml
    • ribbon.css

    (warning) Always check that the configuration files used in your repository are in sync with the provided examples. The example configs of course can be extended to fulfill specific needs of other ONAP projects. Please note README.md for the details.

    EXAMPLES ONLY: 'examples' directory in the 'doc' repository (master):

    FULL: Full file and folder structure of the 'doc' repository (master) to show where active config files are generally stored in a repository.

    (warning) The content of active configuration files in the 'doc' repository may differ from the content of config files for other ONAP projects!

    1.0

    MASTER BRANCH PREPARATION

    1.1

    Create a new Jira task and use the ID for all upcoming changes

    RELEASE: main + maintenance

    BRANCH: not applicable

    FILE: n/a

    DESCR: Generally you need to add an Issue-ID to any gerrit change. Please follow the instructions below.

    1. Open https://https://jira.onap.org/
    2. Create a new task for the 'doc' project and name it e.g. "Create docs for '{release}' {main|maintenance} release". Assign the release '{release}' to it. The ID is required for submitting all related changes in gerrit. The format to be used in gerrit is 'Issue-ID: DOC-nnn'.
    1.2

    Clone 'master' branch of 'doc' repository to your local development environment

    RELEASE: main + maintenance

    BRANCH: 'master'

    FILE: all

    DESCR: Please use the command below.

    git clone -b master ssh://<username>@gerrit.onap.org:29418/doc

    Now you can start to modify files in the 'master' branch.

    2.0

    MASTER BRANCH UPDATES

    2.1

    Ensure correct 'defaultbranch' in '.gitreview'

    RELEASE: main

    BRANCH: 'master'

    FILE: doc/.gitreview

    DESCR: Check that the 'defaultbranch' entry is pointing to 'master' ('defaultbranch=master'). This can help to avoid that changes are accidentally committed or even published to a wrong branch.

    EXAMPLE: active '.gitreview' for 'master' branch, 'doc' project

     

    2.2

    Update Sphinx configuration file 'conf.py'

    RELEASE: main + maintenance (opt)

    BRANCH: 'master'

    FILE: doc/docs/conf.py

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

    1. Set 'release' and 'version' to 'master'
    2. Set 'branch' to 'latest'.
    3. Set 'intersphinx_mapping' for projects/repositories participating to the release.
    4. Remove 'intersphinx_mapping' for projects/repositories not participating to the release.

    Also compare the version used in your repository with the example provided in the 'doc' repo and update if required. Be careful if your active configuration file was already extended.

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

    EXAMPLE #2: active 'conf.py' for 'master' branch

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

    OPEN: Include changes/actions required because we have introduced constraints-files.

    OPEN: Update to 'conf.yaml' required after branching the repo?

    OPEN: Add note to keep files/content  in sync: conf.py / list of project specific release notes / references in 'ONAP Components and Functionalities' section

    2.3

    Update Sphinx configuration file 'requirements-docs.txt'

    RELEASE: main

    BRANCH: 'master'

    FILE: doc/docs/etc/requirements-docs.txt

    DESCR: The file contains the required libraries to be used by Sphinx. Compare the version used in your repository with the example provided in the 'doc' repo and update if required. Be careful if your active configuration file was already extended.

    EXAMPLE #1: example 'requirements-docs.txt' for 'master' branch

     

    EXAMPLE #2: active 'requirements-docs.txt' for 'master' branch

     

    2.4

    Update Tox configuration file 'tox.ini'

    RELEASE: main

    BRANCH: 'master'

    FILE: doc/tox.ini

    DESCR: The file is required to customize different tox environments. Compare the version used in your repository with the example provided in the 'doc' repo and update if required.  Be careful if your active configuration file was already extended.

    1. Set correct branch (master) for all (warning) lines containing:

    -chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt?h=master

    EXAMPLE #1: example 'tox.ini' for 'master' branch

     

    EXAMPLE #2: active 'tox.ini' for 'master' branch

     

    OPEN: Update 'upper-constraints' entries here after the final version of the file is available in the 'doc' repo

    2.5

    Update ReadTheDocs build configuration file '.readthedocs.yaml'

    RELEASE: main + maintenance (opt)

    BRANCH: 'master'

    FILE: doc/.readthedocs.yaml

    DESCR: The ReadTheDocs build configuration file '.readthedocs.yaml' contains configuration needed to customize ReadTheDocs

    08

    Clone the new doc branch to your local development environment

    BRANCH: 'newbranch'

    FILE: all

    DESCR: Please use the command below.

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

    Now you can start to modify files in the new branch.

    09

    Set correct 'defaultbranch' in '.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 accidently committed or even published to a wrong branch.

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

     

    10

    input and output behavior. Please follow the instructions below.

    1. Compare the version of the file
    11
    1. currently used in your repository with the (basic) version provided in the examples
    2. If required, change the file in your repository

    Also compare the version used in your repository with the example provided in the 'doc' repo and update if required.  Be careful if your active configuration file was already extended. 

    EXAMPLE #1: example '.readthedocs.yaml', same for 'master' branch and '{release}'

    EXAMPLE #2: active '.readthedocs.yaml', same for 'master' branch and '{release}'

    2.6

    Update ReadTheDocs configuration file 'ribbon.css'

    RELEASE: main + maintenance (opt)

    BRANCH: 'master'

    FILE: doc/docs/_static/css/ribbon.css

    DESCR: The ReadTheDocs configuration file 'ribbon.css' has - among others - an effect on the width of a RTD documentation page. The width has been limited to ensure good readability. Please follow the instructions below.

    1. Compare the version of the file currently used in your repository with the (basic) version provided in the examples
    2. If required, change the file in your repository

    Also compare the version used in your repository with the example provided in the 'doc' repo and update if required. Be careful if your active configuration file was already extended. 

    EXAMPLE #1: example 'ribbon.css', same for 'master' branch and '{release}'

    EXAMPLE #2: active 'ribbon.css', same for 'master' branch and '{release}'

    2.7

    RELEASE: main + maintenance (opt)

    BRANCH: 'master'

    FILE: doc/docs/release-notes.rst

    DESCR: The file contains a description of the latest changes in the 'doc' project itself. Update it accordingly for the new release. Also update the Jira link to the '{release}' issues at the bottom of the file.

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

    › View in RTD

    OPEN: Evaluate if we can/should have 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 'istanbul'). Or should we remove - at least - release names in the RTD navigation (column on the left)?

    2.8

    Update composite release notes

    RELEASE: main + maintenance (opt)

    BRANCH: 'master'

    FILE: doc/docs/release/index.rst

    DESCR: This file contains a brief overview about the advantages and latest developments related to the new release. It is also known as the 'composite' release note. The text is authored by the 'doc' team together with the ONAP TSC chair. We are using information from the 'Release Key Updates' table which is maintained by the projects during the release process (e.g. 'Release Key Updates' for the 'istanbul' release). The content is provided in text form and has to be converted to reStructuredText format manually.

    Additional sources of information:

    • Jira: Set a filter to select all Jira tickets which were assigned to the release (e.g. Jira tickets for the 'Istanbul' maintenance release #1) to see what has changed. Update the file accordingly - especially the release date.
    • Gerrit: Choose the OOM project in Gerrit and switch to the log messages for the required ONAP release (e.g. changes in OOM for the 'Istanbul' release). Then check what has caused changes to OOM since the date the previous version of ONAP was released.

    CONTACT: Sandra Jackson Pawel Pawlak 

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

    › View in RTD

    OPEN: Add a task/milestone to the release process?

    OPEN: Describe the process of conversion to reStructuredText format. Example Source

    2.9

    Update list of project specific release notes

    RELEASE: main + maintenance (opt)

    BRANCH: 'master'

    FILE: doc/docs/release/component-release-notes.rst

    DESCR: This file contains a table of contents (TOC) for project specific release notes. Important to know: Beginning with the 'jakarta' release a project/repository contributing to the documentation of the release needs to a) be actively maintained and b) create a branch for the new release. Otherwise the project/repository will not be included. Update the file accordingly for the new release.

    EXAMPLE: 'component-release-notes' for 'master' branch

    › View in RTD

    OPEN: Add reliable source for 'release participating projects/repositories' and their 'maintenance-state'.

    OPEN: Describe how to locate and check all the project specific release notes (updated? release number/release name correct? ...).

    OPEN: Evaluate if we can/should have 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 'istanbul'). Or should we remove - at least - release names in the RTD navigation (column on the left)?

    2.10

    Update release history

    RELEASE: main + maintenance

    BRANCH: 'master'

    FILE: doc/docs/release/history.rst

    DESCR: This file contains a table with the release history (release number, date, name). Update the file accordingly for the new release.

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

    › View in RTD

    OPEN: Additional check and update by Architecture Subcommittee required?

    2.11

    Update 'ONAP Overview'

    RELEASE: main + maintenance (opt)

    BRANCH: 'master'

    FILE: docs/platform/overview/index.rst

    DESCR: This file contains an overview of ONAP authored together with the architecture subcommittee. Update the file accordingly for the new release.

    CONTACT: Byung-Woo Jun 

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

    › View in RTD

    OPEN: Activity for the Architecture Subcommittee (change rst file and propose a patch)? Add task/milestone to the release process? To be aligned with marketing department?

    2.12

    Update architecture description

    RELEASE: main + maintenance (opt)

    BRANCH: 'master'

    FILE: doc/docs/platform/architecture/index.rst

    DESCR: This file contains a description of the ONAP architecture authored together with the architecture subcommittee. Update the file accordingly for the new release.

    CONTACT:Byung-Woo Jun 

    EXAMPLE: 'docs/platform/architecture/index.rst' for 'master' branch

    › View in RTD

    OPEN: Activity for the Architecture Subcommittee (change rst file and propose a patch)? Add task/milestone to the release process? To be aligned with marketing department?

    2.13

    Update interactive ONAP architecture overview diagram and related files

    RELEASE: main + maintenance (opt)

    BRANCH: 'master'

    FILE #1: doc/docs/platform/architecture/media/onap-architecture-overview-interactive.svg

    FILE #2: doc/docs/platform/architecture/media/onap-architecture-overview-notes.txt

    FILE #3: doc/docs/platform/architecture/index.rst

    FILE #4: doc/docs/platform/architecture/media/onap-architecture-overview-labels-and-links.xlsx

    CONTACT: Byung-Woo Jun  Thomas Kulik

    DESCR: Please follow the instructions below.

    1. Optional: Open the file 'onap-architecture-overview-labels-and-links.xlsx', check if links are reachable. Update file if required. (to be detailed)
    2. The interactive ONAP architecture overview (svg format, maintained by the 'doc' project team) needs to be aligned with the official ONAP architecture diagram maintained by the Architecture Subcommittee (e.g. Istanbul-R9 Architecture Diagram). Open the file 'onap-architecture-overview-interactive.svg' in Inkscape and change the architecture building blocks accordingly. Read more about this in the onap-architecture-overview-notes.txt .
    3. In the 'Objects' window find the 'releaseinfo.link' object. Make it visible by clicking on the 'closed eye' symbol to change it to an 'open eye' symbol. Now the release info should be visible on the overview.
    4. Click on tab 'Object attributes' and check/update the content of the field 'Href:' (the link must point to 'latest').
    5. Update the content of the field 'Title:' to show the new release number and name (e.g. 'ONAP Release 9 »Istanbul«').
    6. In the 'Objects' window find the 'releaseinfo.link' object. Make it invisible again by clicking on the 'open eye' symbol to change it to a 'closed eye' symbol. Now the release info should be no longer visible on the overview.
    7. Save the file.
    8. Save the file a second time, (warning) but with a new filename. Use 'onap-architecture-overview-interactive-path.svg'.
    9. Then select all (warning) elements in the map and use the Inkscape function 'Path → Object to Path' to convert all elements to pathes. Save the overview map, close Inkscape (and remember to do no (warning) further changes to this 'pathed' version of the overview).
    10. Info: In 'doc/docs/guides/onap-developer/architecture/onap-architecture.rst' you find a '.. raw:: html' section which contains the filename of the interactive ONAP architecture overview. You must use the filename of the 'pathed' version ('onap-architecture-overview-interactive-path.svg') here!

    EXAMPLE: 'doc/docs/platform/architecture/index.rst' for 'master' branch

    › View in RTD

    OPEN: Describe how to update and test links in xls and svg.

    2.14

    Update references in 'ONAP Components and Functionalities' section

    RELEASE: main + maintenance (opt)

    BRANCH: 'master'

    FILE: docs/platform/components/index.rst

    DESCR: This file contains references to the detailed documentation of ONAP projects, components and functionalities. Important to know: Beginning with the 'jakarta' release a project/repository contributing to the documentation of the release needs to a) be actively maintained and b) create a branch for the new release. Otherwise the project/repository will not be included. Update the file accordingly for the new release.

    EXAMPLE: 'docs/platform/components/index.rst' for 'master' branch

    › View in RTD

    3.0

    RELEASE BRANCH PREPARATION

    3.1

    Create new branch of the 'doc' repository using gerrit

    RELEASE: main

    BRANCH: source/initial='master', target/new={release}

    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.

    (warning) IMPORTANT: To trigger the documentation build in ReadTheDocs, you must change at least one of the ReStructuredText files (.rst) in the new branch. Only branching the repository does not trigger the RTD doc build process. Consequently the '{release}' version of documentation is missing in RTD.

    OPEN: Currently we are branching the repository early - and consequently have to cherry-pick the changes (done in 'master') for '{release}'. Check if it is ok to branch late (after changing the majority of files). So we can reduce cherry-pick efforts.

    3.2

    Clone '{release}' branch of 'doc' repository to your local development environment

    RELEASE: main + maintenance

    BRANCH: {release}

    FILE: all

    DESCR: Please use the command below.

    git clone --branch {release} ssh://<username>@gerrit.onap.org:29418/doc

    Now you can start to modify files in the new branch.

    4.0

    RELEASE BRANCH UPDATES

    4.1

    Set correct 'defaultbranch' in '.gitreview'

    RELEASE: main

    BRANCH: {release}

    FILE: doc/.gitreview

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

    EXAMPLE: active '.gitreview' for 'jakarta' branch

     

    4.2

    Update Sphinx build configuration file 'conf.py'

    RELEASE: main + maintenance (opt)

    BRANCH: {release}

    FILE: doc/docs/conf.py

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

    1. Set 'release' and 'version' to '{release}'.
    2. Set 'branch' to '{release}'.
    3. Set 'intersphinx_mapping' for all participating projects/repositories.

    Note: Beginning with the 'jakarta' release a project/repository contributing to the documentation of the release needs to a) be actively maintained and b) create a branch for the new release. Otherwise the project/repository will not be included. Intersphinx mapping sections for those projects/repositories are removed from 'conf.py'.

    EXAMPLE: active 'conf.py' for 'jakarta' branch

     

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

    OPEN: Include changes/actions required because we have introduced constraints-files.

    OPEN: Update to 'conf.yaml' required after branching the repo?

    4.3

    Update Tox configuration file 'tox.ini'

    RELEASE: main

    BRANCH: {release}

    FILE: doc/tox.ini

    DESCR: The file is required to customize different tox environments. Compare the version used in your repository with the example provided in the 'doc' repo and update if required.  Be careful if your active configuration file was already extended.

    1. Set correct branch {release} for all (warning) lines containing:

    -chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt?h={release}

    EXAMPLE #1: example 'tox.ini' for 'master' branch

     

    EXAMPLE #2: active 'tox.ini' for 'master' branch

     

    4.4

    Update interactive ONAP architecture overview diagram and related files

    RELEASE: main + maintenance (opt)

    BRANCH: {release}

    FILE #1: doc/docs/platform/architecture/media/onap-architecture-overview-interactive.svg

    FILE #2: doc/docs/platform/architecture/media/onap-architecture-overview-notes.txt

    FILE #3: doc/docs/platform/architecture/index.rst

    FILE #4: docs/platform/architecture/media/onap-architecture-overview-labels-and-links.xlsx

    CONTACT: Thomas Kulik

    DESCR: Please follow the instructions below.

    1. PREREQUISITE: The interactive ONAP architecture overview (svg format, maintained by the 'doc' project team) must already have been aligned to the official ONAP architecture diagram maintained by the Architecture Subcommittee (e.g. Istanbul-R9 Architecture Diagram). See above. If not aligned yet, update the diagram in the 'master' branch and cherry-pick it for '{release}'.
    2. Optional: Open the file 'onap-architecture-overview-labels-and-links.xlsx', change links to point to (warning) '{release}' and not 'latest'; check if links are reachable (to be detailed).
    3. Open file 'onap-architecture-overview-interactive.svg' in Inkscape
    4. In the 'Objects' window find the 'releaseinfo.link' object. Make it visible by clicking on the 'closed eye' symbol to change it to an 'open eye' symbol. Now the release info should be visible on the overview.
    5. Click on tab 'Object attributes' and check the content of the field 'Href:' (the link must point to '{release}', not 'latest').
    6. Check also the content of the field 'Title:' to show the new release number and name (e.g. 'ONAP Release 9 »Istanbul«').
    7. Check and update all embedded links to point to '{release}' and not 'latest'. (to be detailed; e.g. search and replace in an text editor?)
    8. Save the file.
    9. Save the file a second time, but with a new filename. Use 'onap-architecture-overview-interactive-path.svg'.
    10. Then 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).
    11. Info: In 'doc/docs/platform/architecture/index.rst' you find a '.. raw:: html' section which contains the filename of the interactive ONAP architecture overview. You must use the filename of the 'pathed' version ('onap-architecture-overview-interactive-path.svg') here!

    EXAMPLE: 'onap-architecture.rst' for 'istanbul' branch (TO BE CHANGED! Needs an update to 'index.rst' if 'Kohn' release is available)

    › View in RTD

    OPEN: Update example if 'Kohn' release is available ( onap-architecture.rst → doc/docs/platform/architecture/index.rst )

    OPEN: Describe how to update and test links in xls and svg.

    OPEN: Update links in 'onap-architecture-overview-interactive.svg' by using an editor and replacing very carefully '/en/latest/' with '/en/{release}'? Do all links work?

    5.0

    READ THE DOCS MAINTENANCE

    5.1

    Deactivate outdated release documentation

    RELEASE: older than 'current -1'

    BRANCH: n/a

    FILE: n/a

    DESCR: Generally, the latest release of ONAP and the one before is supported. Older releases of documentation can be deactivated in RTD. Remove them from the list of 'Active Versions' which is available for every project (repository). Keep only 'latest', {current release} and {current release -1}. For unmaintained projects only keep 'latest' in the list of 'Active Versions'. You need to be administered as a 'Maintainer' in RTD for every single project you like to (de)activate versions.

    EXAMPLE: n/a

    OPEN: To be detailed

    6.0

    IMPROVEMENTS FOR THIS PROCEDURE

    6.1

    Improvements (to be discussed)

    • Always update examples to point to the latest release? Otherwise there is the risk that a release runs out of support and examples do not work any longer.
    OPEN
    Additional open topics
    • Include task for a review process for all documents authored by 'doc' to ensure that their content has relevance also for the new ONAP release?
    • Configuration of the RTD 'default version' ('newbranch{release}' as the starting point, not 'latest')Review process for procedures (incl. field for reviewer name and review date) required?
    • 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?
    • Describe the relation to the ONAP release lifecycle process (milestones)? And include the management of Jira tickets related to the described activities here in this procedure?
    • Stick embedded git file examples to a dedicated commit id to avoid that files are changed and then do not match anymore to the description in the task?
    • ReCheck/ReVerify in gerrit for projects which have created their 'newbranch{release}' but where docs are not yet available in RTD?
    • Integrate changes due to the new repo doc/doc-best-practice