[VOL-5004] - Clone unit tests to run on a v2.12 branch

[VOL-5007]
[VOL-5010]

howto/release/preparation.rst
howto/release/ci-management/index.rst
howto/release/ci-management/create_lts_view.rst
-----------------------------------------------
  o Document new makefile targets added to help branch jenkins
  o jobs for release.

Change-Id: I79b27cb16a11c76417d5f6fc2458e4c2d1bee2e0
diff --git a/VERSION b/VERSION
index ccc99d0..6e44ecb 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.12.3
+2.12.4-dev
diff --git a/howto/release/ci-management/clone_and_branch_testing.rst b/howto/release/ci-management/clone_and_branch_testing.rst
new file mode 100644
index 0000000..12bdf62
--- /dev/null
+++ b/howto/release/ci-management/clone_and_branch_testing.rst
@@ -0,0 +1,56 @@
+Jenkins jobs: Release branching for unit tests
+==============================================
+
+Intent
+------
+
+With each new VOLTHA LTS release (v2.12, v2.11, v2.8) jenkins unit testing and
+sandbox tooling must be branched for release to protect testing from
+future enhancements on master branch.
+
+JJB configs used to generate pipeline jobs are maintained in a central
+repository, test suites are not maintained on distinct branches within
+revision control.  Instead versioning is implemented using naming conventions
+within the job configs.
+
+WIP:
+----
+
+Makefile target create-jobs-release will create a versioned hierarchy
+for VOLTHA test jobs.  Refactoring is still needed to modularize job
+definitions from the monolithic yaml job config that contains all
+jobs and versions.
+
+.. code-block:: shell-session
+   :caption: Clone and branch VOLTHA testing for release.
+   :linenos:
+   :emphasize-lines: 5,8,14
+
+   # Clone repo:ci-management
+   % git clone ssh://gerrit.opencord.org:29418/ci-management.git
+   % cd ci-management
+
+   % make help | grep release
+     help-voltha-release Display voltha release targets
+
+   % make help-voltha-release
+   [RELEASE] - Create branch driven testing pipelines
+     create-jobs-release
+     create-jobs-release-nightly Nightly testing
+     create-jobs-release-units   Unit testing
+
+   % make create-jobs-release voltha-version=voltha-2.12
+
+.. code-block:: shell-session
+   :caption: Jenkins (JJB) branched job configs created
+
+   % cd ci-management
+   % find jjb -name '*2.12*'
+
+   jjb/voltha-test/voltha-certification/voltha-2.12.yaml
+   jjb/voltha-test/voltha-nightly-jobs/voltha-2.12.yaml
+
+TODO
+----
+
+- Document the current testing setup and branching within monolithic yaml file.
diff --git a/howto/release/ci-management/create_lts_view.rst b/howto/release/ci-management/create_lts_view.rst
index 0eedd5e..0d76365 100644
--- a/howto/release/ci-management/create_lts_view.rst
+++ b/howto/release/ci-management/create_lts_view.rst
@@ -30,36 +30,38 @@
 Global job view creation
 ------------------------
 
+This option will add a named view in the `jenkins::Dashboard soup <https://jenkins.opencord.org/>`__ at the top.
+
 - Visit `jenkins::Dashboard <https://jenkins.opencord.org>`_
 - Click "New View" in the left margin.
-- Name view for the current release VOLTHA-XXX
+- Name view for the current release voltha-2.12
 - Select type "List View"
+- Click the "create" button
 - Accept basic values to begin configuring
 - Add an appropraite job Description.
 - Scroll down to "Job Filters"
 
-  - Selelect individual jobs
-  - Select "Use a regular expression to include jobs in the view", value: .*voltha-2.11.*
+  - Selelect individual jobs to hardcode an explicit list.
+  - Select "Use a regular expression to pattern match", value: .*voltha-2.12.*
 
-- The voltha-2.8 view deleted the "Coverage" and "Favorite" columns.
-- The voltha-2.11 view is complete for now.
-- Click the "create" button
+- Removing voltha-2.8 view deleted the "Coverage" and "Favorite" columns.
+- The voltha-2.12 view is complete for now.
+- Click the [ok] button
 
-Add job view in the LTS folder
-------------------------------
+Add new release job view in the LTS folder
+------------------------------------------
 
 - Visit `jenkins::Dashboard <https://jenkins.opencord.org>`_
-- Click the `VOLTHA-LTS folder <https://jenkins.opencord.org/job/VOLTHA-LTS/>`_ in center.
+- Click the `VOLTHA-LTS folder <https://jenkins.opencord.org/job/VOLTHA-LTS/>`_ in the center panel beneath job view soup at the top.
 - Click "New View" in the left margin.
-- Add view name: VOLTHA-2.11
+- Add view name: VOLTHA-2.12
 - Select "Include a global view"
 - Click the "create" button
 - Type in an appropraite Description.
-- View name should contain the global view name VOLTHA-2.11
-- Click "Apply"
+- View name should contain the global view name VOLTHA-2.12 created earlier
 - Click "OK"
 
 Access LTS jobs
 ---------------
 - Visit the `VOLTHA-LTS job folder <https://jenkins.opencord.org/job/VOLTHA-LTS/>`__
-- Select or bookmark job view VOLTHA-2.11.
+- Select or bookmark job view `VOLTHA-2.12 <https://jenkins.opencord.org/job/VOLTHA-LTS/view/voltha-2.12/>`_
diff --git a/howto/release/ci-management/index.rst b/howto/release/ci-management/index.rst
index eb7d2e4..5992fc5 100644
--- a/howto/release/ci-management/index.rst
+++ b/howto/release/ci-management/index.rst
@@ -1,5 +1,5 @@
-repo:ci-management
-==================
+Repository: ci-management
+=========================
 
 Intro
 -----
@@ -9,5 +9,6 @@
 .. toctree::
    :maxdepth: 1
 
+   clone_and_branch_testing
    create_lts_view
    jjb_software_upgrades
diff --git a/howto/release/ci-management/jjb_software_upgrades.rst b/howto/release/ci-management/jjb_software_upgrades.rst
index 6f37c27..a5d7048 100644
--- a/howto/release/ci-management/jjb_software_upgrades.rst
+++ b/howto/release/ci-management/jjb_software_upgrades.rst
@@ -1,7 +1,7 @@
 jjb/software-upgrades.yaml
 --------------------------
 
-- Create a new software-upgrades-test-voltha-2.11 branch from master or existing
+- Create a new software-upgrades-test-voltha-x.yy branch from master or existing
   jjb definitions in the yaml config file.
 - Update released component version strings mentioned in the configs.
 - Update master branch released versions as well.
diff --git a/howto/release/index.rst b/howto/release/index.rst
index 29e1002..6dfa10f 100644
--- a/howto/release/index.rst
+++ b/howto/release/index.rst
@@ -4,6 +4,7 @@
 .. toctree::
    :maxdepth: 1
 
+   preparation
    release-notes
 
    ci-management/index
diff --git a/howto/release/preparation.rst b/howto/release/preparation.rst
index 0fcae23..c4b2bc1 100644
--- a/howto/release/preparation.rst
+++ b/howto/release/preparation.rst
@@ -1,7 +1,22 @@
 Release Preparation
 ===================
 
-As release date approaches and development slows visit the `jira versions dashboard <https://jira.opencord.org/projects/VOL?selectedItem=com.atlassian.jira.jira-projects-plugin%3Arelease-page&status=unreleased>`.
+Jira Tickets
+------------
+As release date approaches and development slows visit the `jira versions dashboard <https://jira.opencord.org/projects/VOL?selectedItem=com.atlassian.jira.jira-projects-plugin%3Arelease-page&status=unreleased>`_.
+
 - Create a new dashboard for the future release candidate.
-- Visit the current release candidate and move all unresolved tickets into the future desktop.
+- Visit the current released candidate version and move all unresolved tickets into the future desktop.
 - On release day click the [Release] button to close out the desktop.
+
+Confluence
+----------
+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.
+- Versions and build state of dependent apps and packages (also merged into release notes).
+
+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>`_