diff mbox series

[ovs-dev,6/9] release-policy: Document when versions receive new releases.

Message ID 20230525182217.2280366-7-mmichels@redhat.com
State Superseded
Headers show
Series OVN Release Policy Updates | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test success github build: passed
ovsrobot/github-robot-_ovn-kubernetes fail github build: failed

Commit Message

Mark Michelson May 25, 2023, 6:22 p.m. UTC
The OVN team has had no concrete policy regarding when releases are
made for a given version. In the past, new releases have been made only
when something critical has been found, meaning that most bug fixes
applied to a given OVN version never end up in a release.

This change proposes a monthly release per supported OVN version.

Signed-off-by: Mark Michelson <mmichels@redhat.com>
---
 Documentation/internals/release-process.rst | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Dumitru Ceara May 26, 2023, 12:45 p.m. UTC | #1
On 5/25/23 20:22, Mark Michelson wrote:
> The OVN team has had no concrete policy regarding when releases are
> made for a given version. In the past, new releases have been made only
> when something critical has been found, meaning that most bug fixes
> applied to a given OVN version never end up in a release.
> 
> This change proposes a monthly release per supported OVN version.
> 
> Signed-off-by: Mark Michelson <mmichels@redhat.com>
> ---
>  Documentation/internals/release-process.rst | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/Documentation/internals/release-process.rst b/Documentation/internals/release-process.rst
> index 1f4b90143..0287795dc 100644
> --- a/Documentation/internals/release-process.rst
> +++ b/Documentation/internals/release-process.rst
> @@ -152,6 +152,12 @@ approximate:
>  | T + 6         | Sep 1, Mar 1, ...   | Release version x.y.0                |
>  +---------------+---------------------+--------------------------------------+
>  
> +After the .0 release is created for a given OVN version, that version will have
> +releases made every month until its support lifetime has concluded. If for some
> +reason, no changes occur to a supported OVN version during a month, then no
> +release will be made that month. Therefore, there is no guarantee about the
> +exact number of releases to be expected for any given OVN version.
> +
>  Release Calendar
>  ----------------
>  

It makes sense but (I think I may have mentioned this during an upstream
meeting) can we automate the process?  It's going to be 2 patches per
release, 2 standard term releases + 2 LTS releases, release every month
=> 96 patches to ack throughout the year (unless my reasoning is wrong).

Regards,
Dumitru
Mark Michelson May 30, 2023, 8:22 p.m. UTC | #2
On 5/26/23 08:45, Dumitru Ceara wrote:
> On 5/25/23 20:22, Mark Michelson wrote:
>> The OVN team has had no concrete policy regarding when releases are
>> made for a given version. In the past, new releases have been made only
>> when something critical has been found, meaning that most bug fixes
>> applied to a given OVN version never end up in a release.
>>
>> This change proposes a monthly release per supported OVN version.
>>
>> Signed-off-by: Mark Michelson <mmichels@redhat.com>
>> ---
>>   Documentation/internals/release-process.rst | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/Documentation/internals/release-process.rst b/Documentation/internals/release-process.rst
>> index 1f4b90143..0287795dc 100644
>> --- a/Documentation/internals/release-process.rst
>> +++ b/Documentation/internals/release-process.rst
>> @@ -152,6 +152,12 @@ approximate:
>>   | T + 6         | Sep 1, Mar 1, ...   | Release version x.y.0                |
>>   +---------------+---------------------+--------------------------------------+
>>   
>> +After the .0 release is created for a given OVN version, that version will have
>> +releases made every month until its support lifetime has concluded. If for some
>> +reason, no changes occur to a supported OVN version during a month, then no
>> +release will be made that month. Therefore, there is no guarantee about the
>> +exact number of releases to be expected for any given OVN version.
>> +
>>   Release Calendar
>>   ----------------
>>   
> 
> It makes sense but (I think I may have mentioned this during an upstream
> meeting) can we automate the process?  It's going to be 2 patches per
> release, 2 standard term releases + 2 LTS releases, release every month
> => 96 patches to ack throughout the year (unless my reasoning is wrong).

The basic mechanics of a release would be easy to automate. I already 
use a script provided by Ilya to create the release commits, send them 
to the mailing list, and merge the commits and create the tag. The 
things that currently cannot be automated are:

1) Acks for release patches. We currently post the patches to the 
mailing list and await acks before merging/tagging. We could potentially 
agree as a project that these commits could just be automatically 
created and pushed/tagged without developer acks.

2) Signing the tag. When I create OVN releases, I sign the tag with my 
GPG key. I'm not sure what a good automated substitute for this would be.

3) Updating ovn.org. For .0 releases, I typically will go through all 
the commits and keep a list of new features and performance 
enhancements. I then write these up on the release page. Automating this 
exact process would not be possible. However we could switch to a 
changelog style where we list all the commits that went into a given 
release. This would be easier to automate. For .1 releases, we shouldn't 
have new features or performance improvements. We should only have bug 
fixes. The changelog approach would fit for these types of releases well.

> 
> Regards,
> Dumitru
>
Dumitru Ceara May 30, 2023, 9:09 p.m. UTC | #3
On 5/30/23 22:22, Mark Michelson wrote:
> On 5/26/23 08:45, Dumitru Ceara wrote:
>> On 5/25/23 20:22, Mark Michelson wrote:
>>> The OVN team has had no concrete policy regarding when releases are
>>> made for a given version. In the past, new releases have been made only
>>> when something critical has been found, meaning that most bug fixes
>>> applied to a given OVN version never end up in a release.
>>>
>>> This change proposes a monthly release per supported OVN version.
>>>
>>> Signed-off-by: Mark Michelson <mmichels@redhat.com>
>>> ---
>>>   Documentation/internals/release-process.rst | 6 ++++++
>>>   1 file changed, 6 insertions(+)
>>>
>>> diff --git a/Documentation/internals/release-process.rst
>>> b/Documentation/internals/release-process.rst
>>> index 1f4b90143..0287795dc 100644
>>> --- a/Documentation/internals/release-process.rst
>>> +++ b/Documentation/internals/release-process.rst
>>> @@ -152,6 +152,12 @@ approximate:
>>>   | T + 6         | Sep 1, Mar 1, ...   | Release version
>>> x.y.0                |
>>>  
>>> +---------------+---------------------+--------------------------------------+
>>>   +After the .0 release is created for a given OVN version, that
>>> version will have
>>> +releases made every month until its support lifetime has concluded.
>>> If for some
>>> +reason, no changes occur to a supported OVN version during a month,
>>> then no
>>> +release will be made that month. Therefore, there is no guarantee
>>> about the
>>> +exact number of releases to be expected for any given OVN version.
>>> +
>>>   Release Calendar
>>>   ----------------
>>>   
>>
>> It makes sense but (I think I may have mentioned this during an upstream
>> meeting) can we automate the process?  It's going to be 2 patches per
>> release, 2 standard term releases + 2 LTS releases, release every month
>> => 96 patches to ack throughout the year (unless my reasoning is wrong).
> 
> The basic mechanics of a release would be easy to automate. I already
> use a script provided by Ilya to create the release commits, send them
> to the mailing list, and merge the commits and create the tag. The
> things that currently cannot be automated are:
> 
> 1) Acks for release patches. We currently post the patches to the
> mailing list and await acks before merging/tagging. We could potentially
> agree as a project that these commits could just be automatically
> created and pushed/tagged without developer acks.
> 

If the process is fully automated I think it's fine to skip acks for
these patches.

> 2) Signing the tag. When I create OVN releases, I sign the tag with my
> GPG key. I'm not sure what a good automated substitute for this would be.
> 

I can't think of an alternative either.  Maybe we're OK with one of the
maintainers running everything (a script that would live in the repo)
locally like today.  That person would and just push the commits and
signed tags directly without waiting for ACKs.  We could try to add some
validation after the fact, e.g., a GitHub action that runs after a tag
is pushed.  I don't know if that's good enough though.

> 3) Updating ovn.org. For .0 releases, I typically will go through all
> the commits and keep a list of new features and performance
> enhancements. I then write these up on the release page. Automating this
> exact process would not be possible. However we could switch to a
> changelog style where we list all the commits that went into a given
> release. This would be easier to automate. For .1 releases, we shouldn't
> have new features or performance improvements. We should only have bug
> fixes. The changelog approach would fit for these types of releases well.
> 

IMO that's OK.

>>
>> Regards,
>> Dumitru
>>
>
diff mbox series

Patch

diff --git a/Documentation/internals/release-process.rst b/Documentation/internals/release-process.rst
index 1f4b90143..0287795dc 100644
--- a/Documentation/internals/release-process.rst
+++ b/Documentation/internals/release-process.rst
@@ -152,6 +152,12 @@  approximate:
 | T + 6         | Sep 1, Mar 1, ...   | Release version x.y.0                |
 +---------------+---------------------+--------------------------------------+
 
+After the .0 release is created for a given OVN version, that version will have
+releases made every month until its support lifetime has concluded. If for some
+reason, no changes occur to a supported OVN version during a month, then no
+release will be made that month. Therefore, there is no guarantee about the
+exact number of releases to be expected for any given OVN version.
+
 Release Calendar
 ----------------