Project

General

Profile

Release Notes Prerequisites

  • Obtain a github API token and write it to ~/.github_token on your workstation

ceph.git Release Notes

NOTE: This will not work for hotfix releases because hotfixes usually don't have a PR. We backup the original branch, reset the branch to the previous point release, then manually commit the hotfix. You'll need to do the following process manually in these cases. grep the release notes files for 'hotfix'

  • git clone http://github.com/ceph/ceph (or git fetch to get the latest stable branch updates). Do not checkout the release branch as it does not have the ceph-release-notes script
  • run the following:
    # IF NEEDED
    git fetch --all
    git checkout main
    cd src/script
    virtualenv v
    source v/bin/activate
    pip3 install githubpy GitPython review requests
    # Replace 15.2.8 with whatever the previous stable release was
    # Replace 'octopus' with whatever release you're working on
    # Replace XXXXX with your GitHub API token
    python3 ./ceph-release-notes  -r tags/v17.2.1..origin/quincy-release $(git rev-parse --show-toplevel) --token $(cat ~/.github_token)
    # NOTE: If this is the first point release of a new major release (e.g., first quincy release), you'd do '-r origin/pacific..origin/quincy'
    deactivate
    
  • Create a new branch either in your own fork of ceph.git or the actual ceph.git (but be careful and tidy!)
  • Edit doc/releases/RELEASE.rst
    vXX.X.X Branch
    ==============
    
    This is the Xth backport release in the RELEASE series.  !! If there is a major change, it should be mentioned here.  Ask sage, josh, and neha !!
    We recommend all users update to this release.
    
    Notable Changes
    ---------------
    
    * Copy them from here: https://github.com/ceph/ceph/blob/octopus/PendingReleaseNotes
    
    * A trick to get *just* the notes added since the last release, run `git diff v16.2.4..origin/pacific PendingReleaseNotes`
    
    Changelog
    ---------
    
    * The bullet points output by ceph-release-notes should go here
  • You need to also edit doc/releases/index.rst AND doc/releases/releases.yml appropriately.
  • create a pull request with this change and request reviews from: neha-ojha, batrick, jdurgin, cbodley, adk3798, gregsfortytwo

Release Notes gotchas

  • The ceph-release-notes script requires that each pull request is prefixed with the component it relates to (mon, osd etc.). If that's not the case, it will display an error message such as
    ERROR: http://github.com/ceph/ceph/pull/4884 title Keystone PKI token expiration is not enforced does not match ^(?:hammer|infernalis|jewel|kraken): (cli|common|mon|osd|fs|librbd|rbd|fs|mds|objecter|rgw|build/ops|tests|tools|cmake|doc|crush|librados)(:.*)
    

    the pull request title must be edited to add the required prefix.
  • To run the script with githib token in ~/.github_token use --token $(cat ~/.github_token)

E-mail Release Notes

To: ceph-announce@ceph.io, ceph-users@ceph.io, dev@ceph.io, ceph-maintainers@ceph.io

Title: vXX.X.X RELEASE released

Body:
We're happy to announce the Xth backport release in the RELEASE series. !! If there is a major change, it should be mentioned here.  Ask sage, josh, and neha !! We recommend users to update to this release. For a detailed release notes with links & changelog please refer to the official blog entry at https://ceph.io/en/news/blog/2022/vXX-X-X-RELEASE-released

Notable Changes
---------------

* Copy bullet points from doc/releases/RELEASE.rst

Getting Ceph
------------
* Git at git://github.com/ceph/ceph.git
* Tarball at https://download.ceph.com/tarballs/ceph-XX.X.X.tar.gz
* Containers at https://quay.io/repository/ceph/ceph
* For packages, see https://docs.ceph.com/en/latest/install/get-packages/
* Release git sha1: $SHA1

Website Release Notes

This will use v17.2.2 as an example.

  • Use the same ceph-release-notes script from the ceph.git Release Notes section. Just replace --text with --markdown
    ## EXAMPLE
    
    (v) dgalloway@p50 script (wip-md)$ python3 ./ceph-release-notes  --markdown -r tags/v17.2.1..origin/quincy-release $(git rev-parse --show-toplevel) --token $(cat ~/.github_token)
    .Considering PR#40121
    .Considering PR#41137
    .Considering PR#41167
    . done collecting merges.
    - PendingReleaseNotes: note about 14.2.18 mgr fixes ([pr#40121](https://github.com/ceph/ceph/pull/40121), Josh Durgin)
    
    - bind on loopback address if no other addresses are available ([pr#41137](https://github.com/ceph/ceph/pull/41137), Kefu Chai, Matthew Oliver)
    
    - build python extensions using distutils ([pr#41167](https://github.com/ceph/ceph/pull/41167), Kefu Chai)
    
  • If you haven't already, clone https://github.com/ceph/ceph.io
    git checkout main
    git pull
    git checkout -b 1722
    cp -r src/en/news/blog/2022/v17-2-1-quincy-released src/en/news/blog/2022/v17-2-2-quincy-released
    vim src/en/news/blog/2022/v17-2-2-quincy-released/index.md
    
  • Now do all your replacements. Get the Notable Changes from the ceph.git PR. Get the Changelog from your python3 ./ceph-release-notes --markdown output above.
git add .
git commit -as -m "doc/releases: 17.2.2 Release Notes" 
git push origin 1722