report page table of images added
diff --git a/chart/charts.py b/chart/charts.py
index 1263a64..d1c7142 100644
--- a/chart/charts.py
+++ b/chart/charts.py
@@ -19,7 +19,7 @@
 
 
 def render_vertical_bar(title, legend, bars_data, bars_dev_top,
-                        bars_dev_bottom,
+                        bars_dev_bottom, file_name,
                         width=700, height=400,
                         scale_x=None, scale_y=None, label_x=None,
                         label_y=None, lines=()):
@@ -110,7 +110,7 @@
 
     bar.legend(*legend)
     bar.scale(*scale)
-    img_name = hashlib.md5(str(bar)).hexdigest() + ".png"
+    img_name = file_name + ".png"
     img_path = os.path.join(cfg_dict['charts_img_path'], img_name)
 
     if not os.path.exists(img_path):
diff --git a/report.py b/report.py
index c451010..aa1c356 100644
--- a/report.py
+++ b/report.py
@@ -4,7 +4,7 @@
 
 import formatters
 from chart import charts
-from utils import ssize_to_b
+from utils import ssize_to_b, parse_creds
 from statistic import med_dev
 from io_results_loader import filter_data
 from meta_info import total_lab_info, collect_lab_data
@@ -134,31 +134,36 @@
     return charts_url
 
 
-def render_html(charts_urls, dest, lab_description):
+def render_html(charts_urls, dest, lab_description, info):
     templ = open("report.html", 'r').read()
     body = "<a href='#lab_desc'>Lab description</a>" \
-           "<div><ol>{0}</ol></div>" \
+           "<ol>{0}</ol>" \
+           "<div>{1}</div>" \
            '<a name="lab_desc"></a>' \
-           "<div><ul>{1}</ul></div>"
-    li = "<li><img src='%s'></li>"
-    ol = []
+           "<div><ul>{2}</ul></div>"
+    table = "<table><tr><td>{0}</td><td>{1}</td></tr>" \
+            "<tr><td>{2}</td><td>{3}</td></tr></table>"
     ul = []
+    ol = []
+    li = '<li>{0} : {1}</li>'
+
+    for elem in info:
+        ol.append(li.format(elem.keys(), elem.values()))
 
     for key in lab_description:
         value = lab_description[key]
         ul.append("<li>{0} : {1}</li>".
                   format(key, value))
 
-    for chart in charts_urls:
-        ol.append(li % chart)
-
-    html = templ % {'body': body.format('\n'.join(ol),
-                                        '\n'.join(ul))}
+    charts_urls = ['<img src="{0}">'.format(url) for url in charts_urls]
+    html = templ % {'body':  body.format('\n'.join(ol), table.format(*charts_urls),
+                    '\n'.join(ul))
+    }
     open(dest, 'w').write(html)
 
 
 def io_chart(title, concurence, latv, iops_or_bw, iops_or_bw_dev,
-             legend):
+             legend, fname):
     bar_data, bar_dev = iops_or_bw, iops_or_bw_dev
     legend = [legend]
 
@@ -174,7 +179,7 @@
 
     latv = [lat / 1000 for lat in latv]
     ch = charts.render_vertical_bar(title, legend, [bar_data], [bar_dev_top],
-                                    [bar_dev_bottom],
+                                    [bar_dev_bottom], file_name=fname,
                                     scale_x=concurence,
                                     lines=[
                                         (latv, "msec", "rr", "lat"),
@@ -186,6 +191,9 @@
 
 def make_io_report(results, path, lab_url=None, creds=None):
     if lab_url is not None:
+        username, password, tenant_name = parse_creds(creds)
+        creds = {'username': username, 'password': password,
+                          "tenant_name": tenant_name}
         data = collect_lab_data(lab_url, creds)
         lab_info = total_lab_info(data)
     else:
@@ -198,16 +206,16 @@
         io_test_suite_res = test_suite_data['res']
 
         charts_url = []
+        info = []
 
         name_filters = [
-            # ('hdd_test_rws4k', ('concurence', 'lat', 'iops')),
-            # ('hdd_test_rrs4k', ('concurence', 'lat', 'iops')),
-            ('hdd_test_rrd4k', ('concurence', 'lat', 'iops')),
-            ('hdd_test_swd1m', ('concurence', 'lat', 'bw')),
-            ('hdd_test_srd1m', ('concurence', 'lat', 'bw')),
+            ('hdd_test_rrd4k', ('concurence', 'lat', 'iops'), 'rand_read_4k'),
+            ('hdd_test_swd1m', ('concurence', 'lat', 'bw'), 'seq_write_1m'),
+            ('hdd_test_srd1m', ('concurence', 'lat', 'bw'), 'seq_read_1m'),
+            ('hdd_test_rws4k', ('concurence', 'lat', 'bw'), 'rand_write_1m')
         ]
 
-        for name_filter, fields in name_filters:
+        for name_filter, fields, fname in name_filters:
             th_filter = filter_data(name_filter, fields)
 
             data = sorted(th_filter(io_test_suite_res.values()))
@@ -220,20 +228,19 @@
 
             url = io_chart(name_filter, concurence, latv, iops_or_bw_v,
                            iops_or_bw_dev_v,
-                           fields[2])
-
+                           fields[2], fname)
+            info.append(dict(zip(fields, (concurence, latv, iops_or_bw_v))))
             charts_url.append(url)
 
         if len(charts_url) != 0:
-            render_html(charts_url, path, lab_info)
+            render_html(charts_url, path, lab_info, info)
 
 
 def main(args):
     make_io_report(results=[('a', 'b')],
                    path=os.path.dirname(args[0]),
                    lab_url='http://172.16.52.112:8000',
-                   creds={'username': 'admin', 'password': 'admin',
-                          "tenant_name": 'admin'})
+                   creds='admin:admin@admin')
     return 0
 
 
diff --git a/results/perf-1-compute-hdd/charts/6fa7da0da5f789f40c0adc40fb125521.png b/results/perf-1-compute-hdd/charts/rand_read_4k.png
similarity index 100%
rename from results/perf-1-compute-hdd/charts/6fa7da0da5f789f40c0adc40fb125521.png
rename to results/perf-1-compute-hdd/charts/rand_read_4k.png
Binary files differ
diff --git a/results/perf-1-compute-hdd/charts/9cfbfff2077f35018f164fa9cb4cc9f7.png b/results/perf-1-compute-hdd/charts/seq_write_1m.png
similarity index 100%
rename from results/perf-1-compute-hdd/charts/9cfbfff2077f35018f164fa9cb4cc9f7.png
rename to results/perf-1-compute-hdd/charts/seq_write_1m.png
Binary files differ
diff --git a/run_test.py b/run_test.py
index 8086308..6465760 100755
--- a/run_test.py
+++ b/run_test.py
@@ -306,10 +306,10 @@
         key, config = group.items()[0]
 
         if 'start_test_nodes' == key:
-            params = config['vm_params']
+            params = config['openstack']['vm_params']
             os_nodes_ids = []
 
-            os_creds_type = config['creds']
+            os_creds_type = config['openstack']['creds']
             os_creds = get_os_credentials(cfg, ctx, os_creds_type)
 
             start_vms.nova_connect(**os_creds)
@@ -430,7 +430,9 @@
 def report_stage(cfg, ctx):
 
     html_rep_fname = cfg['html_report_file']
-    report.make_io_report(ctx.results, html_rep_fname)
+    fuel_url = cfg['clouds']['fuel']['url']
+    creds = cfg['clouds']['fuel']['creds']
+    report.make_io_report(ctx.results, html_rep_fname, fuel_url, creds=creds)
 
     logger.info("Html report were stored in " + html_rep_fname)
 
@@ -491,7 +493,7 @@
         stages = [
             discover_stage,
             log_nodes_statistic,
-            connect_stage,
+            # connect_stage,
             deploy_sensors_stage,
             run_tests_stage,
             store_raw_results_stage,