Before reading this document and being involved in TripleO release management, it’s suggested to read the OpenStack Release Management guide.
Most of TripleO projects follows the cycle-trailing release model. The details can be found on the releases repository.
All information about previous releases can be found on https://releases.openstack.org. This page will document the process of releasing TripleO projects.
The first step is to update ReNo configuration file for some projects: tripleo-image-elements, tripleo-puppet-elements, tripleo-heat-templates and puppet-tripleo.
Edit releasenotes/source/conf.py file and change this line:
# The full version, including alpha/beta/rc tags.
release = 'X.Y.Z'
# The short X.Y.Z version.
version = 'X.Y.Z'
The tagging convention can be discussed with the PTL or the Release Liaison of TripleO.
For puppet-tripleo, we also need to update metadata.json file:
"version": "X.Y.Z",
For other projects, there is no need to update anything since the release will be ready by pbr.
Note
Puppet OpenStack modules release management is documented here: https://docs.openstack.org/developer/puppet-openstack-guide/releases.html#how-to-release-puppet-modules
Note
TripleO UI requires some specific changes to be released too, see https://review.openstack.org/#/c/460664/ for an example.
Once this is done, you can submit a patch in openstack/releases and per project create or modify the YAML. Example with tripleo-heat-templates, edit deliverables/pike/tripleo-heat-templates.yaml:
---
launchpad: tripleo
release-model: cycle-trailing
releases:
- projects:
- hash: e6d1aaac5745f2b32d30f3e41ba8c0a50f5b51d7
repo: openstack/tripleo-heat-templates
version: 7.0.0.0b1
send-announcements-to: openstack-announce@lists.openstack.org
team: tripleo
type: other
Once the file is edited, you can submit it and OpenStack release team will review it. Note that the patch requires +1 from TripleO PTL or TripleO Release Liaison.
The process of branching is also done by Release tools, and you need to change the YAML to specify where we want to branch. Example with tripleo-heat-templates, edit deliverables/ocata/tripleo-heat-templates.yaml:
---
launchpad: tripleo
team: tripleo
release-notes: https://docs.openstack.org/releasenotes/tripleo-heat-templates/ocata.html
type: other
release-model: cycle-trailing
send-announcements-to: openstack-announce@lists.openstack.org
branches:
- name: stable/ocata
location: 6.0.0.0rc1
releases:
- version: 6.0.0.0b1
projects:
- repo: openstack/tripleo-heat-templates
hash: 521779edd4dbeb65e0c62c48567dd478b3fab5a5
- version: 6.0.0.0b2
projects:
- repo: openstack/tripleo-heat-templates
hash: 1e88f875239b30de24552450b623e6892941fa1e
- version: 6.0.0.0rc1
projects:
- repo: openstack/tripleo-heat-templates
hash: 5340f64c03902b7a76212a579bcc895d56008df3
- version: 6.0.0.0rc2
projects:
- repo: openstack/tripleo-heat-templates
hash: 5f278ebc5cd3426d58c8a05c0f58309681efa055
- version: 6.0.0
diff-start: 5.0.0.0rc2
projects:
- repo: openstack/tripleo-heat-templates
hash: 5f278ebc5cd3426d58c8a05c0f58309681efa055
Keep in mind that tags, branches, release notes, announcements are generated by the tooling and nothing has to be done manually, except what is documented here.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.