Set requirements branch in version-check.py
We use the stable branch of the requirements project. Also add an exception for the crane project, which is not managed by OpenStack releases. Make use of 'tarball_base' field to handle tarball renames. Change-Id: I05186d9a3e21615e6b49c62cea83bc4bde4702fe
This commit is contained in:
parent
8dfc0ae0d9
commit
83e8be4f05
@ -40,14 +40,10 @@ RELEASE_REPO = 'https://github.com/openstack/releases'
|
|||||||
TARGET = '.releases'
|
TARGET = '.releases'
|
||||||
|
|
||||||
SKIP_PROJECTS = {
|
SKIP_PROJECTS = {
|
||||||
|
'crane': 'Crane is not managed by openstack/releases project',
|
||||||
'gnocchi-base': 'Gnocchi is not managed by openstack/releases project',
|
'gnocchi-base': 'Gnocchi is not managed by openstack/releases project',
|
||||||
|
'monasca-thresh': 'Package not published in tarballs.openstack.org',
|
||||||
'rally': 'Rally is not managed by openstack/releases project',
|
'rally': 'Rally is not managed by openstack/releases project',
|
||||||
'nova-novncproxy': ('nova-novncproxy is not managed by'
|
|
||||||
' openstack/releases project'),
|
|
||||||
'nova-spicehtml5proxy': ('nova-spicehtml5proxy is not managed'
|
|
||||||
' by openstack/releases project'),
|
|
||||||
'openstack-base': 'There is no tag for requirements project',
|
|
||||||
'monasca-thresh': 'Package not published in tarballs.openstack.org'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RE_DEFAULT_BRANCH = re.compile('^defaultbranch=stable/(.*)')
|
RE_DEFAULT_BRANCH = re.compile('^defaultbranch=stable/(.*)')
|
||||||
@ -93,9 +89,20 @@ def load_all_info(openstack_release):
|
|||||||
latest_version = latest_release['version']
|
latest_version = latest_release['version']
|
||||||
for project in latest_release['projects']:
|
for project in latest_release['projects']:
|
||||||
project_name = project['repo'].split('/')[-1]
|
project_name = project['repo'].split('/')[-1]
|
||||||
projects[project_name] = latest_version
|
|
||||||
if 'tarball-base' in project:
|
if 'tarball-base' in project:
|
||||||
projects[project['tarball-base']] = latest_version
|
tarball_base = project['tarball-base']
|
||||||
|
elif 'repository-settings' in info:
|
||||||
|
try:
|
||||||
|
repo = project['repo']
|
||||||
|
repository_settings = info['repository-settings'][repo]
|
||||||
|
tarball_base = repository_settings['tarball-base']
|
||||||
|
except KeyError:
|
||||||
|
tarball_base = project_name
|
||||||
|
|
||||||
|
projects[project_name] = {'latest_version': latest_version,
|
||||||
|
'tarball_base': tarball_base}
|
||||||
|
|
||||||
return projects
|
return projects
|
||||||
|
|
||||||
|
|
||||||
@ -134,7 +141,7 @@ def main():
|
|||||||
independent_project = False
|
independent_project = False
|
||||||
value = config.SOURCES[key]
|
value = config.SOURCES[key]
|
||||||
if key in SKIP_PROJECTS:
|
if key in SKIP_PROJECTS:
|
||||||
LOG.info('%s is skiped: %s', key, SKIP_PROJECTS[key])
|
LOG.info('%s is skipped: %s', key, SKIP_PROJECTS[key])
|
||||||
continue
|
continue
|
||||||
# get project name from location
|
# get project name from location
|
||||||
location = value['location']
|
location = value['location']
|
||||||
@ -145,24 +152,34 @@ def main():
|
|||||||
else:
|
else:
|
||||||
raise ValueError('Can not parse "%s"' % filename)
|
raise ValueError('Can not parse "%s"' % filename)
|
||||||
|
|
||||||
latest_tag = projects.get(project_name, None)
|
if project_name == "requirements":
|
||||||
if not latest_tag:
|
# Use the stable branch for requirements.
|
||||||
latest_tag = independents_projects.get(project_name, None)
|
latest_tag = "stable-{}".format(conf.openstack_release)
|
||||||
if latest_tag:
|
tarball_base = project_name
|
||||||
independent_project = True
|
elif project_name in projects:
|
||||||
else:
|
latest_tag = projects[project_name]['latest_version']
|
||||||
LOG.warning('Can not find %s project release', project_name)
|
tarball_base = projects[project_name]['tarball_base']
|
||||||
continue
|
elif project_name in independents_projects:
|
||||||
|
latest_tag = independents_projects[project_name]['latest_version']
|
||||||
|
tarball_base = independents_projects[project_name]['tarball_base']
|
||||||
|
independent_project = True
|
||||||
|
else:
|
||||||
|
LOG.warning('Can not find %s project release',
|
||||||
|
project_name)
|
||||||
|
continue
|
||||||
|
|
||||||
if latest_tag and old_tag != latest_tag:
|
if latest_tag and old_tag != latest_tag:
|
||||||
if independent_project and not conf.include_independent:
|
if independent_project and not conf.include_independent:
|
||||||
LOG.warning('%s is an independent project, please update it'
|
LOG.warning('%s is an independent project, please update it'
|
||||||
' manually. Possible need upgrade from %s to %s',
|
' manually. Possible need upgrade from %s to %s',
|
||||||
project_name, old_tag, latest_tag)
|
project_name, old_tag, latest_tag)
|
||||||
continue
|
continue
|
||||||
LOG.info('Update %s from %s to %s', project_name, old_tag,
|
LOG.info('Update %s from %s to %s %s', project_name, old_tag,
|
||||||
latest_tag)
|
tarball_base, latest_tag)
|
||||||
old_str = '{}-{}'.format(project_name, old_tag)
|
# starting "'" to replace whole filenames not partial ones
|
||||||
new_str = '{}-{}'.format(project_name, latest_tag)
|
# so nova does not change blazar-nova
|
||||||
|
old_str = "'{}-{}".format(project_name, old_tag)
|
||||||
|
new_str = "'{}-{}".format(tarball_base, latest_tag)
|
||||||
config_py = config_py.replace(old_str, new_str)
|
config_py = config_py.replace(old_str, new_str)
|
||||||
|
|
||||||
if not conf.check:
|
if not conf.check:
|
||||||
|
Loading…
Reference in New Issue
Block a user