add terstdata generator
diff --git a/data_generator.py b/data_generator.py
new file mode 100644
index 0000000..3692389
--- /dev/null
+++ b/data_generator.py
@@ -0,0 +1,29 @@
+import sys
+import uuid
+import random
+import itertools
+
+from petname import Generate as pet_generate
+from storage_api import create_storage
+
+
+types = ["GA", "master"] + [pet_generate(2, '-') for _ in range(10)]
+random.shuffle(types)
+tp = itertools.cycle(types)
+
+sz = ["4k", "64k", "1m"]
+op_type = ["randread", "read", "randwrite", "write"]
+is_sync = ["s", "a"]
+
+storage = create_storage(sys.argv[1])
+
+for i in range(30):
+    row = {"build_id": pet_generate(2, " "),
+           "type": next(tp),
+           "iso_md5": uuid.uuid4().get_hex()}
+
+    for sz, op_type, is_sync in itertools.product(op_type, is_sync, sz):
+        row[" ".join([sz, op_type, is_sync])] = (random.random(),
+                                                 random.random() / 5)
+
+    storage.store(row)
diff --git a/fix_rally_subnets.sh b/fix_rally_subnets.sh
deleted file mode 100644
index b1073d4..0000000
--- a/fix_rally_subnets.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-
-port_ids=$(neutron port-list | tail -n+4 | head -n-1 | awk '{print $2}')
-
-for port_id in $port_ids; do
-	neutron port-delete $port_id
-done
-
-subnet_list=$(neutron subnet-list | grep rally | awk '{print $2}')
-
-for subnet_id in $subnet_id; do
-	neutron subnet-delete $subnet_id
-done
-
-net_ids=$(neutron net-list | grep rally | awk '{print $2}')
-
-for net_id in $net_ids; do
-	neutron net-delete $net_id
-done
diff --git a/storage_api.py b/storage_api.py
index a7e9cf2..8b3eeae 100644
--- a/storage_api.py
+++ b/storage_api.py
@@ -1,5 +1,5 @@
 from urlparse import urlparse
-from gspread import WorksheetNotFound, login
+# from gspread import WorksheetNotFound, login
 import json
 import os
 from config import ROW_COUNT, DOCUMENT_ID, WORK_SHEET
@@ -49,15 +49,15 @@
         }
 
 
-def create_storage(url, email, password):
-        u = urlparse(url)
+def create_storage(url, email=None, password=None):
+    u = urlparse(url)
 
-        if u.scheme == 'file':
-            storage = DiskStorage(u.path)
-        else:
-            storage = GoogleDocsStorage(DOCUMENT_ID, WORK_SHEET, email, password)
+    if u.scheme == 'file':
+        storage = DiskStorage(u.path)
+    else:
+        storage = GoogleDocsStorage(DOCUMENT_ID, WORK_SHEET, email, password)
 
-        return storage
+    return storage
 
 
 class Storage(object):
@@ -149,7 +149,7 @@
                     m.build = row.pop("build_id")
                     m.build_type = row.pop("type")
                     m.md5 = row.pop("iso_md5")
-                    m.results = {k: row[k] for k in row.keys()}
+                    m.results = {k.split(" "): row[k] for k in row.keys()}
 
                     return m
         return None