Release Management ================== Before reading this document and being involved in TripleO release management, it's suggested to read the OpenStack Release Management guide_. .. _guide: https://docs.openstack.org/project-team-guide/release-management.html Most of TripleO projects follows the cycle-trailing_ release model. The details can be found on the releases repository_. .. _repository: https://git.openstack.org/cgit/openstack/releases/tree/deliverables .. _cycle-trailing: https://releases.openstack.org/reference/release_models.html#cycle-trailing 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. .. _ReNo: https://docs.openstack.org/developer/reno 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_. .. _Liaison: https://wiki.openstack.org/wiki/CrossProjectLiaisons#Release_management 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.