Commit Graph

127 Commits

Author SHA1 Message Date
Jeremy Stanley 39a82df080 This repository is now retired
The Release Management Team ceased using this months ago. Its
contents are replaced with a retirement notice so that potential
users will realize it is no longer maintained. Publicly announced
at:

http://lists.openstack.org/pipermail/openstack-dev/2018-June/131920.html

Change-Id: Ia30884174c43ef1c1afcc1f4a18b3c0051a89d8e
Depends-On: https://review.openstack.org/579185
2018-06-29 15:27:19 +00:00
Doug Hellmann 4a1c52a1ee handle reno 2.9.0 anchor references
Reno produces anchor references for sections automatically now, and
those don't have URIs set up so we want to ignore them. If we do have
another target that does have a URI we want to include that, so test
whether we have the URI before including the target info in the
output.

Change-Id: I84f1b67b3078662f72c09c0f69bd09a45a7fe83e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-04-25 15:04:11 -04:00
Doug Hellmann 535b4d398b handle unicode in release announcement messages
Encode the outgoing message to UTF-8 before passing it to smtplib so
that the library doesn't try to encode it as ASCII.

http://logs.openstack.org/f8/f8063bcfb2d07eaf8057ec901d67176ba497cfbb/release/python-neutronclient-announce-release/c92213c/console.html#_2017-07-25_11_15_03_774289

Change-Id: I9cd2d33aff8741678ed19e6def6d489ea34a9628
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-07-25 07:40:26 -04:00
Jenkins 17c9220d7f Merge "Using fixtures instead of deprecated mockpatch module" 2017-07-05 08:17:16 +00:00
Doug Hellmann 3425b3ee64 update semver module for python 3.5
Python 3 does not allow comparison between integers and strings. The
semver RulesTest class includes a case where the most recent tag is an
EOL name tag, and the comparison breaks under Python 3. This patch
modifies the comparison to skip over tags that can't be compared to only
look at numerical versions.

Depends-On: I9e56e1e5b0171f8ed4ae05c6aba36c4c733486fa
Change-Id: Id9ad068a279653ffb20c60d1752e41bb0e7bc5d1
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-06-07 20:31:03 +00:00
rajat29 09f39db48e Using fixtures instead of deprecated mockpatch module
This module mockpatch of oslotest[1] is deprecated since version 1.13
and may be removed in version 2.0. Use fixtures.Mock* classes instead[2]

[1]OpenStack Testing Framework and Utilities
[2]https://docs.openstack.org/developer/oslotest/api/oslotest.mockpatch.html#module-oslotest.mockpatch

Change-Id: I91a8593902241427296563813703009a232cf0e3
2017-05-16 13:52:28 +05:30
Doug Hellmann 287ac21f16 port release-notes command to python 3
Change-Id: Ia7414cc955c05c07ab7f86d5fb256445300c3358
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-04-27 11:40:23 -04:00
Doug Hellmann ffe14d7ed9 fix mail sending
Correct the logic related to parsing the server address so that the
default is not overwritten if there is no @ in the address.

Fix handling of a missing password by allowing an empty string to mean
no password was given.

Move the TO parsing out of the try/finally block so that errors in
parsing the message are not swallowed by errors when we quit a server
connection that wasn't opened properly.

Change-Id: I73a24a4d87c0f4a5aabd302d8a7d2884e5513c31
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-03-15 09:52:09 -04:00
Jenkins 84976ffdf3 Merge "Add support for mail servers that require a login" 2017-03-15 11:15:08 +00:00
Tony Breeds 8dab9bad19 Add support for mail servers that require a login
When running announce.sh from my local developer workstation I cannot
connect to lisst.openstack.org.  I know my ISP filters outbound traffic
to port TCP:25 but there may be additional reasons.

This chnage enhances the --server option to allow you to provide
username, password hostname and TCP port with which to contact a mail
server.

This is not a complete solution but it makes it much easier for me to
work locally if needed.

Change-Id: I1a0f03341d1962a30c0737b59d32e8e68c28644b
2017-03-08 17:26:16 +11:00
Jenkins e998d68086 Merge "remove latest-deliverable-versions command" 2017-03-06 16:46:24 +00:00
Jenkins 2804f43a4b Merge "remove ptl command" 2017-03-06 16:46:12 +00:00
Jenkins 0691972d48 Merge "remove branching scripts" 2017-03-06 16:45:19 +00:00
Jenkins 6266207553 Merge "move propose-final-releases command to releases repo" 2017-03-06 14:38:10 +00:00
Jenkins 3ae143651a Merge "remove list-repos command" 2017-03-06 14:38:04 +00:00
Doug Hellmann 9c72009874 update reno formatter invocation
Reno 2.1.0 had an API change. Update the release notes tool to use the
new API.

Change-Id: I23ce9a64ecd269e5b4ab9379a063067eb84d6460
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-03-01 12:33:59 -05:00
Doug Hellmann cac52d5704 remove latest-deliverable-versions command
This command was used to manually maintain the release dashboard, but we
no longer need to do that.

Change-Id: I1ac9457f44808d4bd1216e0dba125c8c19dbf23e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-02-08 16:02:37 -05:00
Doug Hellmann 30ba2ec5da remove ptl command
This command is no longer needed because the list-changes report for
patches to openstack/releases includes the information.

Change-Id: I7b1805279d615cba129c70614cd260adeda8ce25
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-02-08 15:54:44 -05:00
Doug Hellmann aa79878777 remove branching scripts
These scripts are in
openstack-infra/project-config/jenkins/scripts/release-tools now.

Change-Id: I43bb89145a0e29eccf6624335926a044b1ffe009
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-02-08 15:53:41 -05:00
Doug Hellmann 224ca14f26 move propose-final-releases command to releases repo
Change-Id: I7e9208eedc3fc6e433e7f5f5f0ab457365b93d3b
Depends-On: I628edccf8b9327d8dcebb3044a6b181728ba0d95
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-02-08 15:13:08 -05:00
Doug Hellmann e72c290e0f remove list-repos command
This command has been replaced with list-deliverables.

Change-Id: I8df5d631baef7ecaa5c9f325aa718e92dd1b8220
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-02-08 15:02:47 -05:00
Doug Hellmann d818b491ce skip reno when release-notes is only getting a list of changes
If all we want is the list of changes, such as when called from
list_unreleased_changes.sh, then do not try to scan with reno. The scan
will fail anyway, because HEAD isn't a tag and reno rejects it.

Change-Id: I681ac8612758c0cd2a3abb62b11c36191c83861c
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-01-23 13:53:50 -05:00
Doug Hellmann 5cb2a316de add release notes links to RC release announcements
Change-Id: I844fc881e81ea8cdfceeb5695ba6117859c618ab
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-01-13 15:16:58 -05:00
Doug Hellmann ff98250b3c rename --tarball-dir-name option
We're going to use the value of this option for more purposes, so change
the name to reflect that.

Change-Id: I10586095a2bc7c6654fcd309a5296fb006447eee
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-01-13 15:15:08 -05:00
Doug Hellmann 4356e234c1 wrap the whole statement about bugs in if/then
The instructions related to bug handling were not properly wrapped with
if/then so even if there was not bug url part of the instructions were
shown.

Change-Id: I9717c5c0da698f20861cf894cc6f28e39fe262cd
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-01-13 15:10:20 -05:00
Doug Hellmann 71d56f605e add option to specify a tarball directory
Some project names and tarball directories do not match. Add an option
to let the caller specify the proper name for the tarball location,
falling back to the name of the project when not given explicitly.

Change-Id: Icfc5ee2bc0538450a095c62d9ed34411ff2365bc
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-01-11 16:58:31 -05:00
Doug Hellmann 2c41de977a add release candidate announcement template
Use a simpler template that includes fewer details about changes and
simply encourages folks to review the candidate. This matches closely
the content we used for manually sent messages during Newton.

Change-Id: I4494403e764fc1046257e093f5ad62294d2d1a6e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-01-11 16:57:10 -05:00
Doug Hellmann cbc1b0bd12 move email destination handling logic into python
Move the logic for picking the destination for the message into the
Python code where it is easier to change so we can add a rule in a later
patchset.

Change-Id: I32c6da93055ff8968fa001e7cc73ffd25a0a369f
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-01-11 16:21:33 -05:00
Doug Hellmann c99f81423d adjust the emotions in the template
Not all of the adjectives we had in the emotion list are appropriate,
and some produce awkward phrasing when used in the structure "are $word
to". Adjust the emotion list to remove the items that fit poorly and
adjust the template and remaining items to use "We $emotion announce" as
the structure, allowing more variation in the form of emotion being
plugged in.

Change-Id: I976fc6cd4305edc8ea04629bd3e4d4e68ad6bbc7
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-01-05 10:31:15 -05:00
Doug Hellmann b9a73e1078 update release announcement script to work with reno 2.0.0
The API for interacting with reno directly changed to allow the use of a
configuration file, so we need to update how we invoke it.

Change-Id: I7e092034075e8017f90a42a91311952aaf9d3c52
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-12-21 15:50:00 -05:00
Jenkins 8b754f82be Merge "Handle non-python libraries in announce.sh" 2016-12-14 13:01:43 +00:00
Tony Breeds c913609e04 Handle non-python libraries in announce.sh
Some libraries are *NOT* python projects and as such do not have a
setup.py file.  This means that we don't generate announcement emails
for these projects.  A recent example is available at [1].

This change detects that situation and works with the information
available to ensure the release is announced.

[1] http://logs.openstack.org/bf/bf85b2cf8bfc4c2456f9666d1ceaed3cd0d34e32/release/puppet-tripleo-announce-release/a90a40c/console.html#_2016-11-15_04_33_50_485019

Change-Id: I5b475ea001e9a2f13fb413007f96bfd39c8ab439
2016-12-13 19:35:04 +11:00
Doug Hellmann 1bf3ac1c1d remove the old dashboard command
This command has been replaced in the openstack/releases repository.

Change-Id: I0823f42a5c57f41f3770a14b9052d4efcef5b2d1
Depends-On: Ic613d65ae3d143cc910fec201205f1f84fde761c
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-12-02 13:45:02 -05:00
Thierry Carrez 6fec33d6e8 Remove redundant information from subject
When the release announces were posted on the general -announce
list, subject lines contained "[new]" and "release" keywords to
make it clear what the announce was about. Now that they are
posted to a specific list, this information is redundant and
wastes precious space.

Change-Id: Iee60c7f0d7c87de4bafdcce90ff5aa25b60fe649
2016-11-17 10:00:59 +01:00
Tony Breeds 9717c8125a Add an argument to list-repos to include the team name
$ list-repos --tag stable:follows-policy | head -n 5
 openstack-dev/pbr
 openstack/automaton
 openstack/cinder
 openstack/debtcollector
 openstack/designate
 $ list-repos --tag stable:follows-policy --include-team | head -n 5
 oslo openstack-dev/pbr
 oslo openstack/automaton
 cinder openstack/cinder
 oslo openstack/debtcollector
 designate openstack/designate

This makes it possible to find the team the owns a repo that has a
particular tag.

Change-Id: I103280379f7869a13177e81022eae2948cad929c
2016-11-15 17:13:48 +11:00
Doug Hellmann 16d8794ce7 ensure all proposed versions include major.minor.patch values
In some cases the last release version was being parsed down to 2
places. Pad it out with an extra zero before trimming to ensure that we
always have three values in the version number.

Change-Id: I925647e7b53829d0f6015832bccdf84babd5a3d6
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-10-19 12:59:58 -04:00
Doug Hellmann 5179c1e565 ensure version numbers are always strings
Sometimes we end up with a version number that looks like a float and
the parser converts it. Turn those back into strings before doing string
searches on them.

Change-Id: I76d29795741c003c513d27a7492253809ad495d8
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-10-19 12:59:14 -04:00
Doug Hellmann cf38ff109d add a --cycle-based option to list-repos
Make it easier to get a list of the repositories for cycle-based
deliverables no matter their actual release model.

Change-Id: I3a48d0b95a2806b89c125738347f1c28fa913c84
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-10-17 15:26:45 -04:00
Jenkins d457914657 Merge "always provide a download link in the announce emails" 2016-10-07 15:40:46 +00:00
Jenkins 38d8530f93 Merge "ignore unrecognized inline directives" 2016-10-07 15:40:20 +00:00
Jenkins a1d1dd382d Merge "do not use locale version of admonition labels" 2016-10-07 15:39:02 +00:00
Jenkins c04b4a2b9a Merge "warn when we can't find the version and skip reno" 2016-10-07 15:38:12 +00:00
Jenkins 8e699127eb Merge "support non-ASCII characters in PTL names" 2016-10-06 19:36:23 +00:00
Doug Hellmann e2885f1421 always provide a download link in the announce emails
If the project is uploaded to PyPI, give that link. Otherwise give a
link to tarballs.openstack.org.

Clean up the phrasing for references to the links at the same time.

Change-Id: I751c5beeb5357d00516b065a4c2d1091a70c5e31
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-10-06 14:46:59 -04:00
Doug Hellmann 9c713109f3 ignore unrecognized inline directives
When we see a directive we do not understand, skip it instead of
reporting an error. This avoids embedding system error messages in the
output at the expense of sometimes leaking rst directives.

See the murano-dashboard 3.0.0 release announcement for an example of
the error this
addresses. http://lists.openstack.org/pipermail/openstack-announce/2016-October/001748.html

Change-Id: I28dd334b7d326e13e7aaf7cd9c0a160ae1e9fa09
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-10-06 12:58:47 -04:00
Doug Hellmann 58c61a7fcb do not use locale version of admonition labels
The admonition labels from the Sphinx code base are translated, but we
don't initialize the translation machinery when we convert the release
notes to text because we only publish the original text version. The
labels default to capitalized versions, so just use title() to produce
something similar without going through the un-initialized locale code.

This fixes the traceback we saw when publishing the newton release
announcement for nova:
http://logs.openstack.org/ad/ad68ee297842d142749877ccc66a6b677b576279/release/nova-announce-release/b6ca7ae/console.html

Change-Id: I29906fd0af2a507e3131923a659b7448d293dbc7
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-10-06 12:32:33 -04:00
Doug Hellmann 7730b76a96 warn when we can't find the version and skip reno
If the wrong branch is checked out or if the version requested doesn't
exist the reno scan fails. When that happens, instead of silently
skipping reno notes, emit a warning.

Change-Id: Ifcd05a81185a3ab970584a1434c215e12c65e1ab
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-10-06 12:14:47 -04:00
Tony Breeds bbc45826e9 Make the PTL tool more human friendly
Currently the PTL command has 2 issues that make it slightly hard to use.
1. $ ptl qa
   No official team 'qa'
   Traceback (most recent call last):
     File ".tox/venv/bin/ptl", line 10, in <module>
       sys.exit(main())
     File "/Users/tony8129/projects/openstack/openstack-infra/release-tools/releasetools/cmds/ptl.py", line 110, in main
       ptl = team['ptl']
   KeyError: 'ptl'
  Even though we know there isn't a team entry we still try to read the ptl key
2. $ ptl "stable branch maintenance"
   usage: ptl [-h] team
   ptl: error: unrecognized arguments: branch maintenance
   There appears to be no way to pass a team name with a space.

This change:
1. Only prints the team data if it seems valid
2. Handles teams with embed spaces
3. Adds to aliases for teams as I really want to look up 'qa' rather than
   'quality assurance'

Change-Id: Id5d5b4ed633df4c84b0cb96f52269a82ade2b193
2016-10-06 14:40:21 +11:00
Tony Breeds a57b2c67f4 Tidy up ptl command if an invalid team is specified
If you specify an invalid team name you get a KeyError exception:
 $ tox -evenv -- ptl qa
 <snip>
 venv runtests: commands[0] | ptl qa
 No official team 'qa'
 Traceback (most recent call last):
   File ".tox/venv/bin/ptl", line 10, in <module>
     sys.exit(main())
   File "/Users/tony8129/projects/openstack/openstack-infra/release-tools/releasetools/cmds/ptl.py", line 110, in main
     ptl = team['ptl']
 KeyError: 'ptl'

Fix that.

Change-Id: I000182646e92e523c796bb1537e7589238682de3
2016-10-06 14:39:58 +11:00
Doug Hellmann cb40ee0b44 support non-ASCII characters in PTL names
Use a unicode string for the template to support PTL names that are not
all ASCII.

Change-Id: Ib444d65be1972c0c11e16e4a3b2efec02c24c66d
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-10-05 12:36:26 -04:00