Quit smoking.

I stopped smoking in Hong Kong... so I think it
should be safe to remove this for now. If I decide
to pick up the habit again I can always add this
back in.

Change-Id: Ibc0d533aa295ba9a26c61995d63610cc53a2b11e
This commit is contained in:
Dan Prince 2014-04-08 13:39:28 -04:00
parent 4b7c228cbd
commit ab41e2fc7e
5 changed files with 4 additions and 85 deletions

View File

@ -1,6 +1,6 @@
# ReviewDay
HTML report generator for OpenStack code reviews. Launchpad meets SmokeStack and Gerrit.
HTML report generator for OpenStack code reviews. Launchpad meets Gerrit.
Inspired by 'reviewlist' scripts written by Thierry Carez.

View File

@ -7,7 +7,6 @@ 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()
@ -19,7 +18,6 @@ optparser.add_option('-o', '--out-dir', dest='out_dir',
(options, args) = optparser.parse_args()
lp = LaunchPad()
smoker = SmokeStack('https://smokestack.openstack.org')
projects = {}
@ -64,15 +62,13 @@ for project in PROJECTS:
projects[project] = []
for review in gerrit_reviews(project):
try:
mp = MergeProp(lp, smoker, review, cur_timestamp)
mp = MergeProp(lp, 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}
name_space = {"projects": projects, "dts": dts}
out_dir = options.out_dir
create_report(out_dir, name_space)

View File

@ -52,7 +52,7 @@ class MergeProp(object):
score = score + days_old_score
return (cause, reason, score)
def __init__(self, lp, smoker, review, cur_timestamp):
def __init__(self, lp, review, cur_timestamp):
self.owner_name = review['owner']['name']
self.url = '%s/#change,%s' % tuple(review['url'].rsplit('/', 1))
self.subject = review['subject']
@ -66,7 +66,6 @@ class MergeProp(object):
self.revisionCreatedOn = review['currentPatchSet']['createdOn']
self.status = review['status']
self.number = review['number']
self.jobs = smoker.jobs(self.revision[:7])
self.feedback = []
self.lowest_feedback = None

View File

@ -64,11 +64,6 @@
<th><a href="#" class="sortheader" title="Feedback"
onclick="ts_resortTable(this); return false;">F<img
class="sortarrow" src="arrowBlank" height="6" width="9"/></a></th>
<th><a href="#" class="sortheader"
onclick="ts_resortTable(this); return false;">SmokeStack Test Results<img
class="sortarrow" src="arrowBlank" height="6" width="9"/></a></th>
</tr>
</thead>
<tbody>
@ -100,19 +95,6 @@
<td>
<a title="$helper.review_feedback($mp)">$helper.display_feedback($mp)</a>
</td>
<td>
#for $cloudcue_data in $helper.all_job_data($mp.jobs, "job_puppet_cloudcue")
#set $config_template_name = $helper.config_template_name($cloudcue_data['config_template_id'], $config_templates)
<a href="https://smokestack.openstack.org/?go=/jobs/$cloudcue_data['id']" title="$cloudcue_data['msg']">$helper.fail_status($cloudcue_data, $config_template_name)</a>&nbsp;
#end for
#set $xenserver_data = $helper.job_data_for_type($mp.jobs, "job_puppet_xen")
#if $xenserver_data
<a href="https://smokestack.openstack.org/?go=/jobs/$xenserver_data['id']" title="$xenserver_data['msg']">$helper.fail_status($xenserver_data, 'XenServer')</a>&nbsp;
#end if
</td>
</tr>
#end for

View File

@ -1,58 +0,0 @@
import json
import httplib2
class SmokeStack(object):
def __init__(self, url):
self._jobs = None
self._config_templates = None
self.url = url
def jobs(self, git_hash=None):
if not self._jobs:
h = httplib2.Http(disable_ssl_certificate_validation=True)
jobs_url = self.url + '/jobs.json?limit=99999'
resp, content = h.request(jobs_url, "GET")
self._jobs = json.loads(content)
if git_hash:
jobs_with_hash = []
for job in self._jobs:
for job_type, data in job.iteritems():
if data['nova_revision'] and \
data['nova_revision'][:7] == git_hash:
jobs_with_hash.append(job)
if data['glance_revision'] and \
data['glance_revision'][:7] == git_hash:
jobs_with_hash.append(job)
if data['keystone_revision'] and \
data['keystone_revision'][:7] == git_hash:
jobs_with_hash.append(job)
if data['swift_revision'] and \
data['swift_revision'][:7] == git_hash:
jobs_with_hash.append(job)
if data['cinder_revision'] and \
data['cinder_revision'][:7] == git_hash:
jobs_with_hash.append(job)
if data['neutron_revision'] and \
data['neutron_revision'][:7] == git_hash:
jobs_with_hash.append(job)
if data['ceilometer_revision'] and \
data['ceilometer_revision'][:7] == git_hash:
jobs_with_hash.append(job)
if data['heat_revision'] and \
data['heat_revision'][:7] == git_hash:
jobs_with_hash.append(job)
return jobs_with_hash
else:
return self._jobs
def config_templates(self):
if not self._config_templates:
h = httplib2.Http(disable_ssl_certificate_validation=True)
ct_url = self.url + '/config_templates.json'
resp, content = h.request(ct_url, "GET")
self._config_templates = {}
for ct in json.loads(content):
self._config_templates[ct['id']] = ct['name']
return self._config_templates