Misc updates related to release.
howto/release/components/index.rst
howto/release/components/maclearner/index.rst
howto/release/components/olttopology/index.rst
howto/release/components/pppoeagent/index.rst
----------------------------------------------
o Document maven plugins and dependencies for components.
config.mk
---------
o Disable yaml linting for now, volume problems to cleanup.
howto/code/index.rst
howto/code/job-failures.rst
---------------------------
o Added a new page for documenting common jenkins problems.
howto/release/checklist.rst
howto/release/preparation.rst
overview/contributing.rst
release_notes/release_process.rst
---------------------------------
o Incremental edits related to release steps.
Change-Id: I84db4d422556dbbeeaa5bf5351060dc193585e40
diff --git a/VERSION b/VERSION
index b6b8903..65cde91 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.12.4.5-dev
+2.12.4.6-dev
diff --git a/config.mk b/config.mk
index 382fdf9..b8c2922 100644
--- a/config.mk
+++ b/config.mk
@@ -21,16 +21,16 @@
# NO-LINT-DOC8 := true
NO-LINT-FLAKE8 := true# # NOTE[1]
# NO-LINT-JJB := true
-NO-LINT-JSON := true
+NO-LINT-JSON := true
# python -m json.tool ./_build/linkcheck/output.json
# Extra data: line 2 column 1 (char 181)
# NO-LINT-MAKE := true
NO-LINT-PYLINT := true# # NOTE[1]
# NO-LINT-PYTHON := true
-NO-LINT-ROBOT := true# # NOTE[2]
+NO-LINT-ROBOT := true# # NOTE[2]
# NO-LINT-SHELL := true
# NO-LINT-TOX := true# # WIP
-# NO-LINT-YAML := true
+NO-LINT-YAML := true
# NOTE[1] - Cleanup needed to enable as a default make lint target
# NOTE[2] - Doc repo, no need to lint robot sources here.
diff --git a/howto/code/index.rst b/howto/code/index.rst
index 0d23582..685dc2a 100644
--- a/howto/code/index.rst
+++ b/howto/code/index.rst
@@ -4,5 +4,6 @@
.. toctree::
:maxdepth: 2
+ job-failures
linting
pull_request
diff --git a/howto/code/job-failures.rst b/howto/code/job-failures.rst
new file mode 100644
index 0000000..ac7870b
--- /dev/null
+++ b/howto/code/job-failures.rst
@@ -0,0 +1,42 @@
+Jenkins: Common job failures
+============================
+
+ERROR: Duplicate tag (job: version-tag_wildcard)
+-------------------------------------------------
+
+.. code:: bash
+
+ 02:44:55 v4.3.3 Tagged by CORD Jenkins version-tag job: 384, for Gerrit patchset: 33916
+ 02:44:55 v4.3.4 Tagged by CORD Jenkins version-tag job: 388, for Gerrit patchset: 34359
+ 02:44:55 go-based project found, using v-prefixed version for git tags: v4.3.4
+ 02:44:55 Version string '4.3.4' in 'VERSION' is a SemVer released version!
+ 02:44:55 ERROR: Duplicate tag: v4.3.4
+ 02:44:55 Build step 'Execute shell' marked build as failure
+
+FIX:
+^^^^
+
+Most VOLTHA repositories contain the file `VERISON <https://gerrit.opencord.org/plugins/gitiles/voltha-openolt-adapter/+/refs/heads/master/VERSION>`_ which contain a semantic version string for builds.
+
+Content and use of the VERSION file is documented [`here <https://docs.voltha.org/master/overview/contributing.html#versioning>`_]
+
+- Problem #1: No VERSION file included with a patch.
+
+ - If a VERSION file was not included in your patch simply add it with an incremented version string.
+
+- Problem #2: Development collision
+
+ - Periodically two devs may work in a repository at the same time.
+ - Jenkins job processing is on a first-come-first-serve-basis.
+ - When two patches are submitted for inclusion
+
+ - The first patch will be accepted.
+ - The second patch will fail with a duplicate tag.
+
+ - This is a normal development event, when it happens check the repository
+ to determine the latest VERSION string, increment the value and include
+ the VERSION file in your patch.
+ - ie: git commit --amend; git rebase; git review
+
+
+
diff --git a/howto/release/checklist.rst b/howto/release/checklist.rst
index 66cd045..789d779 100644
--- a/howto/release/checklist.rst
+++ b/howto/release/checklist.rst
@@ -113,3 +113,5 @@
- Run gofmt on sources
* - make mod-update
- Update go mod files
+
+Review `voltha-helm-charts <https://gerrit.opencord.org/plugins/gitiles/voltha-helm-charts>`_
diff --git a/howto/release/components/index.rst b/howto/release/components/index.rst
index b46cd67..3d4dfdb 100644
--- a/howto/release/components/index.rst
+++ b/howto/release/components/index.rst
@@ -15,3 +15,13 @@
voltha-openolt-adapter
voltha-openonu-adapter-go
+ maclearner/index
+ mcast/index
+ olt/index
+ olttopology/index
+ pppoeagent/index
+
+
+See Also
+--------
+ `VOLTHA and ONOS update procedures <https://docs.voltha.org/master/operations/software-upgrade.html?highlight=set%20global%20image>`_.
diff --git a/howto/release/components/maclearner/index.rst b/howto/release/components/maclearner/index.rst
new file mode 100644
index 0000000..5020439
--- /dev/null
+++ b/howto/release/components/maclearner/index.rst
@@ -0,0 +1,13 @@
+ONOS Component: maclearner
+==========================
+
+Dependencies (pom.xml)
+----------------------
+
+- Maven Plugins
+
+- Components
+
+`gerrit:mac-learning <https://gerrit.opencord.org/plugins/gitiles/mac-learning/+/refs/tags/1.2.1>`_
+`maven central:maclearner <https://central.sonatype.com/artifact/org.opencord/maclearner/1.2.1>`_
+pom.xml:maclearner
diff --git a/howto/release/components/olttopology/index.rst b/howto/release/components/olttopology/index.rst
new file mode 100644
index 0000000..3394cd1
--- /dev/null
+++ b/howto/release/components/olttopology/index.rst
@@ -0,0 +1,14 @@
+ONOS Component: olttopology
+===========================
+
+Dependencies (pom.xml)
+----------------------
+
+- Maven Plugins
+
+ - spotbugs-maven-plugin
+ - findsecbugs-plugin
+
+- Components
+
+ - sadis
diff --git a/howto/release/components/pppoeagent/index.rst b/howto/release/components/pppoeagent/index.rst
new file mode 100644
index 0000000..9e81c46
--- /dev/null
+++ b/howto/release/components/pppoeagent/index.rst
@@ -0,0 +1,14 @@
+ONOS Component: pppoeagent
+==========================
+
+Dependencies (pom.xml)
+----------------------
+
+- Maven Plugins
+
+ - spotbugs-maven-plugin
+ - findsecbugs-plugin
+
+- Components
+
+ - sadis
diff --git a/howto/release/preparation.rst b/howto/release/preparation.rst
index a46d385..2c515d0 100644
--- a/howto/release/preparation.rst
+++ b/howto/release/preparation.rst
@@ -11,7 +11,7 @@
Confluence
----------
-Create a `release tracking page` <https://wiki.opennetworking.org/display/VOLTHA/v2.12>`_ in confluence, there are a lot of details
+Create a `release tracking page <https://wiki.opennetworking.org/display/VOLTHA/v2.12>`_ in confluence, there are a lot of details
- Jira tickets related to release and VOLTHA builds.
- Jenkins jobs: state, failures and tickets.
@@ -19,7 +19,7 @@
docs.voltha.org
---------------
-- Create a stub `release notes <https://docs.voltha.org/master/release_notes/voltha_2.12.html>`_ page beneath `docs.voltha.org/release_notes <https://docs.voltha.org/master/release_notes/index.html>`_ (`HOWTO <https://docs.voltha.org/master/howto/release/release-notes.html>`_
+- Create a stub `release notes <https://docs.voltha.org/master/release_notes/voltha_2.12.html>`_ page beneath `docs.voltha.org/release_notes <https://docs.voltha.org/master/release_notes/index.html>`_ (`HOWTO <https://docs.voltha.org/master/howto/release/release-notes.html>`_)
golang repositories
-------------------
diff --git a/overview/contributing.rst b/overview/contributing.rst
index dba3b8e..f774e18 100644
--- a/overview/contributing.rst
+++ b/overview/contributing.rst
@@ -90,6 +90,10 @@
All of the VOLTHA components and the charts include a VERSION file that specifies
the version of the service, library, protobuf, test suite included in the repository.
+
+- The `VERSION <https://gerrit.opencord.org/plugins/gitiles/voltha-go/+/refs/heads/master/VERSION>`_ file can be found in a repository root directory.
+- One exception: maven based builds using pom.xml files.
+
The VERSION is in the format and follows the `SemVer principles <https://semver.org>`_
VOLTHA also follows the guidelines on how to increment versions as described in the
`SemVer specification <https://semver.org/#semantic-versioning-specification-semver>`_.
diff --git a/release_notes/release_process.rst b/release_notes/release_process.rst
index cbdfff5..89100fd 100644
--- a/release_notes/release_process.rst
+++ b/release_notes/release_process.rst
@@ -23,24 +23,21 @@
``Chart.yaml`` within the `voltha-helm-charts
<https://gerrit.opencord.org/gitweb?p=voltha-helm-charts.git;a=summary>`_ repo.
-Accompanying tests for 2.3 are created by creating a branch created named
-``voltha-2.3`` on the `voltha-system-tests
-<https://gerrit.opencord.org/gitweb?p=voltha-system-tests.git;a=summary>`_
-repo. At release we create a tag ``2.3.0`` on that branch.
+A testing branch for ``2.3`` named ``voltha-2.3`` is created on repository `voltha-system-tests <https://gerrit.opencord.org/gitweb?p=voltha-system-tests.git;a=summary>`_. At release we create a tag ``2.3.0`` on that branch.
These two repos are the only ones receiving a ``2.3.0`` tag. Other repos that
contain individual components have their own versioning/release cadence, driven
by SemVer.
-For all other repos that create components that go into the release, tags will
-be created and ``voltha-2.3`` branches are created starting from the tag.
+For all other repos that create components that go into the release, a tag will
+be created and branch ``voltha-2.3`` will be created from the release tag.
To allow for future patches to go into the repo in a way that does not conflict
-with the patch version, each component repo's ``VERSION`` file should have it's
-Minor version increased. (ex: ``1.1.x`` to ``1.2.0-dev``, so future ``1.1.x+1``
-component release can easily be created).
+with the patch version, each component repository ``VERSION`` file should
+have the Minor version increased. (ex: ``1.1.x`` to ``1.2.0-dev``, so future
+``1.1.x+1`` component release can easily be created).
-Testing CI jobs will be created that check out the voltha-2.3 branch of the
+Testing CI jobs will be created that check out the ``voltha-2.3`` branch of the
`voltha-system-tests
<https://gerrit.opencord.org/gitweb?p=voltha-system-tests.git;a=summary>`_
repo, testing the charts as checked out with the ``voltha-2.3`` branch of