How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into...

Post on 16-Jul-2020

1 views 0 download

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

doug@doughellmann.comhttps://doughellmann.com@doughellmann on

dhellmann on

thierry@openstack.orghttp://ttx.re

@tcarrez on ttx on