how openstack release management changes with big tent … · 2019-02-26 · herding cats into...

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

Upload: others

Post on 16-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

Herding Cats Into BoxesHow OpenStack release management changes with Big Tent

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

Page 2: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

CC

-BY

http

s://w

ww

.flic

kr.c

om/p

hoto

s/nr

omag

na/3

9858

8643

5/

Page 3: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

Two approaches

Pre-versioning1.0alpha1, 1.0beta2, 1.0rc1… 1.0

Post-versioning1.0, 1.0.1, 1.1.0… 2.0

Page 4: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

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

Page 5: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

Client libraries

Always backward-compatible

Single release channel

Semantic versioning

Page 6: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

Oslo

Incubator copy-and-paste

Pre-versioning with alphas

Post-versioning without alphas

Page 7: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

CC

-BY

http

s://w

ww

.flic

kr.c

om/p

hoto

s/nr

omag

na/3

9858

8643

5/

Page 8: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)
Page 9: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

Standardized library releases

Release As Needed

Semantic Versioning

Release Day Guidelines

Reviewable Release Requests

Page 10: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

Semi-automated releases

Tagging

Launchpad Milestone

Announcement Emails

Page 11: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

A push for intermediary releases

Reduce tight coupling

More flexibility

Page 12: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

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

Page 13: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

CC

-BY

http

s://w

ww

.flic

kr.c

om/p

hoto

s/nr

omag

na/3

9858

8643

5/

Page 14: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

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: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

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: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)
Page 17: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

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: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

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

Page 19: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

Release models

release:cycle-with-milestonespre-versioned, one time-based release

release:cycle-with-intermediarypost-versioned, release as-needed

Page 20: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

Other release models

release:independentoutside of release cycle and stable branches

release:noneno “release”

Page 21: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

Liberty stable point releases

Tag as-needed, or when OSSA

Communicate through releases repo

Encouraging regular releases

Release notes

Page 22: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

Reno in-tree release notes

Compile notes from small files

Scan branch history for inputs

docs.openstack.org/developer/$PROJECT

Page 23: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

Launchpad

Good for planning

Historical tracking features complex

Page 24: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

Automation

Run tagging script in CI

More tools for liaisons

Page 25: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

Milestones

Reduce strict synchronization

Page 26: How OpenStack release management changes with Big Tent … · 2019-02-26 · Herding Cats Into Boxes How OpenStack release management changes with Big Tent Doug Hellmann (@doughellmann)

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

dhellmann on

[email protected]://ttx.re

@tcarrez on ttx on