79 lines
2.0 KiB
Python
Executable File
79 lines
2.0 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# vim: expandtab tabstop=4 shiftwidth=4 softtabstop=4
|
|
|
|
from datetime import datetime
|
|
from time import time
|
|
from reviewday.gerrit import reviews as gerrit_reviews
|
|
from reviewday.util import create_report
|
|
from reviewday.launchpad import LaunchPad
|
|
from reviewday.mergeprop import MergeProp
|
|
from reviewday.smokestack import SmokeStack
|
|
from optparse import OptionParser
|
|
|
|
optparser = OptionParser()
|
|
|
|
optparser.add_option('-o', '--out-dir', dest='out_dir',
|
|
help='set output directory [default = %default]',
|
|
default='out_report', type='string')
|
|
|
|
(options, args) = optparser.parse_args()
|
|
|
|
lp = LaunchPad()
|
|
smoker = SmokeStack('https://smokestack.openstack.org')
|
|
|
|
projects = {}
|
|
|
|
cur_timestamp = time()
|
|
|
|
PROJECTS = [
|
|
'ceilometer',
|
|
'cinder',
|
|
'diskimage-builder',
|
|
'glance',
|
|
'heat',
|
|
'horizon',
|
|
'identity-api',
|
|
'ironic',
|
|
'keystone',
|
|
'neutron',
|
|
'nova',
|
|
'os-apply-config',
|
|
'os-collect-config',
|
|
'os-refresh-config',
|
|
'python-ceilometerclient',
|
|
'python-cinderclient',
|
|
'python-glanceclient',
|
|
'python-heatclient',
|
|
'python-ironicclient',
|
|
'python-keystoneclient',
|
|
'python-neutronclient',
|
|
'python-novaclient',
|
|
'python-swiftclient',
|
|
'python-tuskarclient',
|
|
'swift',
|
|
'tempest',
|
|
'tripleo-heat-templates',
|
|
'tripleo-image-elements',
|
|
'tripleo-incubator',
|
|
'tuskar',
|
|
'tuskar-ui',
|
|
]
|
|
|
|
for project in PROJECTS:
|
|
if project not in projects:
|
|
projects[project] = []
|
|
for review in gerrit_reviews(project):
|
|
try:
|
|
mp = MergeProp(lp, smoker, review, cur_timestamp)
|
|
projects[project].append(mp)
|
|
except:
|
|
print 'Error creating merge prop %s' % review
|
|
raise
|
|
|
|
dts = str(datetime.utcnow())[0:19]
|
|
config_templates = smoker.config_templates()
|
|
name_space = {"projects": projects, "dts": dts,
|
|
"config_templates": config_templates}
|
|
out_dir = options.out_dir
|
|
create_report(out_dir, name_space)
|