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