69a073edbe
We have attic and stackforge projects all of which are now inactive. Because they are inactive we don't need to be caching these repos on every test slave image. Change-Id: I4df78c3d542758ce6159c195c1407f1d56f565a0
60 lines
2.2 KiB
Python
Executable File
60 lines
2.2 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
# Copyright (C) 2011-2013 OpenStack Foundation
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
# implied.
|
|
#
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
import os
|
|
import urllib2
|
|
import yaml
|
|
|
|
URL = ('https://git.openstack.org/cgit/openstack-infra/project-config/'
|
|
'plain/gerrit/projects.yaml')
|
|
|
|
TMP_HOOKS_PATH=os.environ['TMP_HOOKS_PATH']
|
|
PROJECTS_REPOS=os.path.join(TMP_HOOKS_PATH, 'source-repository-projects-yaml')
|
|
GIT_BASE=os.environ.get('GIT_BASE', 'git://git.openstack.org')
|
|
|
|
|
|
def main():
|
|
projects = [f['project'] for f in yaml.load(urllib2.urlopen(URL))]
|
|
with open(PROJECTS_REPOS, 'w') as projects_list:
|
|
for project in projects:
|
|
# Skip repos that are inactive
|
|
dirname = os.path.dirname(project)
|
|
if not ('attic' in dirname or dirname == 'stackforge'):
|
|
args = dict(
|
|
name=os.path.basename(project),
|
|
location=os.path.join('/opt/git', project),
|
|
url='%s/%s.git' % (GIT_BASE, project))
|
|
|
|
projects_list.write("%(name)s git %(location)s "
|
|
"%(url)s\n" % args)
|
|
# Clone openstack-infra/system-config again so that we can use it to
|
|
# build the image without interferring with the slave repo cache.
|
|
project = 'openstack-infra/system-config'
|
|
args = dict(
|
|
name='config_tmp',
|
|
location=os.path.join('/opt/build_git', project),
|
|
url=os.environ.get('CONFIG_SOURCE',
|
|
'%s/%s.git' % (GIT_BASE, project)),
|
|
ref=os.environ.get('CONFIG_REF', '*'))
|
|
projects_list.write(
|
|
"%(name)s git %(location)s %(url)s %(ref)s\n" % args)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|