際際滷

際際滷Share a Scribd company logo
Doug Hellmann
PyATL July 2018
Early OpenStack
Releases
 6 Projects

 Manual release process

 Wiki-based release notes
Whats the big deal?
 Separate process == extra
work

 Reviewing 6 months of work
for user-facing changes

 Review existing notes for
accuracy

 No fun

 Usually not updated when bug
鍖xes were back-ported
Growth!
 Add 20+ libraries

 Added services, and client
libraries

 6  20  60 teams

 Recruited a second release
manager
How can we improve?
 Automate writing

 Make writing easier

 Add and maintain notes as the
work is completed

 Automate publishing
What do we want?
Content
 Peer-reviewed

 Organized sections

 Mutable

 Deletable

 Avoid merge con鍖icts

Process
 Contributor ignores
versions

 Support back-porting

 No manual publishing
steps
What do we want?
Content
 Peer-reviewed

 Organized sections

 Mutable

 Deletable

 Avoid merge con鍖icts

Process
 Contributor ignores
versions

 Support back-porting

 No manual publishing
steps
Option 1: Sphinx
Pros
 Notes and code together 

 Familiarity

 Publishing automation
exists

 Mutable
Cons
 Messy merge con鍖icts
(master and back-ports)

 How do you manage
versions?
Option 2: Commit
Messages
Pros
 Notes and code together

 Always have one

 Peer-reviewed

Cons
 Wrong audience

 Hard to organize

 Immutable
Option 3: git notes
Pros
 Notes and code together

Cons
 git setup more complex

 Requires special gerrit
permissions

 Peer-reviewed?
Option 4: Data Files
 Many small 鍖les

 Use git as database

 Tools for adding, listing, reporting

 Sphinx integration
$ reno new D
Created new notes file in releasenotes/notes/
D-62ffea892937265f.yaml
$ cat releasenotes/notes/D-62ffea892937265f.yaml
---
features:
- |
This is the fourth release note, D.
E
D
F
A
B
G
C
1.0.0
2.0.0 master
stable/rocky
E
D
F
A
B
G
C
1.0.0
2.0.0 master
stable/rocky
E
D
F
A
B
G
C
1.0.0
2.0.0 master
stable/rocky
$ reno report -q --version 2.0.0 --no-show-source
=============
Release Notes
=============
2.0.0
=====
New Features
------------
- This is the third release note, C. It has a tyop.
- This is the fourth release note, D.
- This is the fifth release note, E.
- This is the sixth release note, F.
$ reno -q report --branch stable/rocky no-show-source
=============
Release Notes
=============
1.0.0-1
=======
New Features
------------
- This release note G only appears on the stable/rocky branch.
1.0.0
=====
New Features
------------
- This is the first release note, A.
- This is the second release note, B.
EE
D
F
A
B
G
C
1.0.0
1.0.1
2.0.0
stable/rocky
master
$ reno -q report --branch stable/rocky no-show-source
=============
Release Notes
=============
1.0.1
=====
New Features
------------
- This is the fifth release note, E.
- This release note G only appears on the stable/rocky branch.
1.0.0
=====
New Features
------------
- This is the first release note, A.
- This is the second release note, B.
EE
D
F
A
B
G
C
1.0.0
1.0.1
2.0.0 master
stable/rocky
C
C
$ reno -q report --version 2.0.0 no-show-source
=============
Release Notes
=============
2.0.0
=====
New Features
------------
- This is the third release note, C. It no longer has a typo.
- This is the fourth release note, D.
- This is the fifth release note, E.
- This is the sixth release note, F.
============================
Current Series Release Notes
============================
.. release-notes::
Reno   A New Way to Manage Release Notes
Results
 Introduced in late 2015, 
6 development cycles ago

 Over 13,000 release notes for
almost 300 deliverables

 Many teams require release
notes with user-facing
changes
Interested?
 Please try reno!

 Defaults to OpenStack naming
conventions, but con鍖gurable.

 We like making our tools more
鍖exible to meet your use case!

 See also: towncrier or blurb
Thank you!
 https://docs.openstack.org/reno/latest/

 https://github.com/dhellmann/reno-sample-repository 

 freenode: #openstack-releases

 @doughellmann
 hotel signs  Jameson Fink  https://鍖ic.kr/p/paTfam

 reno skyline  http://www.renoairport.com/sites/default/
鍖les/pictures/Reno-Skyline-Night.jpg

 change  Meghan Newell  https://鍖ic.kr/p/5B2RDQ

 鍖reworks  Darron Birgenheier  https://鍖ic.kr/p/8fYbjX

 reno sign  Amy Meredith  https://鍖ic.kr/p/6reDS6

More Related Content

Reno A New Way to Manage Release Notes

  • 2. Early OpenStack Releases 6 Projects Manual release process Wiki-based release notes
  • 3. Whats the big deal? Separate process == extra work Reviewing 6 months of work for user-facing changes Review existing notes for accuracy No fun Usually not updated when bug 鍖xes were back-ported
  • 4. Growth! Add 20+ libraries Added services, and client libraries 6 20 60 teams Recruited a second release manager
  • 5. How can we improve? Automate writing Make writing easier Add and maintain notes as the work is completed Automate publishing
  • 6. What do we want? Content Peer-reviewed Organized sections Mutable Deletable Avoid merge con鍖icts Process Contributor ignores versions Support back-porting No manual publishing steps
  • 7. What do we want? Content Peer-reviewed Organized sections Mutable Deletable Avoid merge con鍖icts Process Contributor ignores versions Support back-porting No manual publishing steps
  • 8. Option 1: Sphinx Pros Notes and code together Familiarity Publishing automation exists Mutable Cons Messy merge con鍖icts (master and back-ports) How do you manage versions?
  • 9. Option 2: Commit Messages Pros Notes and code together Always have one Peer-reviewed Cons Wrong audience Hard to organize Immutable
  • 10. Option 3: git notes Pros Notes and code together Cons git setup more complex Requires special gerrit permissions Peer-reviewed?
  • 11. Option 4: Data Files Many small 鍖les Use git as database Tools for adding, listing, reporting Sphinx integration
  • 12. $ reno new D Created new notes file in releasenotes/notes/ D-62ffea892937265f.yaml
  • 17. $ reno report -q --version 2.0.0 --no-show-source ============= Release Notes ============= 2.0.0 ===== New Features ------------ - This is the third release note, C. It has a tyop. - This is the fourth release note, D. - This is the fifth release note, E. - This is the sixth release note, F.
  • 18. $ reno -q report --branch stable/rocky no-show-source ============= Release Notes ============= 1.0.0-1 ======= New Features ------------ - This release note G only appears on the stable/rocky branch. 1.0.0 ===== New Features ------------ - This is the first release note, A. - This is the second release note, B.
  • 20. $ reno -q report --branch stable/rocky no-show-source ============= Release Notes ============= 1.0.1 ===== New Features ------------ - This is the fifth release note, E. - This release note G only appears on the stable/rocky branch. 1.0.0 ===== New Features ------------ - This is the first release note, A. - This is the second release note, B.
  • 22. $ reno -q report --version 2.0.0 no-show-source ============= Release Notes ============= 2.0.0 ===== New Features ------------ - This is the third release note, C. It no longer has a typo. - This is the fourth release note, D. - This is the fifth release note, E. - This is the sixth release note, F.
  • 23. ============================ Current Series Release Notes ============================ .. release-notes::
  • 25. Results Introduced in late 2015, 6 development cycles ago Over 13,000 release notes for almost 300 deliverables Many teams require release notes with user-facing changes
  • 26. Interested? Please try reno! Defaults to OpenStack naming conventions, but con鍖gurable. We like making our tools more 鍖exible to meet your use case! See also: towncrier or blurb
  • 27. Thank you! https://docs.openstack.org/reno/latest/ https://github.com/dhellmann/reno-sample-repository freenode: #openstack-releases @doughellmann
  • 28. hotel signs Jameson Fink https://鍖ic.kr/p/paTfam reno skyline http://www.renoairport.com/sites/default/ 鍖les/pictures/Reno-Skyline-Night.jpg change Meghan Newell https://鍖ic.kr/p/5B2RDQ 鍖reworks Darron Birgenheier https://鍖ic.kr/p/8fYbjX reno sign Amy Meredith https://鍖ic.kr/p/6reDS6