Merge "Release Notes for Packetcable Carbon release"
authorColin Dixon <colin@colindixon.com>
Thu, 29 Jun 2017 12:50:10 +0000 (12:50 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Thu, 29 Jun 2017 12:50:10 +0000 (12:50 +0000)
17 files changed:
docs/conf.py
docs/developer-guide/controller.rst
docs/release-process/index.rst
docs/release-process/milestone-readouts.rst
docs/release-process/milestone-readouts/m0/ttp.rst [new file with mode: 0644]
docs/release-process/project-release.rst [new file with mode: 0644]
docs/release-process/release-schedule.rst [new file with mode: 0644]
docs/submodules/aaa
docs/submodules/coe
docs/submodules/infrautils
docs/submodules/integration/test
docs/submodules/netconf
docs/submodules/netvirt
docs/submodules/odlparent
docs/submodules/ovsdb
docs/submodules/releng/builder
find_bad_words.sh

index ab59a5f0f6ad88c9e03f261f4a82abf3877fd178..51f34d46a871cbf983d89dc2c12275ed3954683f 100755 (executable)
@@ -315,6 +315,8 @@ linkcheck_ignore = [
     'https://git.opendaylight.org/gerrit/#/admin/projects/releng/builder',
 ]
 
+nitpicky = True
+
 import platform
 if platform.system() != 'Windows':
 
index 141c97f7a0c794975108b74e27ec33ea505eeaec..3bec098cf12edec5d37c1b4e216aceb65e83a4a0 100644 (file)
@@ -845,6 +845,17 @@ Line 112: We register salFlowService1 as implementation for nodeOne.
 The salFlowService1 will be executed only for RPCs which contains
 Instance Identifier for foo:node:1.
 
+RPCs and cluster
+^^^^^^^^^^^^^^^^
+
+In case there is is only a single provider of an RPC in the cluster
+the RPC registration is propagated to other nodes via Gossip protocol
+and the RPC calls from other nodes are correctly routed to the
+provider. Since the registrations are not expected to change rapidly
+there is a latency of about 1 second until the registration is reflected
+on the remote nodes.
+
+
 OpenDaylight Controller MD-SAL: RESTCONF
 ----------------------------------------
 
index a971b94c1f532c249772ecc859dbf93725090b2d..f2922730a669841bbaa5ba1ad3b8a79f0a63f4bc 100644 (file)
@@ -17,10 +17,14 @@ Processes
 .. toctree::
    :maxdepth: 1
 
+   project-release
+   namespace
+
+   .. Simultanious Release Related
    autorelease
    project-lifecycle
-   namespace
    branch-cutting
+   release-schedule
    simultaneous-release
    milestone-readouts
 
@@ -32,4 +36,3 @@ The release management team maintains several documents in Google Drive to
 track releases. These documents can be found at this link:
 
 https://drive.google.com/drive/folders/0ByPlysxjHHJaUXdfRkJqRGo4aDg
-
index 4158cd7dd89ca63d7838e59f64ca7b06db89cd29..2ed40cd586cc116341f9ca96b313f2229a146dfa 100644 (file)
@@ -164,9 +164,12 @@ Documentation:
    * One developer guide per top-level feature.
    * An installation guide for any top-level features that require more than ``feature:install
      <feature-name>`` to install.
+   * Eventually, release notes, but it is a good idea to keep release notes as a living document
+     when significant changes others should be aware of are made.
    * Optional tutorials and how tos.
 
-#. Have you checked in an AsciiDoc outline to the docs repository? Yes/No (link to gerrit patch)
+#. Have you checked in a reStructuredText outline for each of the documents you will provide
+   to the docs repository? Yes/No (link to gerrit patch)
 
 Integration and Test:
 
diff --git a/docs/release-process/milestone-readouts/m0/ttp.rst b/docs/release-process/milestone-readouts/m0/ttp.rst
new file mode 100644 (file)
index 0000000..5ebe41f
--- /dev/null
@@ -0,0 +1,11 @@
+#. The Table Type Patterns project formally joins the OpenDaylight Nitrogen Simultaneous Release
+   and agrees to the activities and timeline documented on the Nitrogen Release Plan Page:
+   https://wiki.opendaylight.org/view/Simultaneous_Release:Nitrogen_Release_Plan
+#. Project Offset: 2
+#. Project Category: Protocol
+#. Do you confirm that the list of Active Project Committers is updated and accurate? Yes
+#. Project PTL Contact: Colin Dixon / colin@colindixon.com / colindixon (name/email/IRC)
+#. Project Contact: same
+#. Test Contact: same
+#. Documentation Contact: same
+#. Draft Release Plan: https://wiki.opendaylight.org/view/Table_Type_Patterns/Nitrogen/Release_Plan
diff --git a/docs/release-process/project-release.rst b/docs/release-process/project-release.rst
new file mode 100644 (file)
index 0000000..a16737c
--- /dev/null
@@ -0,0 +1,56 @@
+**************************
+Project Standalone Release
+**************************
+
+This page explains how a project can release independently outside of the
+OpenDaylight simultanious release.
+
+Preparing your project for release
+==================================
+
+A project can produce a staging repository by clicking "build" for their
+{project-name}-maven-release-{stream} job. This job performs the following
+duties:
+
+1. Removes -SNAPSHOT from all pom files
+2. Produces a taglist.log, project.patch, and project.bundle files
+3. Runs a `mvn clean deploy` to a local staging repo
+4. Pushes the staging repo to a Nexus staging repo
+   https://nexus.opendaylight.org/content/repositories/<REPO_ID>
+   (REPO_ID is saved to staging-repo.txt on the log server)
+5. Archives taglist.log, project.patch, and project.bundle files to log server
+
+The files taglist.log and project.bundle can be used later at release time to
+reproduce a byte exact commit of what was built by the Jenkins job. This can
+be used to tag the release at release time.
+
+Releasing your project
+======================
+
+Once testing against the staging repo has been completed and project has
+determined that the staged repo is ready for release. A release can the be
+performed as follows:
+
+1. Ask helpdesk to sign the artifacts in staging repo
+2. Ask helpdesk to promote the staging repo
+3. Download taglist.log and project.bundle
+4. Read taglist.log and checkout the commit hash listed
+5. Merge the project.bundle patches
+6. Git tag the release
+7. Push release tag to Gerrit
+
+Steps 4-7 as bash:
+
+.. code:: bash
+
+    PATCH_DIR=/tmp/patches
+    PROJECT=odlparent
+    VERSION=1.2.3
+    git checkout $(cat "$PATCH_DIR/taglist.log")
+    git fetch "$PATCH_DIR/$PROJECT.bundle"
+    git merge --ff-only FETCH_HEAD
+    git tag -asm "$PROJECT $VERSION" "v$VERSION"
+    git push origin "v$VERSION"
+
+Once complete the Git tag should be available in Gerrit and the Artifacts should
+appear in the Nexus opendaylight.release repo.
diff --git a/docs/release-process/release-schedule.rst b/docs/release-process/release-schedule.rst
new file mode 100644 (file)
index 0000000..9d6ce22
--- /dev/null
@@ -0,0 +1,113 @@
+================
+Release Schedule
+================
+
+While OpenDaylight has always targeted two releases per year, in practice our
+release process for the first six releases (through Carbon) has, in practice,
+released approximately every 8 months. This has meant we don't quite release
+twice a year (Lithium was our only release in 2015) and we struggle to
+coordinate releases with other projects that release at regular times each
+year, e.g., OpenStack and OPNFV.
+
+To try to fix this, we are having a short Nitrogen release and then moving to
+a date-based, six-month release calendar releasing at the same time each year.
+
+Nitrogen
+========
+
++-----------+-----------+-----------+-----------+----------------------------------+
+| milestone | offset 0  | offset 1  | offset 2  | description                      |
++===========+===========+===========+===========+==================================+
+| M0/M1     | 6/7/2017  | 6/14/2017 | 6/21/2017 | Draft Release Plan               |
++-----------+-----------+-----------+-----------+----------------------------------+
+| M2/M3/M4  | 6/28/2017 | 7/7/2017  | 7/14/2017 | Final Release Plan,              |
+|           |           |           |           | Functionality Freeze, API Freeze |
++-----------+-----------+-----------+-----------+----------------------------------+
+| M5        | 7/28/2017 | 8/7/2017  | 8/14/2017 | Code Freeze                      |
++-----------+-----------+-----------+-----------+----------------------------------+
+| RC0       | 8/14/2017 |           |           |                                  |
++-----------+-----------+-----------+-----------+----------------------------------+
+| RC1       | 8/14/2017 |           |           |                                  |
++-----------+-----------+-----------+-----------+----------------------------------+
+| RC2       | 8/14/2017 |           |           |                                  |
++-----------+-----------+-----------+-----------+----------------------------------+
+| RC3       | 8/14/2017 |           |           |                                  |
++-----------+-----------+-----------+-----------+----------------------------------+
+| Release   | 9/7/2017  |           |           |                                  |
++-----------+-----------+-----------+-----------+----------------------------------+
+| SR1       | 10/7/2017 |           |           |                                  |
++-----------+-----------+-----------+-----------+----------------------------------+
+| SR2       | 12/7/2017 |           |           |                                  |
++-----------+-----------+-----------+-----------+----------------------------------+
+| SR3       | 2/7/2018  |           |           |                                  |
++-----------+-----------+-----------+-----------+----------------------------------+
+| SR4       | 3/21--5/7 |           |           |                                  |
++-----------+-----------+-----------+-----------+----------------------------------+
+
+.. note:: Dates are calendar based on the 7th, 14th, 21st, and 28th of each month instead of being
+          on a particular day of the week. The intent is that projects will figure out how to meet
+          the deadline in the way that best works for them even if that means getting work done
+          ahead of time to avoid holidays, weekends, vacation or travel.
+
+Future Odd Releases
+===================
+
+Starting with Oxygen, our odd-numbered element releases will look like this:
+
++-----------+-----------+-------+-------+----------------------------------------+
+| milestone | off0      | off1  | off2  | Description                            |
++===========+===========+=======+=======+========================================+
+|      M0   | 9/7       |       |       | Draft Release Plan                     |
++-----------+-----------+-------+-------+----------------------------------------+
+|      M1   | 10/7      | 10/14 | 10/21 | Final Release Plan, Project Setup      |
++-----------+-----------+-------+-------+----------------------------------------+
+|      M2   | 11/7      | 11/14 | 11/21 | Functionality Freeze                   |
++-----------+-----------+-------+-------+----------------------------------------+
+|      M3   | 12/7      | 12/14 | 12/21 | API Freeze                             |
++-----------+-----------+-------+-------+----------------------------------------+
+|      M4   | 1/7       | 1/14  | 1/21  | Code Freeze *(note M3-M4 will likely   |
+|           |           |       |       | be short since it includes 12/25-1/1)* |
++-----------+-----------+-------+-------+----------------------------------------+
+|     RCs   | 1/21-3/7  |       |       | (continuous build)                     |
++-----------+-----------+-------+-------+----------------------------------------+
+| release   | 3/7       |       |       |                                        |
++-----------+-----------+-------+-------+----------------------------------------+
+|     SR1   | 4/7       |       |       |                                        |
++-----------+-----------+-------+-------+----------------------------------------+
+|     SR2   | 6/7       |       |       |                                        |
++-----------+-----------+-------+-------+----------------------------------------+
+|     SR3   | 8/7       |       |       |                                        |
++-----------+-----------+-------+-------+----------------------------------------+
+|     SR4   | 9/21-11/7 |       |       |                                        |
++-----------+-----------+-------+-------+----------------------------------------+
+
+Future Even Releases
+====================
+
+Starting with Fluorine, our even-numbered element releases will look like this:
+
++-----------+-----------+-------+-------+----------------------------------------+
+| milestone | off0      | off1  | off2  | Description                            |
++===========+===========+=======+=======+========================================+
+|      M0   | 3/7       |       |       | Draft Release Plan                     |
++-----------+-----------+-------+-------+----------------------------------------+
+|      M1   | 4/7       | 4/14  | 4/21  | Final Release Plan, Project Setup      |
++-----------+-----------+-------+-------+----------------------------------------+
+|      M2   | 5/7       | 5/14  | 5/21  | Functionality Freeze                   |
++-----------+-----------+-------+-------+----------------------------------------+
+|      M3   | 6/7       | 6/14  | 6/21  | API Freeze                             |
++-----------+-----------+-------+-------+----------------------------------------+
+|      M4   | 7/7       | 7/14  | 7/21  | Code Freeze                            |
++-----------+-----------+-------+-------+----------------------------------------+
+|     RCs   | 7/21-9/7  |       |       | (continuous build)                     |
++-----------+-----------+-------+-------+----------------------------------------+
+| release   | 9/7       |       |       |                                        |
++-----------+-----------+-------+-------+----------------------------------------+
+|     SR1   | 10/7      |       |       |                                        |
++-----------+-----------+-------+-------+----------------------------------------+
+|     SR2   | 12/7      |       |       |                                        |
++-----------+-----------+-------+-------+----------------------------------------+
+|     SR3   | 2/7       |       |       |                                        |
++-----------+-----------+-------+-------+----------------------------------------+
+|     SR4   | 3/21-5/7  |       |       |                                        |
++-----------+-----------+-------+-------+----------------------------------------+
index 1c0884612a34352282698d0dc31806ff4af7fe9b..8c31b022c29326adc9a05000d24d28e72b8bc919 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 1c0884612a34352282698d0dc31806ff4af7fe9b
+Subproject commit 8c31b022c29326adc9a05000d24d28e72b8bc919
index 91bd9dd58192a5a51fd707b46bf2e4b096614d8c..3ccdc936492dfd3f915dbd28abbe3224f57f3065 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 91bd9dd58192a5a51fd707b46bf2e4b096614d8c
+Subproject commit 3ccdc936492dfd3f915dbd28abbe3224f57f3065
index 9fd865d8065669a4214459ab5a6c23fbcbd30713..cce0cb7e3be6c46a48f053565a8eb39467d8df6e 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 9fd865d8065669a4214459ab5a6c23fbcbd30713
+Subproject commit cce0cb7e3be6c46a48f053565a8eb39467d8df6e
index c3ab56229950eefc700cbcdd720a5cd7c51b29a0..aba049481be0b647b74ebf8d3c2433f3a35daba9 160000 (submodule)
@@ -1 +1 @@
-Subproject commit c3ab56229950eefc700cbcdd720a5cd7c51b29a0
+Subproject commit aba049481be0b647b74ebf8d3c2433f3a35daba9
index 72543f819bb65c6666c0ba1f49d19f2251c8f518..94d75d39f9fd9de7582a77baf786e0620f9578d7 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 72543f819bb65c6666c0ba1f49d19f2251c8f518
+Subproject commit 94d75d39f9fd9de7582a77baf786e0620f9578d7
index 5328bb4918a807550364060de854fa09902ef508..f3562601602f98e811349fdb36711e324bdd4687 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 5328bb4918a807550364060de854fa09902ef508
+Subproject commit f3562601602f98e811349fdb36711e324bdd4687
index c3406b0c924778554866ce751fdb421ea0b1e6d4..321e475873eaa18905f9137f9e3d2c29024d2bbd 160000 (submodule)
@@ -1 +1 @@
-Subproject commit c3406b0c924778554866ce751fdb421ea0b1e6d4
+Subproject commit 321e475873eaa18905f9137f9e3d2c29024d2bbd
index 2183237cd74b8acbaef2dcbee0d349c76f1f3493..6b591fa4a594fd7a04cd0ee7004b413d8b1f95be 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 2183237cd74b8acbaef2dcbee0d349c76f1f3493
+Subproject commit 6b591fa4a594fd7a04cd0ee7004b413d8b1f95be
index c1ce16f3ac9a0ba05a48f230a2707d54faca263c..5f162c063dd0b10ba1b504234900205d965148a4 160000 (submodule)
@@ -1 +1 @@
-Subproject commit c1ce16f3ac9a0ba05a48f230a2707d54faca263c
+Subproject commit 5f162c063dd0b10ba1b504234900205d965148a4
index e556f25137117137272addd8dbe84872b7149c8b..03976401775631b63e79a50ce191ce4dee4a910d 100755 (executable)
@@ -1,6 +1,23 @@
+#Search for older releases
 egrep --color -nir --include=*.rst beryllium\|lithium docs
+
+#Search for misspellings and miss-capitalizations of OpenFlow
 egrep --color -nir --include=*.rst open\ ?flow docs | grep -v OpenFlow | grep -v openflow: | grep -v \-openflow\- | grep -v openflowplugin | grep -v openflowjava | grep -v Openflow13 | grep -v \_OPENFLOW | grep -v OpenflowNode | grep --color -i OpenFlow
+
+#Search for misspellings and miss-capitalizations of OpenDaylight
 egrep --color -nir --include=*.rst open\ ?daylight docs | grep -v OpenDaylight | grep -v \.opendaylight\. | grep -v \/opendaylight | grep -v \=opendaylight | grep --color -i OpenDaylight
+
+#Search for misspellings and miss-capitalizations of ACL
 egrep --color -nir --include=*.rst [^-]acl[^-_\":] docs | grep -v ACL | grep -vi maclearn | grep -vi oracle | grep --color -i acl
+
 #the ovs[db] search seemed to produce only false positives
 #egrep --color -nir --include=*.rst [^-/_\"\']ovs[^-:k_] docs | grep -v OVS | egrep -v ovsdb[:-] | grep --color -i ovs
+
+#Search for git.opendaylight.org links to the next release as opposed the current release
+#   Note that past releases are caught above
+egrep --color -nir --include=*.rst hb=HEAD docs
+egrep --color -nir --include=*.rst hb=master docs
+
+#Search for links to jenkins.opendaylight.org and logs.opendaylight.org, which are temporary
+egrep --color -nir --include=*.rst jenkins\.opendaylight\.org docs
+egrep --color -nir --include=*.rst logs\.opendaylight\.org docs