Upload
doughellmann
View
1.304
Download
0
Embed Size (px)
Citation preview
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.0Post-versioning1.0, 1.0.1, 1.1.0… 2.0
At the beginning6-month time-based releases
YEAR.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-compatibleSingle release channelSemantic versioning
Oslo
Incubator copy-and-pastePre-versioning with alphasPost-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 NeededSemantic VersioningRelease Day GuidelinesReviewable Release Requests
Semi-automated releasesTaggingLaunchpad MilestoneAnnouncement Emails
A push for intermediary releases
Reduce tight couplingMore flexibility
Death of common versioning
Intermediary requires own versioningLess value for YEAR.SEQUENCE modelContinued confusion if we keep bothSwitch 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 modelsrelease:cycle-with-milestones
pre-versioned, one time-based releaserelease:cycle-with-intermediary
post-versioned, release as-needed
Other release modelsrelease:independent
outside of release cycle and stable branchesrelease:noneno “release”
Liberty stable point releases
Tag as-needed, or when OSSACommunicate through releases repoEncouraging regular releasesRelease notes
Reno in-tree release notes
Compile notes from small filesScan branch history for inputsdocs.openstack.org/developer/$PROJECT
LaunchpadGood for planningHistorical tracking features complex
AutomationRun tagging script in CIMore tools for liaisons
MilestonesReduce strict synchronization