Release Management

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.