osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[all][release] One following-cycle release model to bind them all


Hi everyone,

As you know[1] I'm trying to push toward simplification of OpenStack 
processes, to make them easier to navigate for new members of our 
community and generally remove weight. A good example of that is release 
models.

We used to have a single model (with milestones and RCs) but over time 
we grew a number of alternative models to accommodate corner cases. The 
result is a confusing collection of release models with abstract rules 
for each and not much flexibility. Projects are forced to choose between 
those models for their deliverables, with limited guidance. And much of 
the rationale for those models (exercise release machinery early and 
often, trigger external testing...) is no longer valid.

I'd like to suggest we simplify this and have a single model for things 
that follow the development cycle: the "follows-cycle" model. The only 
alternative, its nemesis, its Wario would be the "independent" release 
model.

In the "follows-cycle" model, deliverables would be released at least 
once per cycle, but could be released more often. The "final" release 
would be marked by creating a release (stable) branch, and that would 
need to be done before a deadline. Like today, that deadline depends on 
whether that deliverable is a library, a client library, a 
release-trailing exception or just a regular part of the common release.

The main change this proposal introduces would be to stop having release 
candidates at the end of the cycle. Instead we would produce a release, 
which would be a candidate for inclusion in the coordinated OpenStack 
release. New releases could be pushed to the release branch to include 
late bugfixes or translation updates, until final release date. So 
instead of doing a 14.0.0.0rc1 and then a 14.0.0.0rc2 that gets promoted 
to 14.0.0, we would produce a 14.0.0, then a 14.0.1 and just list that 
14.0.1 in the release page at coordinated release time.

I feel like this would not change that much for deliverables following 
the cycle-with-rc model. It would not change anything for 
cycle-with-intermediary, libraries or cycle-trailing deliverables. But 
it would simplify our processes quite a bit, and generally make our 
releases more consistent.

Thoughts?

[1] 
http://lists.openstack.org/pipermail/openstack-discuss/2020-March/013236.html

-- 
Thierry Carrez (ttx)