[ovs-dev] [PATCH v2] Modify release document for OVN.

Han Zhou zhouhan at gmail.com
Wed Oct 2 21:17:34 UTC 2019


Hi Mark,

Thanks for updating this. Please see my comments below.


On Thu, Sep 26, 2019 at 12:25 PM Mark Michelson <mmichels at redhat.com> wrote:
>
> This is an RFC to discuss the modified release cycle of OVN compared to
> OVS. The document is mostly unchanged, with two exceptions:
>
> * The release cycle for OVN is modified to be 3 months instead of 6.
> * The version numbering for OVN is modified to use the year and month of
>   the release instead of other numbers.
>
> Signed-off-by: Mark Michelson <mmichels at redhat.com>
> ---
> v1 -> v2: Rebased
> ---
>  Documentation/internals/release-process.rst | 60
++++++++++++++---------------
>  1 file changed, 30 insertions(+), 30 deletions(-)
>
> diff --git a/Documentation/internals/release-process.rst
b/Documentation/internals/release-process.rst
> index 3396177b8..8af962b49 100644
> --- a/Documentation/internals/release-process.rst
> +++ b/Documentation/internals/release-process.rst
> @@ -25,19 +25,19 @@
>  OVN Release Process
>  ===================
>
> -This document describes the process ordinarily used for OVN
> -development and release.  Exceptions are sometimes necessary, so all of
the
> -statements here should be taken as subject to change through rough
consensus of
> -OVN contributors, obtained through public discussion on, e.g., ovs-dev
> -or the #openvswitch IRC channel.
> +This document describes the process ordinarily used for OVN development
and
> +release.  Exceptions are sometimes necessary, so all of the statements
here
> +should be taken as subject to change through rough consensus of OVN
> +contributors, obtained through public discussion on, e.g., ovs-dev or the
> +#openvswitch IRC channel.
>
>  Release Strategy
>  ----------------
>
> -OVN feature development takes place on the "master" branch.
> -Ordinarily, new features are rebased against master and applied
directly.  For
> -features that take significant development, sometimes it is more
appropriate to
> -merge a separate branch into master; please discuss this on ovs-dev in
advance.
> +OVN feature development takes place on the "master" branch. Ordinarily,
new
> +features are rebased against master and applied directly.  For features
that
> +take significant development, sometimes it is more appropriate to merge a
> +separate branch into master; please discuss this on ovs-dev in advance.
>
>  The process of making a release has the following stages.  See `Release
>  Scheduling`_ for the timing of each stage:
> @@ -50,7 +50,7 @@ Scheduling`_ for the timing of each stage:
>     Please propose and discuss exceptions on ovs-dev.
>
>  2. Fork a release branch from master, named for the expected release
number,
> -   e.g. "branch-2.3" for the branch that will yield OVN 2.3.x.
> +   e.g. "branch-2019.10" for the branch that will yield OVN 2019.10.x.
>
>     Release branches are intended for testing and stabilization.  At this
stage
>     and in later stages, they should receive only bug fixes, not new
features.
> @@ -65,15 +65,15 @@ Scheduling`_ for the timing of each stage:
>     and risk and discussed on ovs-dev before creating the branch.
>
>  3. When committers come to rough consensus that the release is ready,
they
> -   release the .0 release on its branch, e.g. 2.3.0 for branch-2.3.  To
make
> -   the actual release, a committer pushes a signed tag named, e.g.
v2.3.0, to
> -   the OVN repository, makes a release tarball available on
> +   release the .0 release on its branch, e.g. 2019.10.0 for
branch-2019.10.  To
> +   make the actual release, a committer pushes a signed tag named, e.g.
> +   v2019.10.0, to the OVN repository, makes a release tarball available
on
>     openvswitch.org, and posts a release announcement to ovs-announce.
>
>  4. As bug fixes accumulate, or after important bugs or vulnerabilities
are
> -   fixed, committers may make additional releases from a branch: 2.3.1,
2.3.2,
> -   and so on.  The process is the same for these additional release as
for a .0
> -   release.
> +   fixed, committers may make additional releases from a branch:
2019.10.1,
> +   2019.10.2, and so on.  The process is the same for these additional
release
> +   as for a .0 release.
>
>  At most two release branches are formally maintained at any given time:
the
>  latest release and the latest release designed as LTS.  An LTS release
is one
> @@ -97,33 +97,33 @@ titled "Prepare for x.y.0" and increments the version
number to x.y.  This is
>  the initial commit on branch-x.y.  The second is titled "Prepare for
post-x.y.0
>  (x.y.90)" and increments the version number to x.y.90.
>
> -The version number on a release branch is x.y.z, where z is initially 0.
> -Making a release requires two commits.  The first is titled *Set release
dates
> -for x.y.z.* and updates NEWS and debian/changelog to specify the release
date
> -of the new release.  This commit is the one made into a tarball and
tagged.
> -The second is titled *Prepare for x.y.(z+1).* and increments the version
number
> -and adds a blank item to NEWS with an unspecified date.
> +The version number on a release branch is x.y.z, where x is the current
year, y
> +is the month of the release, and z is initially 0. Making a release
requires two
> +commits.  The first is titled *Set release dates for x.y.z.* and updates
NEWS
> +and debian/changelog to specify the release date of the new release.
This
> +commit is the one made into a tarball and tagged. The second is titled
*Prepare
> +for x.y.(z+1).* and increments the version number and adds a blank item
to NEWS
> +with an unspecified date.
>
>  Release Scheduling
>  ------------------
>
> -OVN makes releases at the following six-month cadence.  All dates are
> +OVN makes releases at the following three-month cadence.  All dates are
>  approximate:
>
>  +---------------+----------------+--------------------------------------+
> -| Time (months) | Dates          | Stage                                |
> +| Time (months) | Date           | Stage                                |

Shouldn't it still be "Dates" instead of "Date"?

>  +---------------+----------------+--------------------------------------+
> -| T             | Mar 1, Sep 1   | Begin x.y release cycle              |
> +| T             | Jan 1, Apr 1   | Begin x.y release cycle              |

Should it be "Jan 1, Apr 1, July 1, Oct 1"? Same for the following rows.

>  +---------------+----------------+--------------------------------------+
> -| T + 4         | Jul 1, Jan 1   | "Soft freeze" master for x.y release |
> +| T + 2         | Feb 1, May 1   | "Soft freeze" master for x.y release |

Should it be T + 1, since T means month?

>  +---------------+----------------+--------------------------------------+
> -| T + 4.5       | Jul 15, Jan 15 | Fork branch-x.y from master          |
> +| T + 2.5       | Feb 8, May 8   | Fork branch-x.y from master          |

T + 1.25

>  +---------------+----------------+--------------------------------------+
> -| T + 5.5       | Aug 15, Feb 15 | Release version x.y.0                |
> +| T + 2.75      | Feb 22, May 22 | Release version x.y.0                |
>  +---------------+----------------+--------------------------------------+
>

T + 1.75

So we are not only shortening the release cycle but also shortening the
time required for branching and releasing. I am ok with that.

Acked-by: Han Zhou <hzhou8 at ebay.com>


More information about the dev mailing list