code review
diff --git a/TODO b/TODO
deleted file mode 100644
index 9f383d3..0000000
--- a/TODO
+++ /dev/null
@@ -1,15 +0,0 @@
-выкинуть все упоминания о googledoc
-нам нужен backlog
-я буду productowner и буду вносить тикеты в борду
-
-код сайты вынести из __init__.py в отдельный файл
-перенести конфиг линта из тестов
-пройти все линтом
-move ssize_to_kb to utils
-unittests
-перейти на нормальное логирование
-
-zmq/tcp client should immitate ssh
-rpyc???
-детектирует vm по локальным ip, которые получаем из nova
-roadmap написать
\ No newline at end of file
diff --git a/itest.py b/itest.py
index 178acce..018a11b 100644
--- a/itest.py
+++ b/itest.py
@@ -74,8 +74,8 @@
if line.strip() != "":
self.on_result_cb(json.loads(line))
except Exception as err:
- msg = "Error during postprocessing results: {0!r}".format(err)
- raise RuntimeError(msg)
+ msg_templ = "Error during postprocessing results: {0!r}"
+ raise RuntimeError(msg_templ.format(err.message))
else:
templ = "Command {0!r} failed with code {1}. Error output is:\n{2}"
logger.error(templ.format(cmd, code, err))
diff --git a/scripts/data_extractor.py b/scripts/data_extractor.py
index 1f30b77..77b6478 100644
--- a/scripts/data_extractor.py
+++ b/scripts/data_extractor.py
@@ -10,17 +10,18 @@
create_db_sql_templ = """
-CREATE TABLE build (id integer primary key,
- build text,
- type text,
- md5 text);
+# build - param_0
+# lab - param_1
+# operation - param_2
+# sync_type - param_3 (sync, direct, sync+direct, free)
+# block_size - param_4
+# concurrence - param_5
+# ....
-CREATE TABLE params_combination (id integer primary key, {params});
+CREATE TABLE params_combination (id integer primary key, params_X_val text);
CREATE TABLE param (id integer primary key, name text, type text, descr text);
-CREATE TABLE lab (id integer primary key, name text, descr text);
-
CREATE TABLE result (build_id integer,
time datetime,
lab_id integer,
diff --git a/web_app/__init__.py b/web_app/__init__.py
index 01c3dba..eecb577 100644
--- a/web_app/__init__.py
+++ b/web_app/__init__.py
@@ -1,3 +1,5 @@
+# <koder>: order imports in usual way
+
from urlparse import urlparse
from flask import Flask, render_template, url_for, request, g, make_response
from flask_bootstrap import Bootstrap
@@ -23,6 +25,7 @@
def total_lab_info(data):
+ # <koder>: give 'd' meaningful name
d = {}
d['nodes_count'] = len(data['nodes'])
d['total_memory'] = 0
@@ -51,6 +54,7 @@
result = {}
for node in lab_info:
+ # <koder>: give p,i,d,... vars meaningful names
d = {}
d['name'] = node['name']
p = []
@@ -118,6 +122,7 @@
table = [[]]
builds = collect_builds()
+ # <koder>: rename
l = filter(lambda x: x['name'] == test_name, builds)
if l[0]['type'] == 'GA':
@@ -127,18 +132,17 @@
builds = l
results = {}
+ # <koder>: magik ip? fixme
meta = {"__meta__": "http://172.16.52.112:8000/api/nodes"}
data = collect_lab_data(meta)
lab_meta = total_lab_info(data)
for build in builds:
+ # <koder>: don't use name 'type'
type = build['type']
- m = create_measurement(build)
- results[type] = m
+ results[type] = create_measurement(build)
- bars = build_vertical_bar(results)
- lines = build_lines_chart(results)
- urls = bars + lines
+ urls = build_vertical_bar(results) + build_lines_chart(results)
urls = [url_for("get_image", image_name=os.path.basename(url)) if not url.startswith('http') else url for url in urls]
@@ -154,6 +158,8 @@
for header in header_keys:
if isinstance(test[header], list):
+ # <koder>: make a named constant from unichr(0x00B1)
+ # <koder>: use format in this line
row.append(str(test[header][0]) + unichr(0x00B1) + str(test[header][1]))
else:
row.append(test[header])
@@ -225,7 +231,7 @@
merge_builds(res, test)
with open(TEST_PATH + '/' + 'storage' + ".json", 'w+') as f:
- f.write(json.dumps(builds))
+ f.write(json.dumps(builds))
return "Created", 201
@@ -249,4 +255,4 @@
logger = getLogger("logger")
app.logger.setLevel(INFO)
app.logger.addHandler(logger)
- app.run(host='0.0.0.0', debug=True)
\ No newline at end of file
+ app.run(host='0.0.0.0', debug=True)
diff --git a/web_app/keystone.py b/web_app/keystone.py
index 0d2c5f3..38f49e0 100644
--- a/web_app/keystone.py
+++ b/web_app/keystone.py
@@ -4,6 +4,7 @@
from keystoneclient.v2_0 import Client as keystoneclient
from keystoneclient import exceptions
+
class Urllib2HTTP(object):
"""
class for making HTTP requests