26
Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann) Thierry Carrez (@tcarrez)

Herding cats into boxes

Embed Size (px)

Citation preview

Page 1: Herding cats into boxes

Herding Cats Into BoxesHow OpenStack release management changes with Big Tent

Doug Hellmann (@doughellmann)Thierry Carrez (@tcarrez)

Page 2: Herding cats into boxes

CC

-BY

http

s://w

ww

.flic

kr.c

om/p

hoto

s/nr

omag

na/3

9858

8643

5/

Page 3: Herding cats into boxes

Two approaches

Pre-versioning1.0alpha1, 1.0beta2, 1.0rc1… 1.0Post-versioning1.0, 1.0.1, 1.1.0… 2.0

Page 4: Herding cats into boxes

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

Page 5: Herding cats into boxes

Client libraries

Always backward-compatibleSingle release channelSemantic versioning

Page 6: Herding cats into boxes

Oslo

Incubator copy-and-pastePre-versioning with alphasPost-versioning without alphas

Page 7: Herding cats into boxes

CC

-BY

http

s://w

ww

.flic

kr.c

om/p

hoto

s/nr

omag

na/3

9858

8643

5/

Page 8: Herding cats into boxes
Page 9: Herding cats into boxes

Standardized library releases

Release As NeededSemantic VersioningRelease Day GuidelinesReviewable Release Requests

Page 10: Herding cats into boxes

Semi-automated releasesTaggingLaunchpad MilestoneAnnouncement Emails

Page 11: Herding cats into boxes

A push for intermediary releases

Reduce tight couplingMore flexibility

Page 12: Herding cats into boxes

Death of common versioning

Intermediary requires own versioningLess value for YEAR.SEQUENCE modelContinued confusion if we keep bothSwitch once or switch later

Page 13: Herding cats into boxes

CC

-BY

http

s://w

ww

.flic

kr.c

om/p

hoto

s/nr

omag

na/3

9858

8643

5/

Page 14: Herding cats into boxes

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

Page 15: Herding cats into boxes

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

Page 16: Herding cats into boxes
Page 17: Herding cats into boxes

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 ...

Page 18: Herding cats into boxes

http://docs.openstack.org/releases/

Page 19: Herding cats into boxes

Release modelsrelease:cycle-with-milestones

pre-versioned, one time-based releaserelease:cycle-with-intermediary

post-versioned, release as-needed

Page 20: Herding cats into boxes

Other release modelsrelease:independent

outside of release cycle and stable branchesrelease:noneno “release”

Page 21: Herding cats into boxes

Liberty stable point releases

Tag as-needed, or when OSSACommunicate through releases repoEncouraging regular releasesRelease notes

Page 22: Herding cats into boxes

Reno in-tree release notes

Compile notes from small filesScan branch history for inputsdocs.openstack.org/developer/$PROJECT

Page 23: Herding cats into boxes

LaunchpadGood for planningHistorical tracking features complex

Page 24: Herding cats into boxes

AutomationRun tagging script in CIMore tools for liaisons

Page 25: Herding cats into boxes

MilestonesReduce strict synchronization

Page 26: Herding cats into boxes

[email protected]://doughellmann.com@doughellmann ondhellmann on

[email protected]

http://ttx.re@tcarrez on

ttx on