Movatterモバイル変換


[0]ホーム

URL:


Using This Repository

Using This Repository

This repository is for tracking release requests for OpenStackprojects. The releases are managed using groups of “deliverables”,made up of individual project repositories sharing a Launchpad groupand a version number history. Many deliverables will only have oneconstituent project.

Defining a Deliverable

A “deliverable” is a unit of distribution of a useful project. It maybe a single library or several server components that are packagedseparately but released and used together. Rather than base thedefinition on technical terms such as packaging, we use the socialorganization of the project to identify deliverables. If the contentsof two repositories share a bug reporting tool so that bugs for thecontents of both repositories are mixed together and use the sameversion numbers for all releases (e.g., one launchpad project), theyare both part of the same deliverable.

Within this repository, each deliverable is represented by a separatefile within the release series directory or the _independentdirectory. The data that needs to go into each file is described indetail below. All automated manipulation of the deliverable is managedthrough the data file, which is reviewed by the core team when thepatch is proposed to openstack/releases.

Adding Deliverables

In order to be considered to be included in the release for a givenseries, the project must be documented by adding a deliverable file tothis repository before the second milestone of the series. Exceptionswill be considered by the release team on a case-by-case basis.

Requesting a Release

The PTL or release liaison for a project may request a release frommaster by submitting a patch to this repository, appending the necessaryrelease metadata to the file describing the deliverable to bereleased. The release team will review the request and providefeedback about the version number.

The stable maintenance team, PTL, or release liaison for a project mayrequest a release from a stable branch by submitting a patch to thisrepository, appending the necessary release metadata to the filedescribing the deliverable to be released. The release team willreview the request and provide feedback about the version number. Ifthe stable release is requested by the stable maintenance team, itshould be acknowledged by the PTL or release liaison to ensure thatthe development team is aware of the coming change.

Prepare the release request by submitting a patch to thisrepository.

  • Always add the new release to the end of the list being edited. Theversion numbers will be reordered for display.

  • Always pick new version numbers for new releases. We do not updatethe contents of previously tagged releases, because that confusesusers who have already downloaded those packages.

  • Make sure you follow semantic versioning rulessemver when picking the version number.

    In particular, if there is a change going into this release whichrequires a higher minimum version of a dependency, then theminor version should be incremented.

    Note

    The exception to this rule is when the versions of a project arepinned between minor versions in stable branches. In those caseswe frequently release global-requirements syncs with a patchversion to fix the target branch, e.g. stable/juno, but don’tincrement the minor version to avoid it being used in a differentbranch, like stable/kilo. Someone from thestable-maint-core teamshould +1 a change like this before it’s approved.

  • Do not increment version numbers artificially to maintainconsistent versions between deliverables. We expect versions ofcompatible deliverables to drift apart over time, and made thedecision to embrace this by using other tools to document for userswhich combinations of packages go together.

    http://lists.openstack.org/pipermail/openstack-dev/2015-June/065992.html

    If two build artifacts always need to have the same version number,that implies strongly that they are part of the same deliverableand should not be released separately.

  • Start version numbers with 0.1.0 for unstable early editions andprototypes. Switch to 1.0.0 for the first production-readyrelease. Do not release the first version of a deliverable with anumber that matches the version used by other existing relateddeliverables. This confuses consumers about the maturity of the newdeliverable and about where they should find “older” versions withlower numbers, which do not exist.

  • Set the first line (summary) of the commit message to the packagename and version being requested.

  • If you are not the release liaison or PTL, have the PTL of theproject acknowledge the request with a +1.

  • Do not use the “Depends-On” feature of zuul to make a releaserequest depend on merging another patch in your project. Thedependency management does not work properly in the release checkjobs, and the validator requires that the patch listed in yourdeliverable file actually be merged into a proper branch.

  • Do not submit multiple dependent patches for multiplereleases. Having a patch series with multiple releases means therelease team cannot properly prioritize processing them. Duringmilestone weeks, preference is given to milestonereleases. Releases from stable branches, independent projects, andother types of releases are processed later. If your milestonerelease request depends on a request that is deprioritized, you maymiss the deadline.

  • RC1 tags and stable branches should be submitted together forprojects using the cycle-with-rc release model.

Using new-release command

The releases repository contains several tools to make working withthe data files easier. The new-release command, for example,calculates new version numbers based on the semantic versioninginformation given on the command line and determines the SHA of theHEAD of the appropriate branch.

Use thevenv tox environment to run the tool, like this:

$ tox -e venv -- new-release SERIES DELIVERABLE TYPE

The SERIES value should be the release series, such as “pike”.

The DELIVERABLE value should be the deliverable name, such as“oslo.config” or “cinder”.

The TYPE value should be one of:

bugfix – For a release containing only bug fixes.

feature – For a release with a new feature, a new dependency, ora change to the minimum allowed version of a dependency.

major – For a release with a backwards-incompatible change.

milestone – For a date-based milestone tag.

rc – For a release candidate.

new-series automatically includes a stable branch for the firstrelease candidate.

If the most recent release of cinder during the pike series is11.0.0.0b3 then running:

$ tox -e venv -- new-release pike cinder rc

detects that this is the first release candidate and updates the filedeliverables/pike/cinder.yaml with the new release and a new stablebranch.

If a deliverable includes multiple git repositories, all of therepositories are included in the new release unless their HEAD versionmatches the most recent release from that repository. To re-tag inthose cases, use the--force option.

Use the--stable-branch option to also create a stable branch for thenew release. Projects following the cycle-with-rc releasemodel automatically receive a new stable branch on their first releasecandidate.

Requesting a Branch

The PTL or release liaison for a project may request a new branch bysubmitting a patch to this repository, adding the necessary branchmetadata to the file describing the deliverable to be released. Therelease team will review the request and provide feedback about thebranch point and possibly the name.

Prepare the branch request by submitting a patch to this repository.

  • RC1 tags and stable branches should be submitted together forprojects using the cycle-with-rc release model.

  • Always add the new branch to the end of the list in the file beingedited.

  • Branches should use one of the standard prefixes:

    stable/ – for stable series

    feature/ – for temporary feature branches

  • stable/ branch names must match a valid series name.

  • If you are not the release liaison or PTL, have the PTL of theproject acknowledge the request with a +1.

  • Do not use the “Depends-On” feature of zuul to make a branchrequest depend on merging another patch in your project. Thedependency management does not work properly in the release checkjobs, and the validator requires that the patch listed in yourdeliverable file actually be merged into a proper branch.

Release Approval

Releases will only be denied during freeze weeks, periods where thereare known gate issues, or when releasing will introduce unwantedinstability. Releases made late in a week may be delayed until earlyin the next week unless there is a pressing need such as a gatefailure or security issue.

Who is Responsible for the Release?

The release team is responsible for helping to clearly signal thenature of the changes in the release through good version numberselection.

The project team is responsible for understanding the implications forconsuming projects when a new release is made, and ensuring thatreleases do not break other projects. When breaks occur, the projectteam is responsible for taking the necessary corrective action.

Deliverable Files

Deliverable repositories for projects using cycle_with_intermediaryor cycle_with_milestones should be placed in their respective releaseswithin the deliverables directory. Deliverable repositories forprojects using the independent release model should be placed in thedeliverables/_independent directory.

For a deliverable set of projects, we use one YAML file per releaseseries to hold all of the metadata for all releases and branches ofthat deliverable. For each deliverable, we need to track:

  • the launchpad project name (such asoslo.config) or storyboardproject id (such as760)

  • the series (Kilo, Liberty, etc.)

  • the release model being used

  • for each repository

    • the name (such asopenstack/oslo.config)

    • the hash of the commit to be tagged

    • the version number to use

  • cycle highlights that will be published toreleases.openstack.org/$SERIES/highlights.html (optional, and forcycle-with-intermediary and cycle-with-rc projects only)

  • the starting points of all branches

We track this metadata for the history of all releases of thedeliverable, so we can render a set of release history documentation.

The file should be named based on the deliverable to be tagged, soreleases forliberty from theopenstack/oslo.configrepository will have a file inopenstack/releases calleddeliverables/liberty/oslo.config.yaml. Releases of the samedeliverable from thestable/kilo branch will be described bydeliverables/kilo/oslo.config.yaml.

Deliverables File Schema

The top level of a deliverable file is a mapping with keys:

team

The name of the team that owns the deliverable, as listed in thegovernance repository data files.

launchpad

The slug name of the launchpad project, suitable for use in URLs.(Not needed for projects using storyboard.)

storyboard

The ID of the storyboard project, suitable for use in URLs and APIcalls. (Not needed for projects using launchpad.)

release-notes

The URL or URLs to the published release notes for the deliverablefor the series.

Deliverables contained a single repository should simply include theURL to the notes for that repository. Deliverables made up ofmultiple repositories should use a hash to map each repository nameto its notes URL.

include-pypi-link

Eithertrue orfalse, indicating whether the releaseannouncement should include the link to the package onPyPI. Defaults tofalse.

release-model

Identify the release model used by the deliverable. Seethe reference section of the documentation for descriptionsof the valid models.

type

Categorize the deliverable based on what it does. See the referencesection of the documentation for descriptions of the validdeliverable types.

artifact-link-mode

Describe how to link to artifacts produced by the project. Thedefault istarball. Valid values are:

tarball

Automatically generates links to version-specific files ontarballs.openstack.org.

none

Do not link to anything, just show the version number.

repository-settings

Mapping of special settings to control the behavior for each repository,keyed by the repository name.

flags

A list of flags attached to the repository.

no-artifact-build-job

This repository has no job for building an artifact, but shouldbe tagged anyway.

retired

This repository is no longer used, but was present in oldversions of a deliverable.

pypi-name

An optional name for the deliverable on pypi.python.org. Thisvalue is only needed if the name on PyPI does not match thecanonicalized output ofpythonsetup.py--name, such as if ituses capitalized letters (“DragonFlow” instead of “dragonflow”).

tarball-base

An optional name for the base of the tarball created by therelease. If no value is provided, it defaults to the repo base name oran overridden value set on a specific release entry underreleases.

release-type

This (optional) key sets the level of validation for the versions numbers.

python-service

Default: Enforces 3 digit semver version numbers in releases and allowsfor common alpha, beta and dev releases. This should be appropriate formost OpenStack component release requirements.

python-pypi

Likepython-service but requires the jobs to publish the componentto the Python Package Index (PyPI).

xstatic

Allows a more flexible versioning in line with xstatic package guidelinesand requirements.

fuel

The Fuel project manages its own packages.

puppet

All puppet modules should use this. If no release-type isspecified and the validation job can determine that a module is apuppet module, it assumes a release-type ofpuppet.

nodejs

All nodejs modules should use this. If no release-type isspecified and the validation job can determine that a module is anodejs module, it assumes a release-type ofnodejs.

neutron

For projects using the PyPI publishing variant that installsneutron in order to build the package. Typically used by neutronplugins.

horizon

For projects using the PyPI publishing variant that installshorizon in order to build the package. Typically used by horizonplugins.

releases

A list of the releases for the deliverable.

stable-branch-type

This (optional) key sets the validation for the location associatedwith each stable branch.

std

Default: Requires stable branches to be created from taggedreleases. This is the correct branch type for most projects.

The location must be either an existing version tag or the mostrecently added version number under the releases list (allowing atag and branch to be submitted together). All repositoriesassociated with the version (as identified by the deliverablefile) will be branched from that version using the name given.

std-with-versions

This mode has the same meaning as thestd branch type, with theaddition that version-based branches can be created as well.

These version-based branches are shorter term stable branches thatare named for the major and minor version number (e.g. bugfix/3.1).This is primarily used for Ironic releases.

tagless

This mode requires stable branch locations to be a mapping betweenrepository name and an existing commit, specified by thehash. This mode should only be used for projects that do not tagreleases, such as devstack and grenade.

upstream

Stable branch names track upstream release names, rather thanOpenStack series names.

none

This mode indicates that the deliverable should never have stablebranches. This is used for specific deliverables like tempest.

cycle-highlights

A list of plain-text bullet points describing some of the top newfeatures or changes you would like to point out for this releasecycle. Minimal RST markup is supported. These highlights arecompiled per team and published toreleases.openstack.org/$SERIES/highlights.html.

branches

A list of the branches for the deliverable.

Eachrelease entry is a mapping with keys:

version

The version tag for that release, to be applied to all of the memberprojects.

projects

A list of all of the projects making up the deliverable for thatrelease.

highlights

An optional message to be included in the release note emailannouncing the release. (Use| to indicate a multi-line,pre-formatted message.)

flags

A list of flags attached to the release.

forced

This release was applied by the release team, and not the projectteam.

skipped-sig

This independent release pre-dates the Ocata cycle and did notgenerate any signature. Signature link display should be skippedwhen the release website pages are generated.

Each entry in theprojects list is a mapping with keys:

repo

The name of the repository on git.openstack.org.

hash

The SHA1 hash for the commit to receive the version tag.

tarball-base

An optional name for the base of the tarball created by therelease. If no value is provided, it defaults to therepository-settingsvalue if set, else the repo base name.

Each entry in thebranches list is a mapping with keys:

name

The name of the branch.

location

The location value depends on the name.

If a branch name starts with stable/ then the location value dependson thestable-branch-type setting.

If a branch name starts with feature/ then the location must be amapping between the target repository name and the SHA of a commitalready in the target repository.

Examples

For example, one version ofdeliverables/liberty/oslo.config.yaml might contain:

---launchpad:oslo.configbranches:-name:feature/random-feature-worklocation:openstack/oslo.config:02a86d2eefeda5144ea8c39657aed24b8b0c9a39releases:-version:1.12.0projects:-repo:openstack/oslo.confighash:02a86d2eefeda5144ea8c39657aed24b8b0c9a39

and then for the subsequent release it would be updated to contain:

---launchpad:oslo.configbranches:-name:feature/random-feature-worklocation:openstack/oslo.config:02a86d2eefeda5144ea8c39657aed24b8b0c9a39-name:stable/newtonlocation:1.12.1releases:-version:1.12.0projects:-repo:openstack/oslo.confighash:02a86d2eefeda5144ea8c39657aed24b8b0c9a39-version:1.12.1projects:-repo:openstack/oslo.confighash:0c9113f68285f7b55ca01f0bbb5ce6cddada5023highlights:|Thisreleaseincludesthechangetostopimportingfromthe'oslo'namespacepackage.

For deliverables with multiple repositories, the list of projectswould contain all of them. For example, the Neutron deliverable mightbe described bydeliverables/mitaka/neutron.yaml containing:

---launchpad:neutronrelease-notes:openstack/neutron:https://docs.openstack.org/releasenotes/neutron/mitaka.htmlopenstack/neutron-lbaas:https://docs.openstack.org/releasenotes/neutron-lbaas/mitaka.htmlopenstack/neutron-fwaas:https://docs.openstack.org/releasenotes/neutron-fwaas/mitaka.htmlopenstack/neutron-vpnaas:https://docs.openstack.org/releasenotes/neutron-vpnaas/mitaka.htmlreleases:-version:8.0.0projects:-repo:openstack/neutronhash:3213eb124e40b130e174ac3a91067e2b196788dd-repo:openstack/neutron-fwaashash:ab5622891e2b1a7631f97471f55ffb9b5235e5ee-repo:openstack/neutron-lbaashash:19b18f05037dae4bbbada848aae6421da18ab490-repo:openstack/neutron-vpnaashash:a1b12601a64a2359b2224fd4406c5db008484700

To allow tagging for repositories without build artifacts, set theno-artifact-build-job flag.

---launchpad:astararepository-settings:openstack/astara-appliance:flags:-no-artifact-build-jobreleases:-version:9.0.0.0b1projects:-repo:openstack/astara-appliancehash:c21a64ea7b3b0fbdab8592afecdd31d9b8e64a6a

Helpers

In order to help build out these files there are various command linebased tools that come with this repository. To install these it is aseasy aspipinstall. in this repository directory.

  • new-release takes arguments to describe a new release andupdates the deliverable file, automatically calculating the versionnumber

  • edit-deliverable takes arguments to update the contents of asingle deliverable file

  • list-changes that lists the changes in a given release file.

  • interactive-release that goes through awizard style set ofquestions to produce a new or updated release of a given project orset of projects.

  • missing-releases scans deliverable files and verifies that allof the releases that should have been tagged by hand have been

  • init-series initializes a new deliverable directory with stubfiles based on the previous release.

  • get-contacts Loads the governance and liaison data to print contactdeatils for a given team

tools/aclmanager.py

A script to handle pre-release/post-release ACLs on stable/$SERIESbranches.

The ‘acls’ action helps to produce a patch overopenstack-infra/project-config that inserts a specific ACL forstable/$SERIES.

The ‘groups’ action helps to adjust the membership of$PROJ-release-branch Gerrit group, based on which stage the releasebranch is at. At pre-release we remove $PROJ-stable-maint, and add the$PROJ-release and Release Managers group (pre_release subaction). Atpost-release, we remove $PROJ-release and Release Managers, and add$PROJ-stable-maint (post_release subaction).

Examples:

To create the ACL patch for stable/newton:

tox-eaclmanager----seriesnewtonacls~/branches/openstack-infra/project-config

To set the pre-release group membership:

tox-eaclmanager--groupspre_releasettx

tools/add_reviewers.sh

A script to add the PTL and release liaisons to one or more reviews.

Around deadlines during the cycle, and especially near the end of the cycle,the release team needs to generate a large number of release patches forvarious subsets of the included deliverables. Theadd_reviewers.sh scriptcan be used to make sure the appropriate people have been added as reveiwersfor these reviews.

For example, assuming the release candidate patches for the Ussuri cycle aregenerated using the Gerrit review topic ofussuri-rc, the following willprocess all of those reviews to add the necessary PTL and liaison reviewers:

./tools/add_reviewers.shussuri-rc

Note that any topic may be used, so this script can be used even if justadding reviewers to an individual review.

tools/check_approval.py

A script to test that release requests have been approved by a teamliaison.

Example:

tox-echeck_approval--695375

tools/bulk_review.sh

A script for taking a working directory and dividing up the modified files intoa collection on independent per-team reviews. Each per-team change should beable to be processed in any order. These reviews will request review from thethe PTL and all release liaisons.

This is designed to be used by the release team at key points in the cycle toease bulk releases.

Note

This tool will commit ultimately commit all modified deliverables andmodifies git state. Therefore it is essential that before running itthe working tree contains only the logical changes appropriate for thestage of the releaseand all changes are saved elsewhere, in case thescript encounters a problem.

tools/make_missing_releases.sh

A wrapper script aroundnew-release designed to be run by the release teamto create releases at appropriate times in the release cycle, e.g milestones.Oncetools/make_missing_releases.sh completes the release manager can usetools/bulk_review.sh to submit the release requests.

tools/process_auto_releases.sh

Automates parts of the process to propose releases for a large set ofdeliverables.

There are multiple points during the release cycle where the release teamneeds to initiate releases for library releases, tagging RCs, or other caseswhere we need to inspect each deliverable in a set to generate releaserequests.

This tool asks for input on a few common settings to use for the releases. Atemplate commit message is entered on the command line, using the placeholderof PROJECT that will be replaced by the actual deliverable name. It theniterates through a set of deliverables and shows any commits to the relevantrepos that have not been included in a release yet. You are then able todecide whether it needs to be released and select the release type(major, minor, bugfix, rc, etc.) based on the included commits.

This can be used in conjunction with thelist-deliverables command to getthe specific deliverables to process. An example use would be:

./tools/process_auto_releases.sh ussuri $(list-deliverables --unreleased --series ussuri)

As an alternative, it may be useful to be able to edit the list of deliverablesbefore running the command. That can be done by something similar to:

tox -e venv -- list-deliverables --unreleased --series ussuri > deliverables.logvi deliverables.log  # edit contents as needed./tools/process_auto_releases.sh ussuri $(cat deliverables.log)

Unlike make_missing_releases.sh, this script will create fresh temporary clonesof each repo to avoid stale information, and it will submit each new releaserequest as it goes.

tools/releases_note_links.sh

A script to add the missing release note links to deliverables if needed.

This script is designed to be run by the release teamto ensure that release note links are present in deliverables at appropriatetimes in the release cycle, e.g milestones.

Example:

To check for ussuri release note links:

tools/add_release_note_links.shussuri

tools/search_email.py

A script to search emails on the openstack-discuss mailing list. By defaultthis script will search for emails related to the release team, buttopic can be overriden to looking for specific subjects.

Examples:

The most basic example is the following, it will search for emails relatedto releases topics on openstack-discuss during the entire life ofthis mailing list (between the creation date in November 2018 tothe current date):

$ tools/search_emails.py

To looking for emails related to release and filtered between 2 dates:

$ tools/search_emails.py --starting-date 2020-04-01 --ending-date 2020-4-1

To looking for emails related to release and filtered by authors:

$ tools/search_emails.py --authors "Herve Beraud" "Sean McGinnis"

To looking for emails related to release between 2 dates and sent by authors:

$ tools/search_emails.py --starting-date 2020-04-01 --ending-date 2020-4-1 --authors "Herve Beraud" "Sean McGinnis"

To looking for emails related to release FFE since August 2020:

::

$ tools/search_emails.py –topic “.?[release].*FFE.*” –starting-date 2020-8-1

To looking for all the release countdown emails sent during victoria:

$ tools/search_emails.py --topic ".?\[release\] Release countdown.*" --starting-date 2020-5-1

By default will be executed onhttp://lists.openstack.org/pipermail/openstack-discussbut you can change the url to execute research on different mailing list.

In the following example we looking for all release jobs who failed foropenstack/watcher*:

$ tools/search_emails.py --topic ".?openstack/watcher.*" --mailing-list http://lists.openstack.org/pipermail/release-job-failures/ --starting-date 2016-6-1

Notice that by default we search onhttp://lists.openstack.org/pipermail/openstack-discussand this mailing list was created in November 2018 so the--starting-dateis initialized to this date by default, but the date can’t be before thisdefault date except if you search on a different mailing list and if you alsooverride it by passing params with--mailing-list.

For more usage and examples:

::

$ tools/search_emails.py -h

tools/list_eol_stale_branches.sh

A script to detect deliverables who have EOL stale branches and optionallydelete them.

Example:

tools/list_eol_stale_branches.sh

Another example with predefining the gerrit user to be used for branch deletion:

GERRIT_USER=<gerrit_user_name>tools/list_eol_stale_branches.sh

The reason behind this tool is that since the Extended Maintenance modelhave been introduced we stopped removing automatically End of Life (EOL)branches. This tool aims to list projects with branches that have beendeclaredEndofLife (that is, tagged with$series-eol), but thecorresponding series branch still exists. The script also offers to deletethese stale branches.

Note

Only release managers have the access rights to delete branches.

tools/list_eom_stale_branches.sh

A script to detect deliverables that have EOM stale branches and optionallydelete them.

Example:

tools/list_eom_stale_branches.sh<series>

With the new process changes maintained branches don’t move intoExtended Maintenance anymore, but into Unmaintained phase. The HEAD ofthe stable branches are tagged with <series>-eom tag and a branchcalled unmaintained/<series> is cut from that tag. The stable/<series>branch needs to be deleted afterwards.This script list these stable/branches and offers to delete them.

Note

Only release managers have the access rights to delete branches.

tools/abandon_patches_on_branch.sh

A script to help abandoning open patches when a given branch transitionstoUnmaintained orEndofLife and all patches on stable/<series>branch needs to be abandoned in order to be able to delete that branch.

Example:

tools/abandon_patches_on_branch.sh yoga $(list-deliverables --series yoga)

tools/list_unbranched_projects.sh

A script to detect deliverables who haven’t been branched during previousseries.

Example:

tools/list_unbranched_projects.sh

This tooling aim to avoid to miss branching. This is a side effect ofthe trailing projects, each series some of them are missed and remainunbranched. We faced similar use case previously and that led us toissues during releasing on stable branches.

tools/membership_freeze_test.py

A script to test for new deliverables in governance that werenever under release management and therefore escape any form ofrelease management tracking.

Those need to be checked around milestone-2 (before MembershipFreeze)so that we create deliverable files for them if they are to be part ofthe final release.

Example:

To check for Stein release:

tox-emembership_freeze_test--stein~/branches/governance/reference/projects.yaml

This script generate can generate a project url and append it to each results foundsimply by adding the flag–url to your command.

By default the generated urls use the official git repository(https://git.openstack.org) but you can use another one like github or yourspecific dist git url by adding the option–distgit <base-url> to your command.

Example:

tox-emembership_freeze_test--stein~/branches/governance/reference/projects.yaml--url--distgithttps://github.com/

propose-final-releases

Command to edit the deliverable files in a releases repository topropose final releases. The command modifies files in an existing copyof the repository and does not invoke git at all, so you need tocreate a branch before running it then review the output, commit thechanges, and push the patch to gerrit.

tox-evenv--propose-final-releasesnewtonocata

propose-library-branches

Command to edit the deliverable files in a releases repository topropose stable branches for libraries. The command modifies files inan existing copy of the repository and does not invoke git at all, soyou need to create a branch before running it then review the output,commit the changes, and push the patch to gerrit.

tox-evenv--propose-library-branchestox-evenv--propose-library-branchespike

tools/list_unreleased_changes.sh

Given a branch and one or more repositories, produce a list of thechanges in those repositories since their last tag on thatbranch. This is useful for deciding if a project needs to prepare arelease, and for predicting what the next release version should be bylooking at the commit logs.

./tools/list_unreleased_changes.shmasteropenstack/oslo.config

Print the list of changes inopenstack/oslo.config along themaster branch.

tools/list_unreleased_changes_for_team.sh

Given a series and team name, produce a list of the changes in therepositories for that team since their last tag on that branch. Thisis useful for deciding if a project needs to prepare a release, andfor predicting what the next release version should be by looking atthe commit logs.

./tools/list_unreleased_changes_for_team.shsteinoslo

Print the list of changes in Oslo team repositories along the branchfor the stein release (‘master’ before the release and ‘stable/stein’after the release).

tools/list_library_unreleased_changes.sh

Runs list_unreleased_changes.sh for all libraries managed by anyproject.

list_stable_unreleased_changes.sh

Runs list_unreleased_changes.sh with the given branch for allrepositories.

./list_stable_unreleased_changes.shstable/liberty

is equivalent to:

./list_unreleased_changes.sh stable/liberty $(list-deliverables --repos --series liberty)

list-eom-series

Command to list all series tagged as in end of maintenance (“Unmaintained”).

tox-evenv--list-eom-series
updated: 'Fri Feb 20 14:42:57 2026, commit 83afee89b'
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed underCreative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

Contents


[8]ページ先頭

©2009-2026 Movatter.jp