how openstack release management changes with big tent … · 2019-02-26 · herding cats into...
TRANSCRIPT
Herding Cats Into BoxesHow OpenStack release management changes with Big Tent
Doug Hellmann (@doughellmann)Thierry Carrez (@tcarrez)
CC
-BY
http
s://w
ww
.flic
kr.c
om/p
hoto
s/nr
omag
na/3
9858
8643
5/
Two approaches
Pre-versioning1.0alpha1, 1.0beta2, 1.0rc1… 1.0
Post-versioning1.0, 1.0.1, 1.1.0… 2.0
At the beginning
6-month time-based releasesYEAR.SEQUENCE (2014.1, 2014.2… 2015.1)
Swift: feature-based, frequent releasesX.Y.Z (1.1, 1.2, 1.2.1… 2.0)
Post-versioning for stable release updates2015.1.1 or 2.0.1
Client libraries
Always backward-compatible
Single release channel
Semantic versioning
Oslo
Incubator copy-and-paste
Pre-versioning with alphas
Post-versioning without alphas
CC
-BY
http
s://w
ww
.flic
kr.c
om/p
hoto
s/nr
omag
na/3
9858
8643
5/
Standardized library releases
Release As Needed
Semantic Versioning
Release Day Guidelines
Reviewable Release Requests
Semi-automated releases
Tagging
Launchpad Milestone
Announcement Emails
A push for intermediary releases
Reduce tight coupling
More flexibility
Death of common versioning
Intermediary requires own versioning
Less value for YEAR.SEQUENCE model
Continued confusion if we keep both
Switch once or switch later
CC
-BY
http
s://w
ww
.flic
kr.c
om/p
hoto
s/nr
omag
na/3
9858
8643
5/
What about stable branches ?
Used to do synchronized point releases
...but what does that mean in the big tent
...but you can update just a piece
Stable branch point releases
Tried getting rid of them completely...but people still wanted reference points
Tried tagging all commits...but people feared the pollution of tag space
Version numbers
nova 12.0.0 keystone 8.0.0swift 2.5.0 neutron 7.0.0heat 5.0.0 zaqar 1.0.0ironic 4.2.0 ...
http://docs.openstack.org/releases/
Release models
release:cycle-with-milestonespre-versioned, one time-based release
release:cycle-with-intermediarypost-versioned, release as-needed
Other release models
release:independentoutside of release cycle and stable branches
release:noneno “release”
Liberty stable point releases
Tag as-needed, or when OSSA
Communicate through releases repo
Encouraging regular releases
Release notes
Reno in-tree release notes
Compile notes from small files
Scan branch history for inputs
docs.openstack.org/developer/$PROJECT
Launchpad
Good for planning
Historical tracking features complex
Automation
Run tagging script in CI
More tools for liaisons
Milestones
Reduce strict synchronization
[email protected]://doughellmann.com@doughellmann on
dhellmann on
[email protected]://ttx.re
@tcarrez on ttx on